MATLAB Answers

Numerical derivative in matlab

787 views (last 30 days)
dont panic
dont panic on 26 Sep 2013
Answered: Tamas Kis on 14 Apr 2021 at 5:45
Hello,
I'm using Matlab 2012 and would need the numerical derivative of a function. What is the Malab command for that ?
Thank you in advance

Accepted Answer

Azzi Abdelmalek
Azzi Abdelmalek on 26 Sep 2013
If you have a series of data
t=[0 1 2 3 4 5] % Vector time
y=[1 2 4 8 12 13] % Your signal
% The derivative can be approximated :
diff(y)./diff(t)
%You can also use symbolic derivative
syms t y
y=cos(t)
dy=diff(y)
  1 Comment
dont panic
dont panic on 26 Sep 2013
thank you for your reply :) !

Sign in to comment.

More Answers (2)

Rohit Garud
Rohit Garud on 16 Aug 2020
Edited: Rohit Garud on 16 Aug 2020
You can use the gradient() function in newer versions of matlab
dy_by_dt = gradient(y(:)) ./ gradient(t(:))
  11 Comments
Walter Roberson
Walter Roberson on 6 Jan 2021
for k = 2:length(percent_change)
text(x(k),y(k),sprintf('%0.1f%%',percent_change(k)),...
'HorizontalAlignment','center',...
'VerticalAlignment','bottom')
end

Sign in to comment.


Tamas Kis
Tamas Kis on 14 Apr 2021 at 5:45
Function that can differentiate a set of points given as vectors (such as how you would use cumtrapz to integrate), or differentiate a function defined using a function handle. It can differentiate at any specified point(s) or over an entire domain. Also is of slightly higher accuracy than using diff(y)./diff(t) because it uses central approximation at the interior nodes.

Products

Community Treasure Hunt

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

Start Hunting!