Cancellazione numerica matlab

Messaggioda Vanzan » 29/07/2014, 10:18

Ciao ragazzi!! sto implementando su matlab un metodo numerico per risolvere nel discreto il sistema di equazioni differenziali
$a_1' = -2k(a^2-ab)$
$a_2'= k(a^2-ab)$
$a_3'=k(a^2-ab)$
In particolare le incognite sono concentrazioni e la loro somma vale uno.
Implementando su matlab il metodo
$P*_{a1} = P_{a1} -2*mu*(( P_{a1}) ^2 -P_{a2} P_{a3])$
$P*_{a2} = P_{a2} +mu*( (P_{a1}) ^2 -P_{a2} P_{a3])$
$P*_{a3} = P_{a3} +mu*( (P_{a1} )^2 -P_{a2} P_{a3])$
Dopo un certo numero di iterazioni la somma dei $P^*_{ai}$ si scosta sempre di più da uno. Sono giunto quindi alla conclusione che sia il fenomo della cancellazione numerica nella parentesi. Mi è venuto in mente il trucco che facendo la somma 1 potrei calcolare i primi due e il terzo ottenerlo come $1-P_{a1} - P_{a2}$ ma non so quanto sia lecito :-S Consigli??Grazie :)
Vanzan
Average Member
Average Member
 
Messaggio: 247 di 518
Iscritto il: 24/02/2011, 19:21

Re: Cancellazione numerica matlab

Messaggioda walter89 » 29/07/2014, 18:06

secondo me calcolando il terzo elemento in questo modo gli risulterebbe un errore maggiore rispetto agli altri, mentre calcolandoli insieme anche se la somma non è esatta l'errore dovrebbe rimanere equidistribuito tra i tre elementi

esistono molti metodi per equazioni differenziali quindi forse ce ne sono di più adatti per questo tipo di problema...
walter89
Senior Member
Senior Member
 
Messaggio: 899 di 1817
Iscritto il: 30/10/2009, 21:11

Re: Cancellazione numerica matlab

Messaggioda Vanzan » 29/07/2014, 18:59

Si infatti se calcolo esplicitamente tutti e tre ottengo dei risultati(la somma non fa più uno) diversi rispetto a calcolarne solo due e poi il terzo utilizzando la relazione.
Il fatto è che dietro c'è tutta una pappardella teorica sulle reazioni chimiche dove alla fine si ottiene questa precisa discretizzazione dell'equazione di massa. :?
Vanzan
Average Member
Average Member
 
Messaggio: 248 di 518
Iscritto il: 24/02/2011, 19:21


Torna a Analisi Numerica e Ricerca Operativa

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite