Numerical derivative in matlab

500 visualizzazioni (ultimi 30 giorni)
dont panic
dont panic il 26 Set 2013
Risposto: Tamas Kis il 14 Apr 2021
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

Risposta accettata

Azzi Abdelmalek
Azzi Abdelmalek il 26 Set 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)

Più risposte (2)

Rohit Garud
Rohit Garud il 16 Ago 2020
Modificato: Rohit Garud il 16 Ago 2020
You can use the gradient() function in newer versions of matlab
dy_by_dt = gradient(y(:)) ./ gradient(t(:))
  11 Commenti
Daphne PARLIARI
Daphne PARLIARI il 6 Gen 2021
Oh I got confused... What would be the solution to that?
Walter Roberson
Walter Roberson il 6 Gen 2021
for k = 2:length(percent_change)
text(x(k),y(k),sprintf('%0.1f%%',percent_change(k)),...
'HorizontalAlignment','center',...
'VerticalAlignment','bottom')
end

Accedi per commentare.


Tamas Kis
Tamas Kis il 14 Apr 2021
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.

Categorie

Scopri di più su Loops and Conditional Statements in Help Center e File Exchange

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by