Я работаю с символическим набором инструментов MATLAB, и у меня возникают проблемы с извлечением коэффициентов производных. Возможно, MATLAB не может делать то, что я ищу. Во всяком случае, код, который воспроизводит меня вопрос приведен ниже:MATLAB Символические проблемы с коэффициентами
clear ; close all; clc;
syms a b t
x = sym('x(t)');
y = sym('y(t)');
syms a b;
ra = a*cos(x);
radot = diff(ra, t);
xdot = diff(x,t);
ydot = diff(y,t);
% This one works as expected
works = coeffs(radot(1), xdot)
% This doesn't work as expected
fails = coeffs(radot(1), ydot)
Комментарии в предыдущих разделах кода выделить то, что работает и что не работает, как ожидалось. В частности, выходы:
radot =
-a*sin(x(t))*diff(x(t), t)
works =
-a*sin(x(t))
fails =
-a*sin(x(t))*diff(x(t), t)
Кто-нибудь знает, почему это происходит, или я делаю что-то неправильно?