1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
| % Matrices L et U
clear all
clc
A=[-16 6 1 0 ;
3 10 1 1 ;
1 1 18 2 ;
0 1 2 -14 ] % On va tester nos calculs sur cette matrice
n=size(A,2);
L=zeros(n,n);
U=zeros(n,n);
res=zeros(n,1);
res2=zeros(n,1);
res3=zeros(n,1);
for k=1:n
L(k,k)=1;
for j=1:k-1
res(j,1)=res(j,1)+L(k,j)*U(j,k);
end
U(k,k)=A(k,k)-res(k,1);
for i=k+1:n
for j=1:k-1
res2(j,1)=res2(j,1)+L(i,j)*U(j,k);
end
L(i,k)=(A(i,k)-res2(k,1))/U(k,k);
end
for i=k+1:n
for j=1:k-1
res3(j,1)=res3(j,1)+L(k,j)*U(j,i);
end
U(k,i)=A(k,i)-res3(k,1);
end
end
L*U % Vérification, si L*U = A OK!!! |