Random Matrix to even matrix

3 views (last 30 days)
Manoj
Manoj on 13 Jun 2014
Commented: Manoj on 13 Jun 2014
I have a column matrix with numbers a=[0 1 2 3 4 5] and I want to get matrix b=[0 0 2 2 4 4] Basically all the number should be displayed as their closest even number. Please help me with the logic. It is a column matrix ,I am not sure how to show it in the question as it only shows up as a row matrix
The numbers shown is just an example and the numbers on the matrix a could be random as well. but the solution to matrix b should be the nearest even number, that wouldnt change

Accepted Answer

Mischa Kim
Mischa Kim on 13 Jun 2014
Edited: Mischa Kim on 13 Jun 2014
Manoj, you could use
a = 0:5;
b = a - mod(a,2);
Note, your vector is a row vector. Use the prime operator to turn it into a column vector. Also, I believe by closest you mean lower closest, correct? E.g., 1 is right in between 0 and 2.
  4 Comments
Mischa Kim
Mischa Kim on 13 Jun 2014
Sure. There are many ways of doing this, here is one:
a = 0:5;
b = zeros(size(a));
for ii = 1:numel(a)
if ~mod(a(ii),2)
b(ii) = a(ii);
else
b(ii) = a(ii) - 1;
end
end
Manoj
Manoj on 13 Jun 2014
Thank you once again , this is really helpful
BR M

Sign in to comment.

More Answers (0)

Tags

Community Treasure Hunt

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

Start Hunting!