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.

 Respuesta aceptada

pfb
pfb el 27 de Abr. de 2015
Editada: pfb el 27 de Abr. de 2015
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 comentario

Emmanouil Poulakis
Emmanouil Poulakis el 27 de Abr. de 2015
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..

Iniciar sesión para comentar.

Más respuestas (0)

Etiquetas

Preguntada:

el 27 de Abr. de 2015

Comentada:

el 27 de Abr. de 2015

Community Treasure Hunt

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

Start Hunting!

Translated by