大佬们帮忙看看这个四元方程为什么解不出来:
eq1=sym('a/(pi/8*(a-b)^3*b+pi/8*(a-2*b-c)^3*c+pi/8*(a-2*b-2*c-0.02)^3*0.02))-645454.5455/(285551.776+50948.722*(1-a/5.8)+74796.986*(1-(a/5.8)^2))==0');
eq2=sym('a/100+0.00635-b==0');
eq3=sym('(a-2*b-((a-2*b)^4-64*d/pi)^0.25)/2-c==0');
eq4=sym('6.087*(4.772-pi/8*(a-b)^3*b-pi/8*(a-2*b-2*c-0.02)^3*0.02)-d==0');
S=vpasolve(eq1,eq2,eq3,eq4);
a=S.a
b=S.b
c=S.c
d=S.d

 採用された回答

0 投票

有数值解的,只是Matlab现有的方程求解函数(vpasolve, fsolve等)弱了点,下面是1stOpt计算结果,非常容易:
代码:
Function
a/(pi/8*(a-b)^3*b+pi/8*(a-2*b-c)^3*c+pi/8*(a-2*b-2*c-0.02)^3*0.02)-645454.5455/(285551.776+50948.722*(1-a/5.8)+74796.986*(1-(a/5.8)^2))=0;
a/100+0.00635-b=0;
(a-2*b-((a-2*b)^4-64*d/pi)^0.25)/2-c=0;
6.087*(4.772-pi/8*(a-b)^3*b-pi/8*(a-2*b-2*c-0.02)^3*0.02)-d=0;
结果:
a: 5.52094929269361
b: 0.0615594929269876
c: -0.0425485441515863
d: -2.69065852745378

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File Exchange数值积分和微分方程 についてさらに検索

タグ

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!