How remove plateaus on plot?

7 Ansichten (letzte 30 Tage)
Bruno
Bruno am 29 Jan. 2014
Kommentiert: Iain am 29 Jan. 2014
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

Akzeptierte Antwort

Azzi Abdelmalek
Azzi Abdelmalek am 29 Jan. 2014
t=1:numel(y)
d=abs(gradient(y,t))
y(d<0.4)=[];
plot(y)

Weitere Antworten (1)

Iain
Iain am 29 Jan. 2014
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 Kommentare
Bruno
Bruno am 29 Jan. 2014
Hi Iain, is not running
Error in ==> pl at 7 new_y = cumsum([initial diffs]);
Iain
Iain am 29 Jan. 2014
My bad, I didn't correct for something I'd corrected for:
new_data = cumsum(diffs);

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Language Fundamentals finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by