我有两个矩阵X and Y
,两个都是mxn
。我想创建一个订单Z
的新矩阵mx1
,以便通过将函数应用于i th
和ith
来计算此新矩阵中的每个ith
条目分别为X
和Y
的行。在我的情况下,m = 100000和n = 2.我尝试使用循环但它需要永远。
for i = 1:m
Z = function(X(1,:),Y(1,:), constant_parameters)
end
有没有一种有效的矢量化方法?
编辑1
这是功能
function [peso] = fxPesoTexturaCN(a,b, img, r, L)
ac = num2cell(a);
bc = num2cell(b);
imgint1 = img(sub2ind(size(img),ac{:}));
imgint2 = img(sub2ind(size(img),bc{:}));
peso = (sum((a - b) .^ 2) + (r/L) * (imgint2 - imgint1)) / (2*r^2);
其中img, r, L
是constats。 a is X(1,:)
和b is Y(1,:)
此功能的调用是
peso = bsxfun(@(a,b) fxPesoTexturaCN(a,b,img,r,L), a, b);