I want create a script that remove the plateau in red on the plot (figure) and concatenate the rest of the data. I have large data set. Thanks

 Réponse acceptée

Azzi Abdelmalek
Azzi Abdelmalek le 29 Jan 2014

1 vote

t=1:numel(y)
d=abs(gradient(y,t))
y(d<0.4)=[];
plot(y)

Plus de réponses (1)

Iain
Iain le 29 Jan 2014

1 vote

I can't download your example, but the answer shouldn't be too difficult:
data %- This is your vector of values.
initial = data(1);
diffs = diff(data);
diffs(diffs==0) = [];
diffs(2:end+1) = diffs;
diffs(1) = initial;
new_data = cumsum([initial diffs]);
plot(new_data)

2 commentaires

Bruno
Bruno le 29 Jan 2014
Hi Iain, is not running
Error in ==> pl at 7 new_y = cumsum([initial diffs]);
Iain
Iain le 29 Jan 2014
My bad, I didn't correct for something I'd corrected for:
new_data = cumsum(diffs);

Connectez-vous pour commenter.

Catégories

En savoir plus sur Language Fundamentals dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by