用增量-迭代法解这种非线性方程组该怎么编程
我是一个新手,现在要对一组非线性方程组进行求解,用的是增量-迭代法,但是不太会用matlab里的编程命令,现将问题叙述如下,希望高手们帮一下,谢谢!用增量-迭代法解这个非线性方程组该怎么编程?
[K1]{U}+[K2(U)]{U}=R-P(U)
[K1]是弹性刚度矩阵,为已知的。
[K2(U)]是几何刚度矩阵,与未知位移有关。
R是加的荷载。
P(U)是节点应力,也是与未知位移有关。
整个计算过程的大概流程是这样的:
将总荷载分成N步。
加第一个荷载步时,假设[K2(U)] 里的U为0,求出一个线性方程组的位移解{U1} 。
加第二个荷载步,进入非线性方程组的迭代过程:
将{U1}代入[K2(U)]和P(U) ,求出一个位移解{U2},检验这个位移解是否符合收敛准则,不符合的话重新计算(即迭代过程),符合的话进入下一个加载步。
。。。。
直到所有荷载步加完。
我不熟悉matlab编程的一些函数语言,看到资料上说解非线性方程组有现有的命令,但是像这种增量-迭代的步骤该用什么命令去实现?