Vectorization of a loop that uses past values

1 view (last 30 days)
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

Accepted Answer

Dinesh Yadav
Dinesh Yadav on 23 Jul 2020
You cannot vectorize the above code as you have cyclic dependency in your code.

More Answers (0)

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!