MATLAB - 在函数中使用的两个矩阵上迭代迭代

时间:2015-03-28 02:58:24

标签: matlab vectorization

我有两个矩阵X and Y,两个都是mxn。我想创建一个订单Z的新矩阵mx1,以便通过将函数应用于i thith来计算此新矩阵中的每个ith条目分别为XY的行。在我的情况下,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);

0 个答案:

没有答案