How can I efficiently vectorize a for-loop in MATLAB? Provide an example where vectorization significantly improves performance compared to a traditional loop.

2 ビュー (過去 30 日間)
How can I efficiently vectorize a for-loop in MATLAB? Provide an example where vectorization significantly improves performance compared to a traditional loop.

採用された回答

recent works
recent works 2023 年 7 月 31 日
編集済み: Walter Roberson 2023 年 8 月 22 日
Example to calculate the cumulative sum of an array using a for-loop and its vectorized version:
% Sample array
arr = 1:100000;
% Using for-loop
tic;
sum_loop = 0;
for i = 1:length(arr)
sum_loop = sum_loop + arr(i);
end
time_loop = toc;
% Using vectorization
tic;
sum_vectorized = sum(arr);
time_vectorized = toc;
disp("Using for-loop: Sum = " + sum_loop + ", Time taken = " + time_loop + " seconds.");
disp("Using vectorization: Sum = " + sum_vectorized + ", Time taken = " + time_vectorized + " seconds.");
  1 件のコメント
Les Beckham
Les Beckham 2023 年 7 月 31 日
In case someone want to actually see the results:
% Sample array
arr = 1:100000;
% Using for-loop
tic;
sum_loop = 0;
for i = 1:length(arr)
sum_loop = sum_loop + arr(i);
end
time_loop = toc;
% Using vectorization
tic;
sum_vectorized = sum(arr);
time_vectorized = toc;
disp("Using for-loop: Sum = " + sum_loop + ", Time taken = " + time_loop + " seconds.");
Using for-loop: Sum = 5000050000, Time taken = 0.019152 seconds.
disp("Using vectorization: Sum = " + sum_vectorized + ", Time taken = " + time_vectorized + " seconds.");
Using vectorization: Sum = 5000050000, Time taken = 0.001957 seconds.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeLoops and Conditional Statements についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by