Random Matrix to even matrix

3 vues (au cours des 30 derniers jours)
Manoj
Manoj le 13 Juin 2014
Commenté : Manoj le 13 Juin 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

Réponse acceptée

Mischa Kim
Mischa Kim le 13 Juin 2014
Modifié(e) : Mischa Kim le 13 Juin 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 commentaires
Mischa Kim
Mischa Kim le 13 Juin 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 le 13 Juin 2014
Thank you once again , this is really helpful
BR M

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Matrix Indexing dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by