| 查看: 627 | 回复: 0 | ||
[求助]
使用matlab进行Newton-Raphson迭代是出现虚数的问题
|
|
首先说明,我是利用牛顿迭代法求解非线性方程组。所涉及的关键代码如下: sta_fir=Fa+F0-sum(sta_Kn.*deltan.^(1.5).*sina); sta_sec=Fr-sum(sta_Kn.*deltan.^(1.5).*(cos(phai)).*cosa); sta_thir=M-dm/2*sum(sta_Kn.*deltan.^(1.5).*cos(phai).*sina); static=[sta_fir;sta_sec;sta_thir]; 。。。 findsym(static); findsym(sina); [gen,n]=Newtonraphson(static,x0); 但是在实际运行的时候因为方程组中1.5次方的缘故会导致迭代出现负数,产生一系列后果。 我在调试中尝试过将方程在牛顿迭代函数中重新定义并添加判断来消除负数,但是这样又会导致原方程组Jacobi矩阵改变,进而出现不收敛的情况。 因此特来此求助,希望有高手能告知妥善的解决方法,不胜感激。 |
» 猜你喜欢
这种情况还有戏吗
已经有11人回复
微信指数没变化,科研之友没阅读
已经有4人回复
同事接到电话了,我却没有
已经有4人回复
准备明年的基金了
已经有5人回复
今年的WR进展到哪一步了?
已经有6人回复
时间戳他又来了
已经有11人回复
小木虫看见有人已经知道结果了
已经有15人回复
这个自发加氧反应的机理是什么?
已经有6人回复
J-J-W不为人知的一面
已经有18人回复
没消息就是被刷了呗
已经有13人回复











回复此楼