フィルターのクリア

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

5 ビュー (過去 30 日間)
Japnit Sethi
Japnit Sethi 2020 年 3 月 23 日
コメント済み: Walter Roberson 2020 年 3 月 23 日
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

回答 (1 件)

Walter Roberson
Walter Roberson 2020 年 3 月 23 日
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 件のコメント
Walter Roberson
Walter Roberson 2020 年 3 月 23 日
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()

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeSymbolic Math Toolbox についてさらに検索

製品


リリース

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by