Find value at which a line changes its slope

14 ビュー (過去 30 日間)
Lina Koronfel 2023 年 5 月 28 日
コメント済み: Lina Koronfel 2023 年 7 月 23 日
How can I find the x value of the point during which the line (significantly) changes direction? I tried inflection point but it doesn't work in this case. Basically, I want to find the exact value during which the line changes its slope (arrow). Thank you

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

採用された回答

Image Analyst 2023 年 5 月 28 日
See if my attached piecewise linear fit identifies it correctly for you.
If not, then attach your data after reading this: TUTORIAL: How to ask a question (on Answers) and get a fast answer
And as an alternative:
1 件のコメント-1 件の古いコメントを表示-1 件の古いコメントを非表示
Lina Koronfel 2023 年 7 月 23 日
Thank you for the answer, I wrote a code that incorporated all suggestions from @John D'Errico @Torsten and @Image Analyst and it is working perfectly. Thank you for all your help!

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

その他の回答 (2 件)

Torsten 2023 年 5 月 28 日

Plot gradient(y)./gradient(x) over x to get an approximation of the derivative of your curve and see if this curve can give you more information.
0 件のコメント-2 件の古いコメントを表示-2 件の古いコメントを非表示

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

John D'Errico 2023 年 5 月 28 日

There is NO exact point where that can be known to happen. Your curve is noisy.
At best, you can estimate where the curve starts to drift away from being a constant function. And of course, we lack any data from you, so it is difficult to give an example.
It seems your curve is essentially zero for a while, so why not just look for the point where y deviates from zero by some tolerance? That is the point you are essentially asking to find.
We can compute the approximate noise in your curve simply as:
noiseEst = std(diff(y))/sqrt(2);
This assumes the noise is additive and iid, and at least vaguely gaussian. It also assumes the signal underneath the noise in the curve is slowly varying.
Having done that, just find the point where
ind = find(abs(y) > 3*noiseEst,1,'first')
That gives you the first point where y deviates from zero by more than 3 sigma.

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

カテゴリ

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

Community Treasure Hunt

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

Start Hunting!

Translated by