Esercizio con mathematica

Analisi, algebra lineare, topologia, gruppi, anelli, campi, ...
Rispondi
gioka
Messaggi: 6
Iscritto il: 07 nov 2006, 20:35

Esercizio con mathematica

Messaggio 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!
Avatar utente
Catraga
Messaggi: 302
Iscritto il: 01 gen 1970, 01:00
Località: Trieste (Univ)

Messaggio da Catraga »

A questo topic esiste gia' una risposta, controlla tra i post recenti mi sembra si chiami "Esercizio di analisi numerica"
gioka
Messaggi: 6
Iscritto il: 07 nov 2006, 20:35

Non proprio uguale

Messaggio da gioka »

si xo sinceramente non è del tutto chiaro anche perchè la matrice A non era simmetrica..
Grazie Comunque
gioka
Messaggi: 6
Iscritto il: 07 nov 2006, 20:35

Hai ragione....

Messaggio 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... :D

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 *
Avatar utente
Catraga
Messaggi: 302
Iscritto il: 01 gen 1970, 01:00
Località: Trieste (Univ)

Messaggio da Catraga »

Dipende se fai moltiplicazione vettoriale o scalare.
Non funziona perche' devi settare i parametri in modo che il metodo di Richardson converga.
gioka
Messaggi: 6
Iscritto il: 07 nov 2006, 20:35

Eccomi

Messaggio 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 :?
gioka
Messaggi: 6
Iscritto il: 07 nov 2006, 20:35

Ho sbagliato :D

Messaggio da gioka »

errore ho ripetuto due volte la risposta :D
Rispondi