在MATLAB中定义符号变量的关系

时间:2013-07-23 22:30:33

标签: matlab relationship symbolic-math

我们说我有一个符号变量" q"这取决于另一个符号变量" t"。 这是我定义每个符号变量的方式。

t= sym('t');
q = sym('q(t)');

我有一个包含这个的表达式(当我使用pretty(表达式)时)

result = blah1* diff(q(t),t) *blah2 

我想把这个特殊部分变成一个新变量。让我们说" qdot" 最后,我希望它是这样的。

result2 = blah1*qdot*blah2

我正在搞清楚它。提前谢谢。

1 个答案:

答案 0 :(得分:0)

您应该使用subs功能。以下是如何将其用于您的特定问题

function Rewrite()
t = sym('t');
q = sym('q(t)');

a = sym('a');
blah1 = a^2;
blah2 = t^3;
result1 = blah1*diff(q,t)*blah2;

qDot = sym('qDot');
result2 = subs(result1, diff(q,t), qDot)
% result2 = a^2*qDot*t^3;
end

请注意

result2 = subs(result1, 'diff(q(t),t)', qDot)

newMiddle = sym('qDot');
result2 = subs(result1, diff(q,t), newMiddle)

也会给出理想的结果。