Vectorized array operation which depends on previous array value
Show older comments
Hi,
There is any way of making this operation vectorized?
a = ones(1000,1);
b = rand(1000,1);
c = rand(1000,1);
for i=2:1000
a(i) = b(i) + a(i-1) .* c(i);
end
I really appreciate your help, Many thanks, Dylan
1 Comment
Matt J
on 23 Jan 2018
I think you would have to use either Simulink or a MEX routine.
Accepted Answer
More Answers (1)
Torsten
on 23 Jan 2018
a(2:end)=b(2:end)+a(1:end-1).*c(2:end);
Best wishes
Torsten.
2 Comments
Walter Roberson
on 23 Jan 2018
This would copy out the original a values and use them in the computation. The original code uses the a values that were just set in the previous iteration.
Dylan Marques
on 23 Jan 2018
Categories
Find more on Operators and Elementary Operations 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!