24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1720  |  回复: 10
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

yuwei3601

铁虫 (小有名气)

[求助] 非线性静力强度问题采用增量迭代法编程思路?已有1人参与

Incremental iterative procedure is to be used.
1. That is loads are to be incremented in small size P=P+deltaP. ( for example, P=P=0.01 )
2. At each load the equations are solved till it satisfies the convergence criteria set.
3.Once it achieved load is incremented and process is repeated.
第一个荷载步(J=1)对应方程组的系数矩阵不能用通用系数矩阵表示,
J大于等于2时,方程组的系数矩阵可用通用系数矩阵表示。荷载P=10,delta_P=0.01为荷载步
其Matlab编程思路是这样吗?在具体的每一个荷载步下,方程组是一个线性方程组,是不是也要采用迭代法求解呢?
P=0.01;
while err>1e-6
         {commands}
end

for P=0.02:10:0.01
     while err>1e-6
              {commands}
     end
end
请教高手指点!
回复此楼
多交流,提高自我解决问题的能力。
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

cob

木虫 (正式写手)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
yuwei3601: 金币+20, ★★★很有帮助 2015-09-28 22:42:57
每一步都是线性方程,就不用迭代了。直接用linearsolve解了就行了。可以从linearsolve输出error 或者定义error
2楼2015-09-28 19:33:59
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

cob

木虫 (正式写手)

引用回帖:
3楼: Originally posted by yuwei3601 at 2015-09-28 22:49:11
您说的是一种方法,就是荷载增量步很小的情况下,直接利用线性求解,不用迭代就能达到精度。
我还想再向您请教一下,如果每个荷载步下对应的方程组的系数矩阵是稀疏矩阵,那是不是需要采用迭代法,雅可比或高斯-赛 ...

matlab 自带解方程的fsolve,只要列出方程,即可求解。fsolve也是用的迭代法,可以通过参数选择合适的迭代法a。
如果想自己用高斯-赛德尔迭代,每一步迭代都要update雅可比。在这个帖子里,我给出了一个牛顿迭代(高斯-赛德尔迭代)的例子,可能有帮助 http://muchong.com/bbs/viewthread.php?tid=9277641&authorid=348545
我确实还是不太理解,如果每一步的方程都是线性的,为什么要用迭代法解线性方程。
4楼2015-09-29 00:05:16
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 yuwei3601 的主题更新
信息提示
请填处理意见