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

2 ビュー (過去 30 日間)
Cy'an Tebo
Cy'an Tebo 2021 年 3 月 15 日
回答済み: KSSV 2021 年 3 月 15 日
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?

採用された回答

Mohammad Sami
Mohammad Sami 2021 年 3 月 15 日
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))

その他の回答 (1 件)

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

カテゴリ

Help Center および File Exchange2-D and 3-D Plots についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by