How to take time derivatives of a function?

My objective is to take the first and second time derivatives of my function for displacement 'x'. I have it modelling a function of displacement over angle with respect to time. Does MATLAB have a function that represents dx/dt? Here are the analytical solutions and my code for reference.
h = 60 ;
b =130 ;
r = 28 ;
w = 2*pi; % angular velocity
t =0:(1/36):1 ;
x = b*(r*sin(w*t))./(h-r*cos(w*t));

 Accepted Answer

dxdt = diff(x)./diff(t) ; % derivative of x w.r.t t

3 Comments

Thank you! are there any specific rules when trying to plot derivatives of functions? I want to plot it with respect to the time instead of iterations, but plot(v,t) does not work. Here is my code
v = diff(x)./diff(t) ; % derivative of x w.r.t t
plot(v,t);
When we use diff the dimension of vector will be reduced by one. Two options to plot.
v = diff(x)./diff(t) ; % derivative of x w.r.t t
plot(v,t(1:end-1));
OR
v = gradient(x)./gradient(t) ; % derivative of x w.r.t t
plot(v,t);
Thank you for this answer! All the examples online just show symbolic integration!

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!