用已知变量和一个未知变量求解方程

时间:2016-01-10 18:38:51

标签: matlab symbolic-math

我正试图在Matlab中解决这个等式

import re
s = "1) there is a problem 2) There appears to be a bug 3) stuck on start screen.";
print ([x for x in re.split(r"\d+\)\s*", s) if x]);
# => ['there is a problem ', 'There appears to be a bug ', 'stuck on start screen.']

其中dT=((-A-B*C+D*./E) C=sin(dT)未知。 dTABD是已知变量。使用Matlab的E函数:

solve

但我收到一条错误消息。我该如何解决这个等式?

1 个答案:

答案 0 :(得分:1)

您尚未向我们提供有关已知参数值的具体信息,我也相信您示例中的D*/E旨在成为更有效的表达方式。

无论如何,这是一个如何使用符号解算器solve的例子:

syms dT

A = 1
B = 2
D = [1 2]
E = [3 4]
eqn = -A - B*sin(dT) + D/E - dT == 0

soldT = solve(eqn,dT)

产生以下输出

% ...

eqn =

- dT - 2*sin(dT) - 14/25 == 0

% ... 

soldT =

-0.18739659458654612052194305796251

另见the language docs for solve