vuoi
o PayPal
tutte le volte che vuoi
6.Programma che implementa la fattorizzazione LU di A
function [L,U]=fattlu(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;
end
7.Programma che implementa il metodo delle potenze
function [x lambda]=powermethod(A,x0,k)
%fa 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
8.Risoluzione del sistema lineare Ax=b utilizzando k passi del metodo di Jacobi (con le sommatorie).
function [x] = jacobisommatorie(A,b,x0,m)
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;
end
9.Risoluzione del sistema lineare Ax=b utilizzando k passi del metodo di Gauss_Seidel(con sommatorie).
function [x] = gaussseidel(A,b,x0,m)
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
10.Scrivere una funzione che dati in input n e alpha implementa un processo di sostituzione al’indietro e restituisce