MATLAB Answers

Vectorization of Loops with Matrix Multiplications

1 ビュー (過去 30 日間)
Tommaso Belluzzo
Tommaso Belluzzo 2020 年 3 月 30 日
回答済み: Matt Shellhammer 2020 年 3 月 31 日
Hi all. I have the following code which is being repeated many times with different time series and this is producing a huge bottleneck on my code:
%% Example Data
t = 252;
h = randn(252,2);
l = round(0.1 * t,0);
%% Loop
for i = 1:(l - 1)
o_tmp = h(1,:).' * h(1+i,:);
for j = 2:(t - i)
o_tmp = o_tmp + h(j,:).' * h(j+i,:);
end
o_tmp = o_tmp / (t - i);
end
I would like ti know if there is a suitable way to improve it, maybe by vectorizing all computations or just some of them. Any suggestion is more than welcome. Thanks in advance for your help!

  1 件のコメント

David Hill
David Hill 2020 年 3 月 30 日
It would help if you explained what you are trying to do (big picture).

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

採用された回答

Matt Shellhammer
Matt Shellhammer 2020 年 3 月 31 日
%% Example Data
t = 252;
h = randn(252,2);
l = round(0.1 * t,0);
%% Loop
for i = 1:(l - 1)
o_tmp = (h(1:(t-i),:).' * h((1+i):t,:))/(t-i);
end

  0 件のコメント

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

その他の回答 (0 件)

製品


リリース

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by