我在matlab中有这段代码
syms L1 L0 P1 P0 s
L = expand(s*(s^2+L1*s+L0)*(s-75)+1400*(P1*s+P0))
R = expand((s+75)*(s+150)^3)
我想解决P1
,P0
,L1
和L0
L = R
1400*P0 - 75*L0*s + 1400*P1*s + L0*s^2 - 75*L1*s^2 + L1*s^3 - 75*s^3 + s^4 = s^4 + 525*s^3 + 101250*s^2 + 8437500*s + 253125000
通过观察:
1400*P0 = 253125000
... ETC
如何在Matlab中从L=R
中提取联立方程并自动求解每个变量?
由于
答案 0 :(得分:0)
您可以将等式写为L-R=0
,然后执行C=coeffs(L-R,s)
之类的操作。然后,类似下面的代码可能会解决方程:
for i=1:length(C)
sol(i)=solve(C(i));
end
但可能很难弄清楚sol
的哪个元素指的是哪个变量。但是,如果你要在代码运行时查看输出,那么我应该很清楚。