Symbolic matlab: how to set a variable as a function of time?

77 vues (au cours des 30 derniers jours)
Sebastian D'Amico
Sebastian D'Amico le 15 Fév 2012
Commenté : Sergei Sergienko le 13 Juin 2020
Hello to all! I'm trying to set a symbolic variable as a function of "t". This is because I need to obtain something like this:
K>> diff(sin(theta),t)
ans = diff(theta,t)*cos(theta)
or
ans= theta_dot*cos(theta)
but how to tell Matlab that variable theta is a function of time "t"?
Thank you!
  1 commentaire
Ezequiel Garcia
Ezequiel Garcia le 18 Avr 2017
Modifié(e) : Ezequiel Garcia le 18 Avr 2017
You need to declare t as a "symbolic"
syms t;

Connectez-vous pour commenter.

Réponses (4)

Walter Roberson
Walter Roberson le 15 Fév 2012
syms theta t
diff(sin(theta(t)),t)
  2 commentaires
Walter Roberson
Walter Roberson le 19 Avr 2017
In newer versions of MATLAB, you can use
syms theta(t)
diff(sin(theta),t)
Sergei Sergienko
Sergei Sergienko le 13 Juin 2020
Is it possible to make vector function of t? Something like this
sym('q(t)', [3 1])
diff(sin(q),t)

Connectez-vous pour commenter.


sharara rehimi
sharara rehimi le 16 Août 2018
thanks a lot..great for my problem

Wayne King
Wayne King le 15 Fév 2012
Hi Sebastian, do you know the expression for theta(t)?
syms theta t;
theta(t) = t^2;
diff(cos(theta),t)

Sebastian D'Amico
Sebastian D'Amico le 15 Fév 2012
Wayne, thank you for your answer! I don't have the expression of theta because I don't need it. This is the reason I need to tell Matlab that theta is a function of "t" so, when derivate is computed, it should consider that, for example, diff(sin(theta),t) is equal to diff(theta,t)*cos(theta). But, how to set it?
Seabstian
  1 commentaire
Wayne King
Wayne King le 15 Fév 2012
Do you really need that if you do not know the expression for theta(t), you know df(theta)/dt = df/dtheta*dtheta/dt

Connectez-vous pour commenter.

Community Treasure Hunt

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

Start Hunting!

Translated by