# Specific conditions for array elements

3 ビュー (過去 30 日間)
Alexander Nee 2021 年 8 月 22 日
コメント済み: Alexander Nee 2021 年 8 月 22 日
Hello! Let's say that i have an array 5x5 filled with numbers from 1 to 20
A=randi(20,5);
How can i compute a new array B of the same size as the A with three conditions:
1. If the element of the array A is smaller than 10, B=9^2
2. If the element of the array A is equal to 10, B=0
3. If the element of the array A is higher than 10, B=20^0.5
Thank you,
Alex

サインインしてコメントする。

### 採用された回答

Awais Saeed 2021 年 8 月 22 日

Fairly simple
clc;clear;close
A=randi(20,5);
B = A;
% get indices
B1 = find(B == 10);
B2 = find(B > 10);
B3 = find(B < 10);
% change values at those indices
B(B1) = 0;
B(B2) = 20^0.5;
B(B3) = 9^2;
##### 3 件のコメント表示非表示 2 件の古いコメント
Alexander Nee 2021 年 8 月 22 日
Thank you! You greatly helped me!

サインインしてコメントする。

### その他の回答 (1 件)

Simon Chan 2021 年 8 月 22 日
You may simply combine them together as follows:
B = (A>10)*(9^2)+(A==10)*0+(A<10)*(20^0.5);
##### 1 件のコメント表示非表示 なし
Alexander Nee 2021 年 8 月 22 日
Dear Simon Chan,