Replacing numbers in a matrix
Show older comments
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
Answers (1)
Walter Roberson
on 13 Mar 2021
Edited: Walter Roberson
on 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 Comments
Ryan Williams
on 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
on 13 Mar 2021
Categories
Find more on Library Development in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!