IF / ELSE Usage within For loop for Specific Iteration Only
6 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Sam
el 8 de Feb. de 2014
Comentada: Jos (10584)
el 10 de Feb. de 2014
When using a FOR LOOP can I do something like when
for i=1:1:15
When i iterates at 9, 10, 12 & 14 ONLY do an additional condition. Is it possible? Can i maybe add in an IF Condition? Would be good if i can sum up al the 4 possibilities within this 1 IF Statement. Thanks!
0 comentarios
Respuesta aceptada
Azzi Abdelmalek
el 8 de Feb. de 2014
for i=1:1:15
if ismember(i,[9 10 12 14])
% do
end
0 comentarios
Más respuestas (2)
Jos (10584)
el 9 de Feb. de 2014
As a follow-up, if you only need to perform the statements within a for-loop when the iterator takes specific values, you can change the expression used in the for loop.
for k = 1:10
if ismember(k, [2 5 8])
% statements here
end
end
equals
for k = [2 5 8]
% statements here
end
This neat feature of MatLabs for-loop is easily overlooked ...
2 comentarios
Azzi Abdelmalek
el 9 de Feb. de 2014
Jos, I don't think that's what Sam asked for. He needs to do a for loop for i=1:15, but he wants to add some lines of code for specific values of i
Jos (10584)
el 10 de Feb. de 2014
Yep, I know, (and that's why I posted it as a follow-up). It just serves to illustrate ML functionality when there are NO statements within the for-loop but outside the if-ismember section ...
dpb
el 8 de Feb. de 2014
iskp=[9 10 12 14];
j=1;
for i=1:15
if i==iskp(j) && j<=length(iskp)
j=j+1;
% do whatever else here
end
% rest here (or ahead of if if order-dependent)
...
If you can derive the condition for iskp values then you can have any other manner of generating the test as desired.
Also check out
doc switch
doc case
and friends as alternative structures that may be helpful
Ver también
Categorías
Más información sobre Loops and Conditional Statements 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!