如何优化使用 for 循环处理大型数组的 MATLAB 脚本的执行时间?
我有一个使用for循环处理大矩阵(例如10000x10000)的MATLAB脚本,但执行时间非常长。我的脚本如下所示:
A = rand(10000, 10000); % Matrice inițială
B = zeros(size(A)); % Matricea rezultată
for i = 1:size(A, 1)
for j = 1:size(A, 2)
B(i, j) = A(i, j) * 2; % Exemplu simplu de procesare
end
end
我知道 MATLAB 最适合矢量化运算。我怎样才能重写这个脚本来删除循环并减少执行时间?
我尝试过使用 arrayfun 等函数,但我不确定这是否是解决此问题的最佳解决方案。
您是否尝试过使用简单的 MATLAB 运算,例如 B=2*A?