Clear Filters
Clear Filters

How to define a symbolic function q such that diff(q, t) gives me q_dot

5 views (last 30 days)
So I want to define a symbolic variable q that is a function of t
and want the script to give me
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

Answers (1)

Walter Roberson
Walter Roberson on 23 Mar 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 Comment
Walter Roberson
Walter Roberson on 23 Mar 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()

Sign in to comment.

Categories

Find more on Symbolic Math Toolbox in Help Center and File Exchange

Products


Release

R2019b

Community Treasure Hunt

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

Start Hunting!