how to find the change in curve

2 Ansichten (letzte 30 Tage)
prashant singh
prashant singh am 25 Sep. 2017
Beantwortet: Image Analyst am 25 Sep. 2017
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 Kommentare
Cedric
Cedric am 25 Sep. 2017
But you have the red curve as e.g. a row vector already? If so, could you attach it?
prashant singh
prashant singh am 25 Sep. 2017
Attaching row vector for the curve.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Image Analyst
Image Analyst am 25 Sep. 2017
Have you tried findchangepts()?

Weitere Antworten (1)

Star Strider
Star Strider am 25 Sep. 2017
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