Vectorized array operation which depends on previous array value
Afficher commentaires plus anciens
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 commentaire
Matt J
le 23 Jan 2018
I think you would have to use either Simulink or a MEX routine.
Réponse acceptée
Plus de réponses (1)
Torsten
le 23 Jan 2018
a(2:end)=b(2:end)+a(1:end-1).*c(2:end);
Best wishes
Torsten.
2 commentaires
Walter Roberson
le 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
le 23 Jan 2018
Catégories
En savoir plus sur Operators and Elementary Operations 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!