我有一个 KxLxM 矩阵 A,它是一个图像,每个像素位置都有一个长度为 M 的特征向量。我还有一个特征向量 v,长度为 M。在图像 A 的每个像素位置,我想计算像素的特征向量与我的特征向量 v 的相关性。
我已经使用循环完成了此操作,但是在 matlab 中循环很慢。有没有人建议如何矢量化这个?
function test()
A = rand(4,5,3);
v = [1 2 3];
c = somecorr(A, v);
size(c)
function c = somecorr(a,v)
c = a(:,:,1).*0;
for y = 1:size(a,1)
for x = 1:size(a,2)
c(y,x) = corr2(squeeze(a(y,x,1:length(v)))',v);
end
end
>>test()
ans =
4 5