Random Matrix to even matrix

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

 Respuesta aceptada

Mischa Kim
Mischa Kim el 13 de Jun. de 2014
Editada: Mischa Kim el 13 de Jun. de 2014

0 votos

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 comentarios

Manoj
Manoj el 13 de Jun. de 2014
Thank you so much , that is exactly what I was looking for
BR M
Manoj
Manoj el 13 de Jun. de 2014
I was wondering could this be done with an if statement also ? I tried but i get one single answer but I want answers for each column. Do you have any suggestions?
Mischa Kim
Mischa Kim el 13 de Jun. de 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 el 13 de Jun. de 2014
Thank you once again , this is really helpful
BR M

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Etiquetas

Preguntada:

el 13 de Jun. de 2014

Comentada:

el 13 de Jun. de 2014

Community Treasure Hunt

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

Start Hunting!

Translated by