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