Il ciclo while in Matlab ripete un gruppo di istruzioni un numero indefinito di volte attraverso il controllo di una condizione logica. L’istruzione END posta alla fine del ciclo ne delinea le istruzioni.
Il ciclo while in Matlab si utilizza quando non si conosce in anticipo il numero di volte per il quale il ciclo dovrà essere ripetuto. Prima di ogni ripetizione, Matlab verifica la condizione, se risulta vera il ciclo sarà eseguito; allora vengono eseguite tutte le istruzioni presenti fino all’istruzione end, arrivati a questo punto è nuovamente verificatala condizione. Se risulta ancora vera il ciclo viene eseguito nuovamente…. Quando Matlab verifica che la condizione è diventata falsa il ciclo termina e vengono eseguite le istruzioni successive all’end. La variabile contenuta nella condizione prende il nome di variabile di ciclo.
Di seguito è riportato un programma completo, che illustra in modo semplice ed immediato l’utilizzo corretto delle strutture di controllo del flusso while e if. Il programma utilizza il metodo della bisezione per trovare uno zero di un polinomio.
a = 0; fa = -Inf; b = 3; fb = Inf; while b-a > eps*b x = (a+b)/2; fx = x^3-2*x-5; if sign(fx) == sign(fa) a = x; fa = fx; else b = x; fb = fx; end end x
Il risultato è la radice del polinomio x3 – 2x – 5, vale a dire:
x = 2.09455148154233
LINK DI APPROFONDIMENTO PER L’ARGOMENTO:
- Elementi di programmazione in Matlab
- Manuale Matlab
- Struttura switch e case in Matlab
- Istruzione IF in Matlab
- Cicli FOR in Matlab