| 查看: 635 | 回复: 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矩阵改变,进而出现不收敛的情况。 因此特来此求助,希望有高手能告知妥善的解决方法,不胜感激。 |
» 猜你喜欢
咱们一起用铁证分析2026国家社科基金中标与否
已经有27人回复
为什么余额宝的年化利率越来越低?主要原因有哪些?
已经有3人回复
2027广东省杰青
已经有9人回复
朋友圈看到的
已经有5人回复
欢迎发来filecode的Mz6后的代码验证其规律
已经有110人回复
明天放榜?
已经有5人回复
时间戳变了,能看出什么问题?
已经有11人回复
重要消息,中午系统在维护
已经有10人回复
投稿咨询
已经有6人回复
时间戳又变了8-15
已经有26人回复










回复此楼