Estratto del documento

Programma per la costruzione di una matrice Laplaciana

Function: [L] = laplacian(n)

Descrizione: Questo programma costruisce una matrice Laplaciana di dimensioni n x n.

L=zeros(n,n);
for i=1:n
    L(i,i)=2;
end
for i=1:n-1
    L(i+1,1)=-1;
    L(i,i+1)=-1;
end

Programma per la costruzione della matrice di Hilbert

Function: H=matrice_hilbert(n)

Descrizione: Questo programma costruisce una matrice di Hilbert di dimensioni n x n.

H=zeros(n);
for i=1:n
    for j=1:n
        H(i,j)=1/(i+j-1);
    end
end

Programma che risolve un sistema triangolare inferiore

Function: x=infsolve(L,b)

Descrizione: Questo programma risolve un sistema triangolare inferiore utilizzando la sostituzione in avanti.

n=size(L,1);
x=zeros(n,1);
for k=1:n
    y=b(k);
    for j=1:k-1
        y=y-L(k,j)*x(j);
    end
    x(k)=y/L(k,k);
end

Programma per risolvere un sistema triangolare superiore

Function: x=supsolve(U,b)

Descrizione: Questo programma risolve un sistema triangolare superiore utilizzando la sostituzione all’indietro.

n=size(U,1);
x=zeros(n,1);
for k=n:-1:1
    y=b(k);
    for j=k+1:n
        y=y-U(k,j)*x(j);
    end 
    x(k)=y/U(k,k);
end

Risolvere un sistema lineare generico

Function: x=sys_solve(A,b)

Descrizione: Risolve un sistema lineare generico. Funziona solo quando lu(..) ritorna una fattorizzazione LU senza pivoting, cioè senza permutazione.

[L,U]=lu(A);
y=infsolve(L,b); % risolve L*y=b
x=supsolve(U,y); % risolve U*x=y

Programma che implementa la fattorizzazione LU di A

Function: [L,U]=fattlu(A)

Descrizione: Questo programma implementa la fattorizzazione LU di una matrice A.

n=size(A,1);
L=eye(n);
for i=1:n
    L(i+1:n,i)=A(i+1:n,i)/A(i,i);
    A(i+1:n,i:n)=A(i+1:n, i:n)-L(i+1:n,1)*A(i,i:n);
end
U=A;

Metodo delle potenze

Function: [x lambda]=powermethod(A,x0,k)

Descrizione: Esegue k passi del metodo delle potenze.

x=x0;
for i=1:k
    x=A*x;
    x=x/max(x); % per evitare possibili underflow o overflow
end
lambda=x'*A*x/(x'*x); % restituisce l'autovalore

Risoluzione del sistema lineare Ax=b con il metodo di Jacobi

Function: [x] = jacobisommatorie(A,b,x0,m)

Descrizione: Risoluzione del sistema lineare Ax=b utilizzando k passi del metodo di Jacobi (con le sommatorie).

n=size(A,1);
x_old=x0;
x_new=zeros(n,1);
for passo=1:m % passi dell'iterazione
    for i=1:n
        c=b(i);
        for j=1:i-1
            c=c-A(i,j)*x_old(j);
        end
        for j=i+1:n
            c=c-A(i,j)*x_old(j);
        end
        x_new(i)=c/A(i,i);
    end
    x_old=x_new;
    norm(b-A*x_new);
end
x=x_new;

Risoluzione del sistema lineare Ax=b con il metodo di Gauss-Seidel

Function: [x] = gaussseidel(A,b,x0,m)

Descrizione: Risoluzione del sistema lineare Ax=b utilizzando k passi del metodo di Gauss-Seidel (con sommatorie).

n=size(A,1);
x=x0;
for passo=1:m
    for i=1:n
        c=b(i);
        for j=1:i-1
            c=c-A(i,j)*x(j);
        end
        for j=i+1:n
            c=c-A(i,j)*x(j);
        end
        x(i)=c/A(i,i);
        norm(b-A*x);
    end
end

Funzione per il processo di sostituzione all’indietro

Descrizione: Scrivere una funzione che, dati in input n e alpha, implementa un processo di sostituzione all’indietro e restituisce .

Nota: Il contenuto dell'ultimo programma non è completo e sembra mancare di una definizione della funzione o del calcolo richiesto. Si prega di fornire ulteriori dettagli per completare la funzione.

Anteprima
Vedrai una selezione di 3 pagine su 7
Funzioni MATLAB per "Calcolo Numerico", Prof. Gemignani Pag. 1 Funzioni MATLAB per "Calcolo Numerico", Prof. Gemignani Pag. 2
Anteprima di 3 pagg. su 7.
Scarica il documento per vederlo tutto.
Funzioni MATLAB per "Calcolo Numerico", Prof. Gemignani Pag. 6
1 su 7
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Scienze matematiche e informatiche MAT/08 Analisi numerica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher Ing_bio di informazioni apprese con la frequenza delle lezioni di Calcolo numerico e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Pisa o del prof Gemignani Luca.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community