Laço FOR no Matlab
Abordaremos agora o funcionamento do laço FOR no Matlab.
O que é, afinal, um laço FOR? Trata-se de uma estrutura cíclica programada para executar um bloco de código repetidas vezes, cada uma dessas repetições conhecida como uma iteração.
Veja como é a sintaxe para a instrução FOR no Matlab:
for variável = início:passo:fim
bloco de instruções
end
A linha inicial da instrução FOR define a variável que serve como contador do laço, além de especificar três parâmetros essenciais: os valores de início, passo e fim.
- O valor início é aquele que dá partida ao contador do laço
- O passo se refere ao incremento aplicado ao contador após cada iteração
- E o valor fim determina o ponto final do laço.
O bloco de código, por sua vez, consiste em uma série de instruções executadas a cada passagem pelo laço.
A palavra "end" ao final do bloco de instruções marca o término desse segmento.
Observação: O laço FOR é considerado um "laço determinado", pois o número de iterações é conhecido antecipadamente. Caso precise de um laço com número indeterminado de iterações, utilize as instruções while ou do-until.
Ilustremos com um exemplo prático:
Imagine que desejamos imprimir os números de 1 a 9. Isso pode ser facilmente alcançado com um laço FOR, conforme demonstrado a seguir .
for x=1:9
disp(x);
end
Neste exemplo, x é a variável contador do laço, com valores iniciais e finais definidos como 1 e 9, respectivamente.
A ausência de um valor de passo explícito leva o Matlab a adotar o incremento padrão de +1.
1
2
3
4
5
6
7
8
9
Para imprimir somente os números ímpares de 1 a 9, utilizamos um passo de 2, assim:
for x=1:2:9
disp(x);
end
Nesta configuração, os parâmetros 1:2:9 do laço FOR estabelecem o início (1), o passo (2) e o fim (9).
Desta forma, o script exibe apenas os números ímpares dentro do intervalo estipulado:
1
3
5
7
9
Alternativamente, para uma contagem regress iva de 9 a 1, adotamos um passo negativo:
for x=9:-1:1
disp(x);
end
Neste caso, os parâmetros 9:-1:1 do laço FOR indicam o valor inicial (9), o passo (-1) e o valor final (1).
Com isso, o script aplica um decremento de -1 a cada iteração, resultando na seguinte sequência:
9
8
7
6
5
4
3
2
1
O laço FOR também pode ser utilizado para iterar sobre arrays ou quaisquer outros objetos iteráveis.
Por exemplo, neste script, a instrução for x = v imprime os elementos do vetor v = [1 2 3 4]:
v = [1 2 3 4];
for x=v
disp(x);
end
O resultado obtido é:
1
2
3
4
Espero que esta explicação tenha sido esclarecedora.