Vectorize for loop with recursion

2 visualizaciones (últimos 30 días)
olf nair
olf nair el 27 de Mzo. de 2020
Comentada: olf nair el 27 de Mzo. de 2020
Hi all,
I have a for loop, which I'm struggeling to vectorize.
I've made a short example of what I'm trying to accomplish here.
This is not my exact code but I hope it shows the dilemma.
Does anyone have a clue?
Thanks in advance!
P1 = zeros(10,1);
P2 = zeros(10,1);
P3 = zeros(10,1);
P4 = zeros(10+1,1);
x = 1;
for i=1:10
if P4(i) > 0
P1(i) = x;
else
P2(i) = x;
end
P3(i) = P2(i) + P1(i);
P4(i+1) = P4(i) + P3(i);
end

Respuestas (1)

Birdman
Birdman el 27 de Mzo. de 2020
P1(P4>0)=x;
P2(P4<0)=x;
P3=P1+P2;
P4(2:end)=P3+P4(1:end-1);
  1 comentario
olf nair
olf nair el 27 de Mzo. de 2020
I was thinking about this solution too but unfortunatly this only picks up the main problem:
The if conditions depend on the exact state of P4, which isnt known in that vectorized solution yet.

Iniciar sesión para comentar.

Categorías

Más información sobre Logical en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by