Il metodo iterativo con Excel

Introduzione

Con il metodo iterativo di Excel è possibile eseguire facilmente calcoli anche complessi. Ad esempio è possibile esprime l’equazione del moto F = m*a. Nota la massa m e l’accelerazione a(t) (nel tempo t) si può calcolare la velocità V(t) e lo spazio S(t). Infatti, fissando un intervallo di tempo dt (in cui si può considerare a(t) e v(t) costanti) si può scrivere:    V1 =Vo+ao*dt      S1 =So+Vo*dt     avendo indicato con Vo e So i valori iniziali. Incrementando l’accelerazione di dt cioè  a1= a(to+dt) si calcolano i nuovi valori:              V2 =V1+a1*dt      S2 =S1+V1*dt. Iterando si trovano le equazioni del moto V(t) ed S(t).

A fianco è riportato in  Excel un esempio di calcolo.

Cattura1 Nella colonna “Eq. del moto”: Nelle celle bianche sono riportati i dati: So = 0,  Vo= 1 ed a(t) = 2*t; Nelle altre celle di tale colonna sono scritte le formule (che sono visualizzate sul lato destro) con i valori V(t) e S(t). Nel calcolo è stato definito dt = 0,1. Il calcolo viene iterato con il tasto F9.

Vediamo di comprendere il metodo iterativo Quando una formula fa riferimento direttamente o indirettamente alla propria cella, si verifica un riferimento circolare e il calcolo non viene eseguito se non si attivata la casella di Controllo Iterazioni. Tale calcolo verrà eseguito utilizzando i risultati dell’iterazione precedente. Come già detto tale procedura è utilissima per risolvere, con poche celle, molti calcoli iterativi: integrazioni di funzioni, equazioni di funzioni, equazioni differenziali, ecc..

Impostazione

Come si attiva il procedimento iterativo:

  1. Scegliere Opzioni dal menu Strumenti, quindi scegliere la scheda Calcolo.
  2. Selezionare la casella controllo Iterazioni;
  3. Impostare Numero massimo =1;
  4. Impostare il calcolo su Manuale. (con il Tasto F9  si calcolano le formule di tutte le cartelle di lavoro).
Iterazione.JPG

Iterazione.JPG

Con tale impostazione possiamo, scrivere adesso formule con riferimenti circolari. Ad esempio: ponendo la cella [A22] “= [A22]+1”, ad ogni F9 la cella [A22] aumenta di 1.

Alcune regole

Creazione di variabili e di funzioni Per potere utilizzare l’iterazione è necessario che almeno una cella ad ogni iterazione vari il suo valore. Se, ad esempio, poniamo [A22] “=A22+A21”, con [A21] “=0,1” la [A22] ad ogni F9 si incrementa di 0,1. In tal modo abbiamo creato la variabile [A22] .Se scriviamo, allora, nella cella [A23] una formula contenente la variabile [A22] abbiamo reso la cella [A23] funzione della variabile [A22]. Iterando, infatti, n volte con F9 vengono calcolati n valori della funzione.

Reset variabile Con la formula [A22] “=A22+A21” la variabile [A22] ad ogni iterazione si incrementa di A21. Per resettare la variabile e poter ripartire dall’inizio, si può utilizzare una cella “test” scrivendo la formula con la condizione: [A22] “= SE(A21;A22+1;0)” (che significa: se la cella A21=”VERO” (diversa da zero) allora A22=A22+1 (incremento), se invece A21=”FALSO” (uguale a zero) allora A22=0 (azzeramento).

Valore iniziale Per fare iniziare la cella A22 con il valore iniziale xo, inserire tale valore nella condizione: [A22] “= SE(A21;A22+1;xo)” (vedi applicazione).

Posizione delle celle Bisogna tenere presente che nell’iterazione i calcoli vengono eseguiti a partire dalla cella in alto a sinistra. Pertanto si deve fare attenzione a porre  la variabile prima della funzione.

Numero Iterazioni Se per il calcolo si pone: Numero massimo = n, ad ogni F9 il programma esegue n iterazioni. Si può, pertanto, utilizzare questa impostazione quando non è necessario conoscere i valori intermedi ma solo il valore finale del calcolo.

Un semplice esempio

Calcolo della serie 0,5^n/2 : Nella celle porre  [C4]  = 0,5^A6/2  (serie da calcolare)  [C5] =SE($B$2;C5+C4;0) (formula per la somma della serie). Ponendo A6 “=A6+1”  ad ogni  F9 si ha un incremento di A6  di 1, mentre in [C4] viene calcolato un nuovo valore della serie; in C5 tale valore viene sommato agli altri valori della serie.

Cattura3

Considerazioni sul procedimento

  • E’ facile creare “operatori” senza Macro;
  • Gli “operatori” è costituiti da poche celle;
  • Ogni “operatore” può essere copiato copiando le sue celle;
  • Utilizzando le funzioni logiche di Excel è possibile inserire negli operatori condizioni, e creare collegamenti tra essi;
  • E’ possibile eseguire contemporaneamente diversi calcoli;
  • Se i valori calcolati vengono riportati in una tabella, essi potranno essere rappresentati in un grafico (grafico a dispersione).

Tale metodo di calcolo risulta semplice e potente: con poche celle e senza alcuna riga di programmazione si possono calcolare integrali, radici di equazioni, equazioni differenziali, e risolvere contemporaneamente diverse equazioni o sistemi di equazioni differenziali !!! Ritengo che le potenzialità di tale procedimento siano poco conosciute ed utilizzate. Molti altri aspetti devono essere studiati e sviluppati. E’ gradita la partecipazione di visitatori  per lo sviluppo  di tale procedimento di calcolo.

Molti esempi di calcolo (funzioni, derivate, integrali, equazioni dinamiche discrete, equazioni di La Place, …) sono scaricabili dal sito One Drive.

Il metodo iterativo con Excelultima modifica: 2015-01-06T00:00:07+01:00da programmiexcel
Reposta per primo quest’articolo