解非线性方程组收敛不了怎么解决。
function x=maafun1format long
x0 = ;
options=optimset('MaxFunEvals',200000,'MaxIter',600000);
= fsolve(@f,x0,options) ;
function F=f(x)
k=5000
ga=19475
ei=415019052
p=20000
h=172-20000/k
ae=0
ea=200000*796.497
a=(p*(p+ga)/ei/ga)^0.5
b=ga/(ga+p)
c=1000
hc=2
F =[k*x(2)-ea*(((h-ae-x(2))^2+(x(1))^2)^0.5-h)/h*(1/(1+(x(3))^2))^0.5;
x(1)-(h-ae-x(2))*x(3);
(x(4)*(1-cos(a*h))-c*h)/p+(p*(c-k*x(2)*x(3))+ga*c)*sin(a*h)/(ga*a*p)-x(1);
(c*cos(a*h)/p+a*b*x(5)*sin(a*h)/p-c/p)-x(7);
c*cos(a*h)/p+(k*x(2)*x(3)*(1-cos(a*h))*p-(ga+p)*c+a*ga*x(4)*sin(a*h))/(ga+p)/p-x(7);
-x(5)*cos(a*h)/p+c*sin(a*h)/a/b/p+x(5)/p-c*h/p-x(6);
x(4)+x(5)-c*(h+hc+h)-p*x(8);
x(1)+x(6)+x(7)*hc-x(8)]
解一个多元非线性方程组 'MaxFunEvals',200000,'MaxIter',600000迭代次数已经取得非常大了,但是还是收敛不了。我这方程检查过很多遍不会错的。请问要怎么解决。希望高手给予帮助,谢谢。
结果如下:F =
-0.00196998854290
-0.11934246867301
2.67324300248162
-0.04637127539383
-0.04497784503437
2.38019764407663
-0.01351242000237
14.04077335942650
Maximum number of function evaluations reached:
increase options.MaxFunEvals.
ans =
1.0e+005 *
-0.00013232140533
0.00000519156024
-0.00000078294316
-2.46425742461584
-2.75264386385792
-0.00015561707175
-0.00000074942350
-0.00042984506407 1.以前没有相关经验, 又没太多时间去试, 抱歉
2.大约瞄了下LZ的主题, 好像都是类似的东西
3.感觉LZ没把相关的式子/背景列出, 可能有经验的人较不愿意出手 回复 2 # ChaChing 的帖子
式子背景较为复杂,一时半会也说不清。是一个力学问题
就是根据本构关系,几何关系,平衡关系。得出来的。
其中的3,4,5,6式是由微分方程解出来的。已验证过不会有错。
帮我想想看还有什么办法
LS很热心,表示感谢{:{51}:} 用1stOpt得到的一组结果:
x1 -0.541506717377644
x2 337.780291226606
x3 0.00318946358946136
x4 468459.791578956
x5 1080718.99003213
x6 60.6845552283401
x7 0.207945340129349
x8 60.5589390805543
回复 4 # dingd 的帖子
估计是有两组解吧,条件没限制好 h-ae-x(2)这项必须是大于0的。
1stOpt 软件我以前下过,盗版的好像用不了。。。
{:{19}:}
页:
[1]