Pagina 1 di 1
Esercizio con mathematica
Inviato: 09 nov 2006, 12:04
da gioka
Salve ragazzi...dovrei svolgere Il sistema lineare Ax=b o meglio (P-N)x=b attraverso richardson....prendendo A simmetrica e P matrice identita.
Premetto conosco poco richardson e pochissimo mathematica...
Non so qualsiasi aiuto è buono...io parrtirei:
Quale la sintassi in matematica per fare una matrice Simmetrica 3X3
aij se i=j allora aij=n+1
aij se i diverso da j allora metto 1 (tutti uno all'infuori della diagonale principale)
Questa è la matrice A
4 1 1
1 4 1
4 4 1
Grazie!
Inviato: 09 nov 2006, 12:10
da Catraga
A questo topic esiste gia' una risposta, controlla tra i post recenti mi sembra si chiami "Esercizio di analisi numerica"
Non proprio uguale
Inviato: 09 nov 2006, 12:15
da gioka
si xo sinceramente non è del tutto chiaro anche perchè la matrice A non era simmetrica..
Grazie Comunque
Hai ragione....
Inviato: 10 nov 2006, 11:24
da gioka
e = 0.1;
α = 2;
n = 5;
b = Table[1, {i, 1, n}];
A = Table[1 + n*KroneckerDelta[i, j], {i, 1, n}, {j, 1, n}];
x0 = Table[1.5, {i, 1, n}];
r0 = b - A.x0;
x = x0;
r = r0;
i = 0;
While[Norm[r] ≥ ϵ*Norm
,
{
i++;
x = x + α*r;
r = b - A.x;
}
]
Print["Numero di iterazioni:"];
Print
Print["Soluzione raggiunta:"]
MatrixForm[x]
Ok hai ragione riguardandolo direi che fa proprio al caso mio... 
Solo non lavora bene...sapete aiutarmi?!
Poi non capisco se il segno di moltiplicazione si fa * oppure . ?
x = x + α*r
r0 = b - A.x0
Vedete queste dovrebbero essere moltiplicazioni entrambi però una volta usa . e una *
Inviato: 10 nov 2006, 12:58
da Catraga
Dipende se fai moltiplicazione vettoriale o scalare.
Non funziona perche' devi settare i parametri in modo che il metodo di Richardson converga.
Eccomi
Inviato: 10 nov 2006, 13:53
da gioka
Per gli scalari quale si usa? e per i vettori?
Ok su table cè l'errore invece di 1 è 2n
b = Table[2n, {i, 1, n}];
Mi potresti fare un esempio...cosa devo correggere su questo programma per farlo funzionare correttamente non riesco a venirne a capo

Ho sbagliato :D
Inviato: 10 nov 2006, 13:53
da gioka
errore ho ripetuto due volte la risposta
