【发布时间】:2012-09-09 01:15:34
【问题描述】:
假设现在我有两个相同长度的向量:
A = [1 2 2 1];
B = [2 1 2 2];
我想创建一个矩阵 C,其 dim=m*n,m=max(A),n=max(B)。
C = zeros(m,n);
for i = 1:length(A)
u = A(i);
v = B(i);
C(u,v)=C(u,v)+1;
end
得到
C =[0 2;
1 1]
更准确地说,我们将 A 和 B 中的相应索引视为 C 中的行和列,而 C(u,v) 是 {k | A(i)=u 和 B(i)=v, i = 1,2,...,length(A)}
有更快的方法吗?
【问题讨论】:
-
c应该是[ 0 2; 1 1 ],而不是您建议的[ 0 2 0; 1 1 0 ]。您的代码的输出是[ 0 2; 1 1 ]。 -
@nrz 已经编辑过了,很抱歉。