Random Matrix to even matrix
2 views (last 30 days)
Show older comments
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
0 Comments
Accepted Answer
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
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
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!