how to find the change in curve

2 ビュー (過去 30 日間)
prashant singh
prashant singh 2017 年 9 月 25 日
回答済み: Image Analyst 2017 年 9 月 25 日
i have plotted a curve on my image. The curve is shown in red. I want to find the jump in my curve with some good algroithm. The area in the curve where i want to detect jump is shown in blue. I have tried to find difference between two point to detect jump but that always does not return me the points in the curve i want(show in blue).
  2 件のコメント
Cedric
Cedric 2017 年 9 月 25 日
But you have the red curve as e.g. a row vector already? If so, could you attach it?
prashant singh
prashant singh 2017 年 9 月 25 日
Attaching row vector for the curve.

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

採用された回答

Image Analyst
Image Analyst 2017 年 9 月 25 日
Have you tried findchangepts()?

その他の回答 (1 件)

Star Strider
Star Strider 2017 年 9 月 25 日
Try this:
D = load('ridx.mat');
ridx = D.ridx;
ridx = max(ridx)-ridx;
x = 1:length(ridx);
dt_ridx = detrend(ridx);
mask = dt_ridx > 27;
figure(1)
plot(x, ridx)
hold on
plot(x(mask), ridx(mask), '-r', 'LineWidth',1.2)
hold off
grid
Here mask is a logical vector that identifies the ‘jump’ region.

Community Treasure Hunt

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

Start Hunting!

Translated by