Vectorization of a loop that uses past values

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

 Réponse acceptée

Dinesh Yadav
Dinesh Yadav le 23 Juil 2020

0 votes

You cannot vectorize the above code as you have cyclic dependency in your code.

Plus de réponses (0)

Catégories

En savoir plus sur Loops and Conditional Statements dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by