如何在matlab中的符号表达式中找到符号变量?

时间:2014-02-17 14:01:58

标签: matlab symbolic-math

我在matlab中有一个像这样的符号表达式向量:

 (p4*x15 - (p2*p3*x3*x5)/(p1*x2))/p22
 (p7*x11 + p20*x11 + p17*x16 + p19*x16 - p6*x4*x10)/p22

我想找到表达式,例如: 'x2'存在。知道我该怎么办? 谢谢!

1 个答案:

答案 0 :(得分:2)

使用您的示例

syms p1 p2 p3 p4 p6 p7 p17 p19 p20 p22
syms x2 x3 x4 x5 x10 x11 x15 x16
s(1) = (p4*x15 - (p2*p3*x3*x5)/(p1*x2))/p22;
s(2) = (p7*x11 + p20*x11 + p17*x16 + p19*x16 - p6*x4*x10)/p22;

您可以使用symvar

v = arrayfun(@(x)any(symvar(s)==x2),s);

或者您可以使用strfind

v = arrayfun(@(x)~isempty(strfind(char(x),'x2')),s);