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

9 ビュー (過去 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 ExchangeGet Started with MATLAB についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by