How remove plateaus on plot?

3 views (last 30 days)
Bruno
Bruno on 29 Jan 2014
Commented: Iain on 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

Accepted Answer

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

More Answers (1)

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

Sign in to comment.

Categories

Find more on Creating and Concatenating Matrices in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!