Sunteți pe pagina 1din 1

Metoda CHOLESKY

clc;
disp ('Introduceti elementele matricii')
a=input('A=');
disp ('Introduceti coloana termenilor liberi')
b=input('b=');
A=a;
B=b;c=a;
[n,n]=size(a);
%Determinarea lui R
R=zeros(n);
for p=1:n
R(p,p)=sqrt(A(p,p));
R(p,p+1:n)=A(p,p+1:n)/R(p,p);
for i=p+1:n
a(i,p+1:n)=A(i,p+1:n)A(p,i)*A(p,p+1:n)/A(p,p);
end
A=a;
R
end

%Rezolvarea sistemului R'*y=b


y=zeros(n,1);
y(1)=b(1)/R(1,1);
for i=2:n
S=0;
for j=1:i-1
S=S+R(j,i)*y(j);
end
y(i)=(b(i)-S)/R(i,i);
end
%Rezolvare R*x=y
x=zeros(n,1);
b=y;
x(n)=b(n)/R(n,n);
for i=n-1:-1:1
S=0;
for j=i+1:n
S=S+R(i,j)*x(j);
end
x(i)=(b(i)-S)/R(i,i);
end
disp ('Solutia sistemului este :');
x