我有这些微分方程式:
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;
此外,定义了除L
和R
之外的所有常量。 L
和R
是我需要计算的事情,这是两个带两个变量的线性方程的问题。我试过solve
:
[s1, s2] = solve(did==0, diq==0)
我得到了:
s1 = R*id - L*iq*ome
s2 = Ke*ome + R*iq + L*id*ome
那很好,但我需要该死的L
和R
。我试图评估这些,但当然只是用数字代替字母:
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.
我可以看到解决方案非常明显,让我在解决时重复did
和diq
中的内容:
did = 0.75*R - 42.74*L
diq = 47.26*L + 0.68*R + 0.62
显然R = 56.99*L
。那么我做错了什么?