| V I S U A L I Z Z A D I S C U S S I O N E |
| Daniele22 |
Inserito il - 05/06/2004 : 20:11:36 Ciao a tutti ragazzi!Sono uno studente di Roma e navigando su internet ho scoperto questo forum,bellissima iniziativa!!! Vorrei chiedervi un favore:non è che per caso qualcuno di voi avrebbe a disposizione un codice in linguaccio C dell'algoritmo di Gauss-Siedel per la risoluzione dei sistemi lieari?Ho provato a cercare in rete,ma finora nessun risultato  Vi sarei enormemente grato!!! |
| 2 U L T I M E R I S P O S T E (in alto le più recenti) |
| Chilavert |
Inserito il - 06/06/2004 : 10:40:35 Il metodo di Gauss Siedel "Rilassato" in matlab è questo:
%*********************************** % File: GAUSERI.M % % Scopo: Metodo di Gauss Seidel RILASSATO per sist. lin. % % Uso: [xv,iter]=gauseri(a,f,xin,nmax,toll,omega) % % Input: A mat. sistema, F vet. termini noti, XIN vet. iniziale % NMAX numero max iterazioni, TOLL precisione richiesta. % OMEGA fattore di rilassamento % % Output: XV vettore soluzione, ITER numero iterazioni % Richiami: % % Commenti: Non si controllano le condizioni di convergenza. % Attenzione: il ciclo for j=1:n .... e' indispensabile % per la corretta eseguzione dell'algoritmo. % %***********************************
function [xv,iter]=gauseri(a,f,xin,nmax,toll,omega) % Costruzione matrici d'iterazione [n,m]=size(a); d=diag(a); dm1=ones(n,1)./d; dm1=diag(dm1); b=eye(a)-dm1*a; g=dm1*f; bu=triu(b); bl=tril(b); % Iterazioni xv=xin; xn=xv; i=0; while i < nmax, for j=1:n; xn(j)=(1-omega)*xv(j)+omega*(bu(j,:)*xv+bl(j,:)*xn+g(j)) end; if abs(xn-xv)>toll, iter=i; i=nmax+1; else xv=xn; i=i+1; end, end if i==nmax, disp(' *** ERROR *** non converge '), end
convertirlo in C non è poi così difficile... il Matlab è alquanto una cazzata... se ti servono aiuti, non esitare a chiedere...
ciaux |
| genius |
Inserito il - 06/06/2004 : 09:51:55 Daniele, innanzitutto grazie per i complimenti, ma purtoppo devo darti una notizia bruttina... è possibile ke molti abbiamo quell'algoritmo, ma è difficilissimo ke lo abbiano in c... qui a Bari x la materia in cui si studia quell'argomento si usa il matlab...al max potresti tradurlo tu dal matlab, no? |
|
|