08/07/2022, 09:21
n=18;
A1=6*ones(n,1); %vettori per la creazione di A
A2=3*ones(n-1,1);
A3=6*ones(n-1,1);
A=diag(A1)+diag(A2,1)+diag(A3,-1); %creo A
b=linspace(5,8,n);
tic %calcolo costo computazionale LUP
[L,U,P]= lu(A);
y=L\(P*b');
x=U\y;
t1=toc
tic %calcolo costo computazionale QR
[Q,R]=qr(A);
x=R\(Q*b');
t2=toc
08/07/2022, 21:53
08/07/2022, 22:02
08/07/2022, 23:45
A3
A3
b
n=18;
d=6*ones(n,1); %vettori per la creazione di A
sd=3*ones(n-1,1);
A=diag(d)+diag(sd,1)+diag(sd,-1); %creo A
b=linspace(5,8,n)';
tic %calcolo costo computazionale LUP
[L,U,P]= lu(A);
y=L\(P*b);
x=U\y;
toc
tic %calcolo costo computazionale QR
[Q,R]=qr(A);
x=R\(Q'*b);
toc
% Autovalori
eig(A)>0 %risulta un vettore di 1, cioè true, dunque la matrice è definita positiva
% Poichè sappiamo quindi che A è simmetrica e definita positiva, allora possiamo utilizzare
% tranquillamente la decomposizione di Cholesky:
tic
R = chol(A);
y = R'\b;
x = R\y;
toc
norm(x+y,1)
09/07/2022, 08:31
09/07/2022, 08:51
Skuola.net News è una testata giornalistica iscritta al Registro degli Operatori della Comunicazione.
Registrazione: n° 20792 del 23/12/2010.
©2000—
Skuola Network s.r.l. Tutti i diritti riservati. — P.I. 10404470014.
Powered by phpBB © phpBB Group - Privacy policy - Cookie privacy
phpBB Mobile / SEO by Artodia.