假设有一个矩阵
m = magic(5)
ans =
17 24 1 8 15
23 5 7 14 16
4 6 13 20 22
10 12 19 21 3
11 18 25 2 9
众所周知,为了在0
×10
矩阵中更改特定值(例如:更改为m
,如果大于n
),
m(m>10) = 0
m =
0 0 1 8 0
0 5 7 0 0
4 6 0 0 0
10 0 0 0 3
0 0 0 2 9
我有一个k
×m
×n
矩阵,由随机0
s,1
和2
s组成。 k
的迭代值为1
到10
,不会更改。
如何将1
更改为0
,然后将2
更改为1
?但k
应保持不变。只有m
和n
中的值。
答案 0 :(得分:1)
作为一个例子"以完全相同的方式做到":
>> m = round(rand(3,2,2)*2)
m(:,:,1) =
1 1
0 0
1 2
m(:,:,2) =
1 1
0 1
2 1
>> m(m==1)=0
m(:,:,1) =
0 0
0 0
0 2
m(:,:,2) =
0 0
0 0
2 0
>> m(m==2)=1
m(:,:,1) =
0 0
0 0
0 1
m(:,:,2) =
0 0
0 0
1 0
在这种情况下,m==2
返回的3D逻辑掩码可用于任何大小相同的数组。