フィルターのクリア

Vectorization of nested for loop

1 回表示 (過去 30 日間)
Ilaria
Ilaria 2023 年 10 月 12 日
編集済み: Ilaria 2023 年 12 月 8 日
Hello,
I am trying to vectorise a piece of code. The code is the following:
main_calc=zeros(N,length(time)); %initialize main calculation
for wall_send=1:length(6) %sending wall
for send=1+lenght(wall_send):lenght(wall_send+1) %elements on the sending wall
for wall_rec=1:length(6) %receiving wall
for rec=1+lenght(wall_send):length(wall_send+1) %elements of receiving wall
main_calc(rec,time_step_ij)=main_calc(rec,time_step_ij)+previous_calc(send,time_step_ij); %new calc
end
end
end
end
previous_calc=main_calc; %update
How do I vectorize the above code?
Thank you
  1 件のコメント
Rena Berman
Rena Berman 2023 年 12 月 5 日
(Answers Dev) Restored edit

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

回答 (1 件)

Sulaymon Eshkabilov
Sulaymon Eshkabilov 2023 年 10 月 12 日
I don't think what you are doing is a vectorization. Here is a simple demo of vectorization :
% Loop
x = linspace(0, 2*pi);
y = linspace(-pi, pi);
Z = zeros(numel(x), numel(y));
for ii = 1:numel(x)
for jj=1:numel(y)
Z(ii,jj) = sin(x(ii))+cos(y(jj));
end
end
figure(1)
mesh(Z)
title('Computed with a loop')
% Vectorization
x = linspace(0, 2*pi);
y = linspace(-pi, pi);
[X, Y] = meshgrid(x,y);
Z = sin(X)+cos(Y);
figure(2)
mesh(Z')
title('Computed with a vectorization')
  1 件のコメント
Ilaria
Ilaria 2023 年 10 月 16 日
i am not sure this does help me. What should I do in my case?

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

カテゴリ

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