Creating a variable with if statement

Hi... I'm struggling with this for hours...
Suppose there is a column vector X:
1
5
7
8
9
4
2
.
.
.
and I would like to create another vector, Y, such that X < 6 but keep the order:
1
5
missing
missing
missing
missing
4
2
.
.
.
Please help. Thank you!

 Accepted Answer

y = num2cell(x);
y(x>6) = {'missing'}

More Answers (1)

jmac
jmac on 3 Jun 2020
Edited: jmac on 3 Jun 2020
Just eliminate the entries you don't want: y=x; y(y>=6)=[];
Or, if you want to maintain the size and class (vector), NaN: y=x; y(y>=6)=NaN;

4 Comments

Nope not true , you remove the elements. There’s a difference between missing and removing.
Just providing a JB with a couple more options.
madhan ravi
madhan ravi on 3 Jun 2020
Edited: madhan ravi on 3 Jun 2020
Joao not a problem;), didn’t mean it in a rude way. Thought it was OP but then realised it’s a different person, sorry! And Ofcourse you’re edited answer is the way to go.
Thank you as well!

Sign in to comment.

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Asked:

JB
on 3 Jun 2020

Commented:

JB
on 4 Jun 2020

Community Treasure Hunt

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

Start Hunting!