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

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!

Antworten (4)

syms theta t
diff(sin(theta(t)),t)

2 Kommentare

In newer versions of MATLAB, you can use
syms theta(t)
diff(sin(theta),t)
Is it possible to make vector function of t? Something like this
sym('q(t)', [3 1])
diff(sin(q),t)

Melden Sie sich an, um zu kommentieren.

Wayne King
Wayne King am 15 Feb. 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 am 15 Feb. 2012

0 Stimmen

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 Kommentar

Do you really need that if you do not know the expression for theta(t), you know df(theta)/dt = df/dtheta*dtheta/dt

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Mathematics finden Sie in Hilfe-Center und File Exchange

Gefragt:

am 15 Feb. 2012

Kommentiert:

am 13 Jun. 2020

Community Treasure Hunt

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

Start Hunting!

Translated by