我想知道在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
非常感谢!
答案 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;