how to find the change in curve

4 次查看(过去 30 天)
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.

类别

Help CenterFile Exchange 中查找有关 Spectral Measurements 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by