フィルターのクリア

How do I take the derivative of my plot?

270 ビュー (過去 30 日間)
Alejandro
Alejandro 2013 年 4 月 19 日
編集済み: Torsten 2023 年 1 月 23 日
I have my temperature in the y axis, and my distance in the x. I have them all plotted out and I have the data too, how can I take the derivative of the plot?

採用された回答

Azzi Abdelmalek
Azzi Abdelmalek 2013 年 4 月 19 日
dy=diff(y)./diff(x)
plot(x(2:end),dy)
  8 件のコメント
Ali
Ali 2023 年 1 月 23 日
does that work when the derivative at some data points has 2 values (before and after the data point)?
I mean the derivative of the plot is not continuous in all points.
Torsten
Torsten 2023 年 1 月 23 日
編集済み: Torsten 2023 年 1 月 23 日
If you only have discrete values for x and y, there is no method to tell you whether there is a discontinuity in the derivative of y in a point x_i.
You can compare (y(i+1)-y(i))/(x(i+1)-x(i)) with (y(i)-y(i-1))/(x(i)-x(i-1)), but even if both differ significantly, it's not possible to decide whether there is a discontinuity in the derivative at x=x(i).

サインインしてコメントする。

その他の回答 (1 件)

Shaun VanWeelden
Shaun VanWeelden 2013 年 4 月 19 日
Call polyfit to generate your polynomial (if you don't already have a polynomial)
Call polyder to get derivative of your fitted line
Call polyval with your original X values to get the Y values of your derivative and plot that with hold on so it doesn't erase your original plot
  1 件のコメント
John D'Errico
John D'Errico 2016 年 7 月 31 日
Note that polyfit (any polynomial fit) will often be a terribly poor choice here, since many curves are not well fit by a polynomial model. For example, consider points that lie on the perimeter of a circle, or the function sqrt(x), near x==0. Or the function sin(x), over multiple periods. Or a classic problem function for polynomial fits, 1/(1+x^2).

サインインしてコメントする。

カテゴリ

Help Center および File ExchangePolynomials についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by