Numerical derivative in matlab

471 Ansichten (letzte 30 Tage)
dont panic
dont panic am 26 Sep. 2013
Beantwortet: Tamas Kis am 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

Akzeptierte Antwort

Azzi Abdelmalek
Azzi Abdelmalek am 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)

Weitere Antworten (2)

Rohit Garud
Rohit Garud am 16 Aug. 2020
Bearbeitet: Rohit Garud am 16 Aug. 2020
You can use the gradient() function in newer versions of matlab
dy_by_dt = gradient(y(:)) ./ gradient(t(:))
  11 Kommentare
Daphne PARLIARI
Daphne PARLIARI am 6 Jan. 2021
Oh I got confused... What would be the solution to that?
Walter Roberson
Walter Roberson am 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

Melden Sie sich an, um zu kommentieren.


Tamas Kis
Tamas Kis am 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.

Kategorien

Mehr zu Loops and Conditional Statements finden Sie in Help Center und File Exchange

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by