最有效的方法来做这个矩阵运算matlab?

时间:2014-01-14 17:59:39

标签: matlab matrix bsxfun

我想知道在matlab中是否有更有效的方法来执行以下操作

[K, L] = meshgrid(1:sh,1:sv);
for i = 1 : sv
    for j = 1 : sh
        M = score_mat_temp + a*((K-j).*(K-j) + b*(K-j)) + c*((L-i).*(L-i) + d*(L-i)) + e;
    end
end

因为它现在是超慢的sv和sh通常大约为500

非常感谢!

1 个答案:

答案 0 :(得分:0)

M的最终值之外的所有内容都被覆盖。因此计算它们是一种浪费。使用

[K, L] = meshgrid(1:sh,1:sv);
i = sv;
j = sh;
M = score_mat_temp + a*((K-j).*(K-j) + b*(K-j)) + c*((L-i).*(L-i) + d*(L-i)) + e;