Replacing all even numbers in my matrix with their square root value

10 vues (au cours des 30 derniers jours)
Cy'an Tebo
Cy'an Tebo le 15 Mar 2021
Réponse apportée : KSSV le 15 Mar 2021
So I put in the code :
A=[1 4 9; 8 16 7; 3 36 4]
X=sqrt(A(rem(A,2)==0))
It did square root each even number but it put it in it's own matrix but I was trying to replace the even number with new values while still having all the other values in the matric still. How do I fix this?

Réponse acceptée

Mohammad Sami
Mohammad Sami le 15 Mar 2021
You need to assign it back to A to replace the even values.
A=[1 4 9; 8 16 7; 3 36 4];
i = rem(A,2)==0;
A(i) =sqrt(A(i))

Plus de réponses (1)

KSSV
KSSV le 15 Mar 2021
A=[1 4 9; 8 16 7; 3 36 4]
idx = mod(A,2) ;
A(idx==0) = sqrt(A(idx==0))

Catégories

En savoir plus sur Get Started with MATLAB 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