有人知道为什么这段代码:
syms pi41 r C2 sigma mu C3 theta
pi41 = solve('(-2*pi41-2*r*C2+3*(sigma^2-2*mu)/sigma*C3)*theta^2','pi41')
有这样的错误:
Error using mupadengine/feval (line 163)
Invalid argument.
Error in solve (line 294)
sol = eng.feval('solve', eqns, vars, solveOptions);
但是使用像这样的代码的简单字符:
syms a b c d e f x
x = solve('(-2*x-2*a*b+3*(d^2-2*e)/d*c)*f^2','x')
没有?
我会感激任何帮助。
答案 0 :(得分:0)
构建两个向量,一个包含方程,另一个包含未知数
syms foo bar
eq = [ foo + bar == 5;
2*foo - bar == 4];
unknowns = [foo, bar];
然后使用solve
sol = solve(eq, unknowns)
或在你的情况下
syms pi41 r C2 sigma mu C3 theta
eq = (-2*pi41-2*r*C2+3*(sigma^2-2*mu)/sigma*C3)*theta^2 == 0;
unknowns = [pi41];
sol = solve(eq, unknowns);
结果
sol =
- C2*r - (C3*(- 3*sigma^2 + 6*mu))/(2*sigma)
你也可能想要指定/确保sigma不为零....
...在Matlab 2015b