MATLAB Answers

0

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

Asked by Sebastian D'Amico on 15 Feb 2012
Latest activity Answered by sharara rehimi on 16 Aug 2018
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 Comment

You need to declare t as a "symbolic"
syms t;

Sign in to comment.

4 Answers

Answer by Wayne King
on 15 Feb 2012

Hi Sebastian, do you know the expression for theta(t)?
syms theta t;
theta(t) = t^2;
diff(cos(theta),t)

  0 Comments

Sign in to comment.


Answer by Sebastian D'Amico on 15 Feb 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 Comment

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

Sign in to comment.


Answer by Walter Roberson
on 15 Feb 2012

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

  1 Comment

In newer versions of MATLAB, you can use
syms theta(t)
diff(sin(theta),t)

Sign in to comment.


Answer by sharara rehimi on 16 Aug 2018

thanks a lot..great for my problem

  0 Comments

Sign in to comment.