1

我试图根据两个条件来索引我的矩阵,我会解释一下。

假设我有两个矩阵:

a = [7 3 4; 5 6 7; 4 8 0];
b = [1 9 8; 2 4 6; 6 1 6];

以及要索引的第三个矩阵:

c = [1 2 3; 4 5 6; 7 8 9];

我的目标是以得到一个 3x3 矩阵的方式对 c 进行索引,其中只有 c 的值被复制,其索引满足以下条件,其余为零。

a <= 5, b >= 6

结果矩阵:

result = [0 2 3; 0 0 0; 7 0 9]

我希望我能够解释我的问题。

4

2 回答 2

1

给定

a = [7 3 4; 5 6 7; 4 8 0];
b = [1 9 8; 2 4 6; 6 1 6];
c = [1 2 3; 4 5 6; 7 8 9];
result = zeros(size(c);

使用逻辑索引,

>> d = (a <= 5) & (b >= 6)
d =
  0  1  1
  0  0  0
  1  0  1

>> result(d) = c(d)
result =
   0   2   3
   0   0   0
   7   0   9
于 2020-06-21T17:15:25.220 回答
0

循环抛出行和列并设置结果。

for row=1:size(a,1)
    for col=1:size(a,2)
          if(a(row,col)> b(row,col))
              result(row,col) = 0
          else
               result(row,col) = c(row,col)
          end  
    end
end
于 2020-06-21T17:07:18.583 回答