Vectorization of a loop that uses past values

조회 수: 1 (최근 30일)
Berkay Güler
Berkay Güler 2020년 7월 20일
답변: Dinesh Yadav 2020년 7월 23일
Is it possible to vectorize a loop if it uses past values? When iterations have a large number, simulation takes time to finish which i want to avoid. But i couldn't understand how to vectorize a loop when it has a past value.
N=100;
iterations=20000;
x=randn(1,N);
x=[x zeros(1,iterations-N)];
out=0;
sig=zeros(1,length(x)+1);
y=zeros(1,N+1);
for i=1:iterations
out=x(i) +0.5*(y(N)+y(N+1));
y=[out, y(1:length(y)-1)];
sig(i) =out;
end

채택된 답변

Dinesh Yadav
Dinesh Yadav 2020년 7월 23일
You cannot vectorize the above code as you have cyclic dependency in your code.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by