Linguaggi | Manuali | Compilatori | Programmi | Script | Software | Linux | Windows | Html
Linguaggi

C
C++
JAVA
PERL
COBOL
PASCAL
MATLAB
FORTRAN77
FORTRAN90

JAVASCRIPT

VISUALBASIC

Sistemi operativi

LINUX
WINDOWS
UNIX
MAC

Software

AUTOCAD
GNUPLOT
OCTAVE
SCILAB

Metodo di Gauss Seidel RILASSATO per sist. lin.
%****************************************************************
% 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.
%
% Autori: mf
%*****************************************************************

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
format
Partner

Guida Fortran
Guida Matlab

English Version
Tutorials
Programming
Lavoro
Lavoro in rete
Telelavoro
Webmaster
Webmaster
Xml

Gratis
Autore
G. Ciaburro
Curriculum
Tesi