Re: Equazione del calore

Messaggioda feddy » 14/06/2018, 14:44

A parte che nel messaggio che hai appena scritto stai usando un theta-metodo generico (ma in trapezi si ha $\theta=\frac{1}{2}$), comunque non specifichi $y_n$ e $y_{n+1}$, quindi io leggendo questo

sophii ha scritto:$ y = ((I+k*(1-\theta)*A))/(I-k*\theta*A) $


vedo un "rapporto" tra matrici, cosa che non ha senso. Al limite si moltiplica per l'inversa, ma il rapporto non è definito.

Il ragionamento è questo: se togli il termine sorgente, e guardi l'equazione di partenza, allora vedi che il problema discretizzato risulta subito $y'=Ay(t)$. Basta applicare lo stesso ragionamento fatto nella mia prima risposta, usando trapezi: $(I - \frac{k}{2}A) y_{n+1}=(I+ \frac{k}{2} A ) y_{n}$. Come vedi al primo membro si ha un vettore, e al secondo anche.
Avatar utente
feddy
Moderatore
Moderatore
 
Messaggio: 1967 di 5934
Iscritto il: 26/06/2016, 00:25
Località: SISSA

Re: Equazione del calore

Messaggioda feddy » 14/06/2018, 14:49

Per risolvere questo NON SI MOLTIPLICA per
Codice:
inv(speye(m) - k*0.5*A)

Ma si risolve il sistema lineare corrispondente, dal momento che l'inversione di matrice è mal condizionata in MatLab
Avatar utente
feddy
Moderatore
Moderatore
 
Messaggio: 1968 di 5934
Iscritto il: 26/06/2016, 00:25
Località: SISSA

Re: Equazione del calore

Messaggioda sophii » 14/06/2018, 16:07

okok capito..grazie!!
sophii
Starting Member
Starting Member
 
Messaggio: 11 di 30
Iscritto il: 03/06/2018, 19:27

Re: Equazione del calore

Messaggioda feddy » 14/06/2018, 16:11

prego !
Avatar utente
feddy
Moderatore
Moderatore
 
Messaggio: 1969 di 5934
Iscritto il: 26/06/2016, 00:25
Località: SISSA

Precedente

Torna a Analisi Numerica e Ricerca Operativa

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite