2014-10-09 3 views
1

Используя код,Как отличить функцию w.r.t от другой символической функции в MATLAB?

syms x(t) 
y=x^2 
diff(y,t) 
diff(y,x) 

Я получаю следующее сообщение об ошибке:

2*D(x)(t)*x(t) 
Error using sym/diff (line 26) 
All arguments, except for the first one, must not be symbolic functions. 

Есть ли способ решить это? Спасибо за ваше время.

+0

Смотрите мой ответ на этот очень похожий вопрос: [Как реализовать производную символической функции на «symfun» в Matlab?] (Http://stackoverflow.com/questions/27085362/ как к орудию-а-производной-в-а-символьной-функции-на-а-symfun-в-MATLAB) – horchler

ответ

1

Я не знаю много о Symbolic Math Toolbox, но получение производной от функции не поддерживается (по крайней мере, прямо) для diff.

Вы можете заменить переменную, вычислить производную и заменить ее обратно. Как так:

syms z 
subs(diff(subs(y,x,z),z),z,x) 

ans(t) = 2*x(t) 
Смежные вопросы