比较两个大小不等的矩阵
Compare two matrices of unequal size
我有两个矩阵 A(10,5) 和 B(30,5)。相比之下,所需的最终输出是大小为 (10,30) 或 (30,10) 的逻辑数组。
我的代码:
A=rand(10,5)
B=rand(30,5)
for i=1:size(A,1)
X(:,i)=all(bsxfun(@le,A(i,:),B))
end
在我的代码中,就输出矩阵的大小而言,我没有得到想要的结果。
这是你想要的吗?
X = all(bsxfun(@le, permute(A, [1 3 2]), permute(B, [3 1 2])), 3);
使用上面的代码,X(m,n)
将是 true
当且仅当 A(m,:)
中的每个条目都小于或等于 B(n,:)
中的相应条目。
我有两个矩阵 A(10,5) 和 B(30,5)。相比之下,所需的最终输出是大小为 (10,30) 或 (30,10) 的逻辑数组。 我的代码:
A=rand(10,5)
B=rand(30,5)
for i=1:size(A,1)
X(:,i)=all(bsxfun(@le,A(i,:),B))
end
在我的代码中,就输出矩阵的大小而言,我没有得到想要的结果。
这是你想要的吗?
X = all(bsxfun(@le, permute(A, [1 3 2]), permute(B, [3 1 2])), 3);
使用上面的代码,X(m,n)
将是 true
当且仅当 A(m,:)
中的每个条目都小于或等于 B(n,:)
中的相应条目。