MATLAB Answers

0

Vector inside another vector

Asked by José Campelo on 21 May 2019
Latest activity Commented on by madhan ravi
on 21 May 2019
Hi! I have a vector S = [0 1 2 3 4 ... 30]' and now i want to create another vector U that is equal to 0 if K<S and equal to S if K>=S. In my exercise K=15.
I did this:
U1=zeros(30,1);
U1(15,30)=S;
Can you please help me? Thanks

  3 Comments

Adam Danz
on 21 May 2019
So U will always be a column vector the same size as 'S' and it will always be either full of 0s or it will match the "S" vector (depending on the value of K which will always be a single number (scalar)). Is that correct?
Your problem is not difficult. You just need to take a look to logical indexing in Matlab. For example:
Correct. Basically what I want is that U be a column with 0 until the 14th position and then 15, 16, 17 etc until 30.

Sign in to comment.

2 Answers

Answer by Adam Danz
on 21 May 2019
 Accepted Answer

S =(0:30)';
k = 15;
U = S .* (S>=k);

  0 Comments

Sign in to comment.


Answer by madhan ravi
on 21 May 2019
Edited by madhan ravi
on 21 May 2019

People don’t do homeworks here. Index K>=S to U1 lhs and S rhs by equating against each other. Since it’s your homework see Alex’s links above and experiment.

  2 Comments

Adam Danz
on 21 May 2019
My homework detectors didn't go off on this one.
madhan ravi
on 21 May 2019
XD sometimes it doesn’t even in mine, maybe a bug xd.

Sign in to comment.