如何真正解决两个方程式?

时间:2015-03-19 22:56:46

标签: matlab

我有这些微分方程式:

did=(ud/L)-(R/L)*id+ome*iq;
diq=(uq/L)-(R/L)*iq-ome*id-(Ke/L)*ome;

我正在为0推导解决它们,因此它们实际上只是(在这种情况下):

did=(ud/L)-(R/L)*id+ome*iq==0;
diq=(uq/L)-(R/L)*iq-ome*id-(Ke/L)*ome==0;

此外,定义了除LR之外的所有常量。 LR是我需要计算的事情,这是两个带两个变量的线性方程的问题。我试过solve

[s1, s2] = solve(did==0, diq==0)

我得到了:

s1 = R*id - L*iq*ome
s2 = Ke*ome + R*iq + L*id*ome

那很好,但我需要该死的LR。我试图评估这些,但当然只是用数字代替字母:

vpa(eval(s1)) => 0.75222193787128188713353438288323*R - 42.742789035259963849300198345775*L
vpa(eval(s2)) => 47.263497892263737790545972489196*L + 0.68027262119737008649877907373593*R + 0.61575169132235296249550997796401

我还试图定义我想要解决的变量:

[s1, s2] = solve([did==0 diq==0], [L R])

但是没有:

Warning: Explicit solution could not be found. 

我可以看到解决方案非常明显,让我在解决时重复diddiq中的内容:

did = 0.75*R - 42.74*L
diq = 47.26*L + 0.68*R + 0.62

显然R = 56.99*L。那么我做错了什么?

0 个答案:

没有答案