我对矩阵有误。我不明白为什么它不起作用。这是代码:
A = zeros(3,3,3);
A(:,:,1) = [1 2 3; 4 5 6; 7 8 9];
A(:,:,2) = [1 2 3; 1 2 3; 1 2 3];
A(:,:,3) = [1 2 3; 4 5 6; 7 8 9];
我想仅替换仅限于第二维的条件的值,使用:
A(A(:,:,2)==1)=0
但它取代了第一维度! :
0 2 3
0 5 6
0 8 9
有没有人可以向我解释为什么不起作用,拜托?
答案 0 :(得分:1)
这一行的问题在于你在A上应用了2D蒙版(A(:,:,2)== 1),它有3个维度。
相反,您可以使用以下方法:
temp = A(:,:,2);
temp(temp==1)=0;
A(:,:,2) = temp;