四元方程求解,vpasolve函数。

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

Accepted Answer

新锦江娱乐游戏官方网站【微8785092】
有数值解的,只是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

More Answers (0)

Categories

Find more on 数值积分和微分方程 in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!