Replacing numbers in a matrix
Afficher commentaires plus anciens
I am trying to create a command that replaces all even numbers in a matrix with their square root values. I've already figured out how to determine which numbers are even. Please help.
function repEven = repEven(A)
if rem(A,2) == 0 % determines if numbers are even
end
Réponses (1)
Walter Roberson
le 13 Mar 2021
Modifié(e) : Walter Roberson
le 13 Mar 2021
Use logical indexing.
if rem(A,2) == 0 % determines if numbers are even
That determines whether all of the numbers in A are even, not if any one of them is even.
Also, do not name your output variable the same thing as your function.
3 commentaires
Ryan Williams
le 13 Mar 2021
A = [5 8 19]
rem(A,2) == 0
is a logical vector of true and false values.
A([false, true, false])
Ryan Williams
le 13 Mar 2021
Catégories
En savoir plus sur Library Development dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!