Oppure

Loading
30/11/09 18:11
zaire90
Salve, potete linkarmi o dire dove trovare un codice in c che risolve un sistema lineare applicando il metodo di Jacobi per favore...perchè sto provando a farlo con degli appunti molto scarsi e sul web non è mi si chiariscano molto le idee.
O se almeno mi potreste dire dove andarlo a studiare perchè spiegato bene...GRAZIE:hail:
aaa
30/11/09 19:23
ingMark
L'altr'anno ne ho implementata una versione matlab durante il corso di calcolo numerico.

%es11



function [x,r] = jacobi(A,b,itermax);



N = length(b);

D = diag(diag(A));

x= zeros(N,1);



%facoltativo per verificare la teoria

%si calcola il raggio spettrale della matrice

%se il raggio spettrale è minore di uno il metodo converge

I = eye(N);

D1 = inv(D);

Bj = I - D1*A; %matrice di interazione di jacobi

r = max(abs(eig(Bj))); %raggio spettrale

%////////////////////////////////////////



for i=1:itermax

x = D1*((D-A)*x+b);

%x = D\((D-A)*x+b); da usare se non si calcola il raggio spettrale

end;


Tradurlo in C non dovrebbe essere molto difficile, a patto di avere qualche nozione di algebra lineare (wikipedia ti può sicuramente aiutare)
aaa