MATLAB求解三元一次方程组问题
MATLAB程序如下:
syms E o r t;
syms fn fm fF fE f
syms a B n;
Equ1='E*(1-a)=(fn-(f*B/(1-B))+fE)*(n*o)*(a+B*r+(1-a-B)*t^(1-o))';
Equ2='E*(1-B)*r=(fm+f+fE)*(n*o)*(a+B*r+(1-a-B)*t^(1-o))';
Equ3='E*(a+B)*t^(1-o)=(fF-f*B/(1-B))*(n*o)*(a+B*r+(1-a-B)*t^(1-o))';
[a,B,n] = solve(Equ1,Equ2,Equ3);
MATLAB报错Explicit solution could not be found.
求问各位大神该怎么解决? 展开
syms E o r t;
syms fn fm fF fE f
syms a B n;
Equ1='E*(1-a)=(fn-(f*B/(1-B))+fE)*(n*o)*(a+B*r+(1-a-B)*t^(1-o))';
Equ2='E*(1-B)*r=(fm+f+fE)*(n*o)*(a+B*r+(1-a-B)*t^(1-o))';
Equ3='E*(a+B)*t^(1-o)=(fF-f*B/(1-B))*(n*o)*(a+B*r+(1-a-B)*t^(1-o))';
[a,B,n] = solve(Equ1,Equ2,Equ3,'a,B,n');
% 告诉Matlab未知变量顺序,不然他会以findsym来分配
a =
-(-fE*t^(1-o)*r+f*t^(1-o)+fE*t^(1-o)-fn*t^(1-o)*r+fm*t^(1-o)-fF*r)/(fE*t^(1-o)+f*t^(1-o)+fm*t^(1-o)+fn*t^(1-o)*r+t^(1-o)*f*r+fE*t^(1-o)*r+fF*r+f*r)
B =
(-fE^2*t^(1-o)*r+2*fE*t^(1-o)*f+2*fE*t^(1-o)*fm+fE^2*t^(1-o)+fm^2*t^(1-o)-f*r*fE*t^(1-o)-f*t^(1-o)*fn*r+2*f*t^(1-o)*fm-fE*t^(1-o)*fn*r+f^2*t^(1-o)-fE*t^(1-o)*r*fm-fm*t^(1-o)*fn*r+f*r^2*fF+fF*r*f+f*r*fm+f*r*fE-f*r^2*fE-f*r^2*fn+fF*r*fm+f^2*r+fE*fF*r)/(fm+f+fE)/(fE*t^(1-o)+f*t^(1-o)+fm*t^(1-o)+fn*t^(1-o)*r+t^(1-o)*f*r+fE*t^(1-o)*r+fF*r+f*r)
n =
E*r*(2*fE*t^(1-o)+2*f*t^(1-o)+2*fm*t^(1-o)+t^(1-o)*f*r+f*r)/(2*f*(t^(1-o))^2*fm+f^2*(t^(1-o))^2+fE^2*(t^(1-o))^2*r+2*f*r^2*fn*t^(1-o)-fF*r*fm*t^(1-o)-fE*t^(1-o)*fn*r-t^(1-o)*f*r^2*fF+fE*(t^(1-o))^2*r*fm+fm*(t^(1-o))^2*fn*r-f*t^(1-o)*fn*r+fE*t^(1-o)*r^2*fn-3*fE*t^(1-o)*r*fm+t^(1-o)*fm*r^2*fE+t^(1-o)*fm*r^2*fn-fm*t^(1-o)*fn*r+2*fE*(t^(1-o))^2*fm+2*f*r^2*fF+fF*r^2*fE+fF*r*f+f*r*fm-fF*r*f*t^(1-o)+fE*(t^(1-o))^2*fn*r+f*r*fE-2*f*r*fm*t^(1-o)+(t^(1-o))^2*f*r*fm+2*f*(t^(1-o))^2*fE*r+f*(t^(1-o))^2*fn*r+2*f*r^2*fE*t^(1-o)-f*r^2*fE-f*r^2*fn+fF*r*fm+fm*r^2*fF+fE^2*(t^(1-o))^2+fE^2*t^(1-o)+f^2*t^(1-o)+fm^2*t^(1-o)+fm^2*(t^(1-o))^2+f^2*r-fE*t^(1-o)*fF*r+2*fE*(t^(1-o))^2*f+fE*fF*r-f^2*r*t^(1-o)+(t^(1-o))^2*f^2*r+fE^2*t^(1-o)*r^2-t^(1-o)*fm^2*r-2*fE^2*t^(1-o)*r+2*fE*t^(1-o)*f+2*fE*t^(1-o)*fm+2*f*t^(1-o)*fm-3*f*r*fE*t^(1-o))/o