how to find the change in curve

2 vues (au cours des 30 derniers jours)
prashant singh
prashant singh le 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 commentaires
Cedric
Cedric le 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 le 25 Sep 2017
Attaching row vector for the curve.

Connectez-vous pour commenter.

Réponse acceptée

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

Plus de réponses (1)

Star Strider
Star Strider le 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