I have a vector 1x80. If i put x(1,80) and y (the values of the vector from 1 to 80), i have a plot. I do not know the function which describes the plot. I want to plot the derivatives of the unknown fuction.

 Akzeptierte Antwort

pfb
pfb am 27 Apr. 2015
Bearbeitet: pfb am 27 Apr. 2015

1 Stimme

You can do that approximately.
% this is the "finite difference" derivative. Note it is one element shorter than y and x
yd = diff(y)./diff(x);
% this is to assign yd an abscissa midway between two subsequent x
xd = (x(2:end)+x(1:(end-1)))/2;
% this should be a rough plot of your derivative
plot(xd,yd)
Of course the reliability of the above procedure depends on the thickness of your grid x as well as on the properties of y.
You could perhaps do a slightly (cosmetically) better job by interpolating your data using interp1.

1 Kommentar

Thank you!I think this is helpful for me.When you say to interpolate my data, you mean to find a function which desribes the data?Is it easy to give me an example how to do this..

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Graphics Performance finden Sie in Hilfe-Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by