Symbolic Math Toolbox - Derive a function with respect to another function

1 visualización (últimos 30 días)
mistajojo
mistajojo el 23 de Oct. de 2014
Respondida: Joan Sans el 26 de Jun. de 2018
Hello,
i want to verify a calculation I did already on paper. There the following problem occurs:
>> clear all
>> syms t x(t)
>> f=3*x
>> diff(f,x)
Error using sym/diff (line 26)
All arguments, except for the first one, must not be symbolic functions.
I want to derive a funtion woth respect to another function of time. And i even need the derivation of a function with respect to another derivative of a function of time.
I need this because I want to get the equations of motion of a system by using Lagrange equations of the second kind .
Can anybody help me with this problem? Thanks a lot. Johannes

Respuestas (2)

Zoltán Csáti
Zoltán Csáti el 23 de Oct. de 2014
Editada: Zoltán Csáti el 23 de Oct. de 2014
I also bumped into this question when I wanted to create the equation of motion using this method. Matlab's Symbolic Math Toolbox uses the Maple engine, so you can try the following: Physics:diff(L(t), ydot(t)), where L(t) is the Lagrangian that you want to differentiate with respect to the time derivative of coordinate y(t). I stress again, that this code is in Maple. As I see from your error message, it can't be done in Matlab. Therefore use Maple or do it by hand.
  2 comentarios
mistajojo
mistajojo el 23 de Oct. de 2014
I found solve it in matlab. Maybe it's not the best way, but it works anyway. The solution is to substitute x(t) by another variable. I built a own function which does this:
function [f_out] = diff2(f_in,ableiten)
syms substitute;
f_zwischen=subs(f_in,ableiten,substitute);
f_zwischen_diff=diff(f_zwischen,substitute);
f_out=subs(f_zwischen_diff,substitute,ableiten);
end
But be careful. For some reason it only works properly if it is typed like this:
diff2(f,x(t))
If it is typed like the following statement it wont work properly !
diff2(f,x)

Iniciar sesión para comentar.


Joan Sans
Joan Sans el 26 de Jun. de 2018
it works perfect! Thanks

Categorías

Más información sobre Symbolic Math Toolbox en Help Center y File Exchange.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by