How do I erase following data?

I want to erase following data when data goes down under 28.
For example,
If I have this matrix
36 33 31 29 30 27 31 33 24,
I want to make the matrix into
36 33 31 29 30 NaN NaN NaN NaN.
--> when I first met a number under 28, following datas are erased like this.
Thanks.

 Accepted Answer

x(find(x<28,1):end) = nan ;
or
x(~cumprod(x>=28)) = nan;

2 Comments

oops i posted the same answer without looking
Thanks for helping.
This is the one that I want to find.
Appreciated!

Sign in to comment.

More Answers (1)

you can use find but not recommended
x = [36 33 31 29 30 27 31 33 24];
x(find(x<28,1):end) = nan
x =
36 33 31 29 30 NaN NaN NaN NaN

Tags

Community Treasure Hunt

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

Start Hunting!