大佬们帮忙看看这个四元方程为什么解不出来:
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

 Réponse acceptée

0 votes

有数值解的,只是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

Plus de réponses (0)

Catégories

En savoir plus sur 数值积分和微分方程 dans Centre d'aide et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!