How to define a symbolic function q such that diff(q, t) gives me q_dot
5 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
So I want to define a symbolic variable q that is a function of t
and want the script to give me ![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/278994/image.jpeg)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/278994/image.jpeg)
I do not know what the function q is !! I just know that q is a function of t and I want to symbolically output qdot for differentation of q w.r.t t
% My approach that did not work
% Define the number of degrees of freedom
n_dof = 2;
syms t
% Define the generalized coordinates and their derivatives
q = sym('q',[n_dof,1],'real');
q_dot = sym('q_dot',[n_dof,1],'real');
q_ddot = sym('q_ddot',[n_dof,1],'real');
diff(q, t)
% I want diff(q, t) to give me q_dot
% and diff(q_dot, t) to give me q_ddot in symbolic form
0 Kommentare
Antworten (1)
Walter Roberson
am 23 Mär. 2020
The only way to get diff(q, t) to return q_dot is if you define
q = int(q_dot, t)
I would suggest to you that instead you do things like
dq = diff(q, t)
f = some expression
f_pretty = subs(f, dq, q_dot)
1 Kommentar
Walter Roberson
am 23 Mär. 2020
Note that you will need to define q as a function or else the diff() will return 0.
Also I recommend that you read through the first example in the documentation for odeFunction()
Siehe auch
Kategorien
Mehr zu Symbolic Math Toolbox finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!