我对矩阵与另一个只包含1和0的矩阵的映射有疑问。
这是我的问题的一个例子:A
是带有双精度的矩阵
A = [ 1 4 3;
2 3 4;
4 3 1;
4 5 5;
1 2 1];
B是一个带有1和0的矩阵:
B = [ 0 0 0;
0 0 0;
1 1 1;
1 1 1;
0 0 0];
我希望获得一个矩阵C
,它是由A
映射的B
的结果,就像那样:
C = [ 0 0 0;
0 0 0;
4 3 1;
4 5 5;
0 0 0];
我尝试B
作为逻辑数组和矩阵。两者都导致同样的错误:
“下标索引必须是真正的正整数或逻辑。”
答案 0 :(得分:6)
只需将A和B元素相乘:
C = A.*B
答案 1 :(得分:1)
我喜欢Dan的解决方案,但这将是另一种方式:
C = zeros(size(A));
C(B==1) = A(B==1);