如何优化使用 for 循环处理大型数组的 MATLAB 脚本的执行时间?”

问题描述 投票:0回答:1

如何优化使用 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 等函数,但我不确定这是否是解决此问题的最佳解决方案。

performance loops matlab optimization vectorization
1个回答
0
投票

您是否尝试过使用简单的 MATLAB 运算,例如 B=2*A?

© www.soinside.com 2019 - 2024. All rights reserved.