matlab 求解方程组

Ral=input('输入:Ral=');
Ralp=input('输入:Ralp=');
Rald=input('输入:Rald=');

Rbl=input('输入:Rbl=');
Rblp=input('输入:Rblp=');
Rbld=input('输入:Rblp=');
x1=input('输入:x1=');
x2=input('输入:x2=');

[Rsp,Rsd]=solve('Ral*(1+cos(x1))=2(sqrt(Ralp*Rsp)+sqrt(Rald*Rsd))', 'Rbl*(1+cos(x2))=2(sqrt(Rblp*Rsp)+sqrt(Rbld*Rsd))')

把输入的数付给变量后带入后面的方程求解,求改一下程序 直接求的数值解

> syms Ral Ralp Rald Rbl Rblp Rbld x1 x2 Rsd Rsp
Ral=input('输入:Ral=');
Ralp=input('输入:Ralp=');
Rald=input('输入:Rald=');

Rbl=input('输入:Rbl=');
Rblp=input('输入:Rblp=');
Rbld=input('输入:Rblp=');
x1=input('输入:x1=');
x2=input('输入:x2=');
f1=Ral*(1+cos(x1))-2*(sqrt(Ralp*Rsp)+sqrt(Rald*Rsd))
f2=Rbl*(1+cos(x2))-2*(sqrt(Rblp*Rsp)+sqrt(Rbld*Rsd))
f1=subs(f1);
f2=subs(f2);
[Rsp,Rsd]=solve(f1,f2,'Rsp','Rsd')
vpa([Rsp Rsd])

>>
输入:Ral=1
输入:Ralp=2
输入:Rald=3
输入:Rbl=4
输入:Rblp=5
输入:Rblp=6
输入:x1=1
输入:x2=2

f1 =

3468452445372835/2251799813685248 - 2*2^(1/2)*Rsp^(1/2) - 2*3^(1/2)*Rsd^(1/2)

f2 =

2629440889365375/1125899906842624 - 2*5^(1/2)*Rsp^(1/2) - 2*6^(1/2)*Rsd^(1/2)

Rsp =

(36480362730730628044313658352500*2^(1/2)*5^(1/2) - 115462486954396588805172770811125)/(40564819207303340847894502572032*2^(1/2)*3^(1/2)*5^(1/2)*6^(1/2) - 547625059298595101446575784722432)

Rsd =

(129290405735729737306713268592375*2^(1/2)*3^(1/2) - 91200906826826570110784145881250*2^(1/2)*6^(1/2) + 72960725461461256088627316705000*3^(1/2)*5^(1/2) - 51716162294291894922685307436950*5^(1/2)*6^(1/2))/(862002408155195993017758179655680*2^(1/2)*3^(1/2) - 385365782469381738054997774434304*5^(1/2)*6^(1/2))
ans =

[ 0.02991856464386516948288947483816, 0.11071270103418849040958933912507]
温馨提示:答案为网友推荐,仅供参考
相似回答