Metodi e Applicazioni numeriche nell’Ingegneria Chimica Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica
Soluzione di sistemi non lineari Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica
Metodi e Applicazioni numeriche nell’Ingegneria Chimica In che cosa consiste il problema della soluzione di sistemi non lineari? Si supponga di avere un sistema di funzioni f(x) che dipendano da più variabili, x. Il problema della soluzione del sistema consiste nel trovare un valore di x, xs, che soddisfi il sistema: Esempio Trovare il valore di x, xs, che azzeri le due equazioni: partendo dal punto di primo tentativo x1 = 0, x2 = 1 Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica
Metodi e Applicazioni numeriche nell’Ingegneria Chimica Quali e quanti programmi servono? Una sola soluzione, funzione continua ecc. Una sola equazione Più soluzioni, funzione discontinua ecc. Una sola soluzione, funzione continua ecc. Più di un’equazione Più soluzioni, funzione discontinua ecc. Programmi generali che sfruttano la struttura del sistema Moltissime equazioni Metodi ad hoc Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica
Programma basato sul teorema di Bolzano Il teorema di Bolzano afferma che per funzioni continue esiste almeno un punto di zero entro un intervallo tA tB ai cui estremi la funzione assume valori di segno opposto. tA tB y(tA) < 0 y(tB) > 0 y(t) t Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica
Metodi e Applicazioni numeriche nell’Ingegneria Chimica Un intervallo tA tB ai cui estremi la funzione assume valori di segno opposto viene chiamato intervallo di incertezza. tA tB y(tB) > 0 y(tA) < 0 tA tB y(tA) > 0 y(tB) < 0 Quando si conosce un intervallo di incertezza può essere utilizzato un programma costituito da un algoritmo estremamente robusto (metodo del dimezzamento) e da vari algoritmi estremamente efficienti e anch’essi implementati in modo da essere robusti (interpolazione). Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica
Metodi e Applicazioni numeriche nell’Ingegneria Chimica Il metodo del dimezzamento è basato sul seguente fatto che deriva dal teorema di Bolzano: se si sa che tA tB è un intervallo di incertezza e la funzione viene calcolata in un punto ti interno a tale intervallo il nuovo intervallo di incertezza sarà ti tB quando y(ti) ha lo stesso segno di y(tA) oppure sarà tA ti quando y(ti) ha lo stesso segno di y(tB). y(ti) ha lo stesso segno di y(tA) perciò il nuovo intervallo di incertezza sarà ti tB. tB ti tB tA tA ti Sposto quindi tB in ti. Sposto quindi tA in ti. y(ti) ha lo stesso segno di y(tB) perciò il nuovo intervallo di incertezza sarà tA ti. Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica
Metodi e Applicazioni numeriche nell’Ingegneria Chimica Il metodo del dimezzamento ottimizza la scelta del nuovo punto ti. Infatti se si sceglie il punto di mezzo dell’intervallo di incertezza si rende minimo il massimo intervallo finale. Una scelta diversa potrebbe risultare migliore in alcune circostanze, ma peggiore in altre e perciò non sarebbe quella che minimizza il massimo intervallo finale. Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica
Vantaggi del metodo del dimezzamento Il metodo converge sempre alla soluzione. E’ possibile sapere a priori il numero di iterazioni necessarie per ridurre di una assegnata percentuale l’intervallo iniziale. E’ il metodo più efficiente per funzioni non monotone ossia aventi massimi e minimi nell’intervallo. Svantaggi del metodo del dimezzamento Ha sempre la stessa efficienza indipendentemente dalla funzione considerata. Mentre ciò è un pregio per funzioni molto complicate risulta viceversa uno svantaggio con funzioni molto semplici. In particolare quando l’intervallo di incertezza è molto piccolo spesso la funzione può essere ragionevolmente approssimata con una retta. Richiede la conoscenza di un intervallo di incertezza. Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica
Metodi che approssimano la funzione con una più semplice Questi metodi utilizzano alcuni punti della funzione già calcolati per effettuare un’interpolazione esatta. Viene poi usato il modello che interpola esattamente la funzione per stimare il valore di t per cui essa si azzera. Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica
I seguenti modelli sono possibili candidati Polinomio di primo grado: Polinomio di secondo grado: Funzione razionale di grado 1,1: Polinomio inverso di grado n: Funzione razionale inversa di grado n,m: Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica
Metodi e Applicazioni numeriche nell’Ingegneria Chimica Metodo delle secanti Nel metodo delle secanti i due parametri del polinomio: vengono calcolati ad ogni iterazione i-esima utilizzando le ordinate di supporto yi e yi-1 nei punti ti e ti-1. Il polinomio nel punto ti diventa: Il polinomio rappresenta la secante fra i due punti ti-1 e ti. Esso si azzera per: che rappresenta la formula iterativa del metodo delle secanti. Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica
Metodi e Applicazioni numeriche nell’Ingegneria Chimica yi-1 yi ti+1 ti ti-1 Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica
Metodi e Applicazioni numeriche nell’Ingegneria Chimica Metodo della regula falsi Nel metodo della regula falsi i due parametri del polinomio: vengono calcolati ad ogni iterazione i-esima utilizzando le ordinate di supporto yA e yB nei punti estremi dell’intervallo di incertezza tA tB. Il polinomio diventa: Il polinomio rappresenta la secante fra i due punti tA e tB. Esso si azzera per: Se la funzione nel punto ti ha lo stesso segno che ha in tA il punto tA viene spostato in ti. Se viceversa la funzione nel punto ti ha lo stesso segno che ha in tB il punto tB viene spostato in ti. Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica
Metodi e Applicazioni numeriche nell’Ingegneria Chimica yB tA ti tB yA Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica
Vantaggi del metodo della regula falsi Il metodo della reguala falsi garantisce la convergenza alla soluzione. La velocità di convergenza è abbastanza buona (è anche in questo caso superlineare). Svantaggi del metodo della regula falsi La velocità di convergenza è minore di quella del metodo delle secanti. Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica
Metodi e Applicazioni numeriche nell’Ingegneria Chimica Un programma robusto è richiesto quando: 1. Non si conoscono due punti per cui y(tA)y(tB) < 0 2. Il problema ammette più soluzioni 3. La funzione non è calcolabile in qualche punto 4. La funzione non cambia segno nell’intervallo. Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica
Metodi e Applicazioni numeriche nell’Ingegneria Chimica Esempio Si desidera trovare gli zeri della funzione: Nell’intervalol tMin = 0 tMax = 7 La funzione non può essere calcolata qunado 720.+t*(-720.+(t-1.) *(360.+(t-2.) * (-120.+ (t-3.)*(30.+(t-4.)*(-11.+t))))) è minore o uguale a 0 La funzione ha sei soluzioni entro l’intervallo Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica
Metodi e Applicazioni numeriche nell’Ingegneria Chimica Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica
Metodi e Applicazioni numeriche nell’Ingegneria Chimica Anche in questo caso si deve trovare un metodo robusto ed uno efficiente e integrarli in modo opportuno. Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica
Metodi e Applicazioni numeriche nell’Ingegneria Chimica Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica