Está en la página 1de 4

UNIVERSIDAD NACIONAL

DE SAN AGUSTÍN
FACULTAD DE PRODUCCIÓN Y
SERVICIOS

MÉTODOS NUMÉRICOS
“DESCOMPOSICIÓN EN LU
Y PLU”
Grupo: B
DOCENTE: Mg. HANCCO
ANCORI RICARDO
ALUMNO:
LEANDRO COYLA ANTONY
LUIS
Arequipa – Perú
2018
MÉTODOS NUMÉRICOS
DESCOMPOSICIÓN LU
%Resolver ecuaciones con descomposición en LU
%Resuelve el sistema AX=b cuadrado, con A triangular inferior
function X=SusProg(A,b)
n=length(A);
for i=1:n
s=0;
for k=1:i-1
s=s+A(i,k)*X(k);
end
X(i)=(b(i)-s)/A(i,i);
end
end

%El metodo de sustitucion regresiva solo resuelve sistemas escalonados


de
%nxn AX=b A triangular superior nxn
function X=MetSustRegresiva(A,b)
n=length(A);
for i=n:-1:1
s=0;
for k=i+1:n
s=s+A(i,k)*X(k);
end
X(i)=(b(i)-s)/A(i,i);
end
end

%Descomposición en LU
function [L,U]=DescLU(A)
n=length(A);
U=A;
L=eye(n); %Esta opción crea una matriz de ceros con diagonal 1
for j=1:n-1
%SE AÑADE AQUÍ EL CODIGO PARA EL INTERCAMBIO DE FILAS CON PIVOTE
PARA LA
%DESCOMPOSICIÓN EN PLU
for i=j+1:n
% Hallando L
L(i,j)=U(i,j)/U(j,j);
% Hallando U
U(i,:)=U(i,:)-L(i,j)*U(j,:);
end
end

% Solución de sistema de ecuaciones lineales por descomposición LU


function X=SolLU(A,b)
% Se le da valores a LU
[L,U]=DescLU(A);
% Se llama a la sustitucion regresiva
Y=SusProg(L,b);
X=MetSustRegresiva(U,Y);
end

MÉTODOS NUMÉRICOS
DESCOMPOSICIÓN PLU:
%Resolver ecuaciones con descomposición en LU
%Resuelve el sistema AX=b cuadrado, con A triangular inferior
function X=SusProg(A,b)
n=length(A);
for i=1:n
s=0;
for k=1:i-1
s=s+A(i,k)*X(k);
end
X(i)=(b(i)-s)/A(i,i);
end
end

%El metodo de sustitucion regresiva solo resuelve sistemas escalonados


de
%nxn AX=b A triangular superior nxn
function X=MetSustRegresiva(A,b)
n=length(A);
for i=n:-1:1
s=0;
for k=i+1:n
s=s+A(i,k)*X(k);
end
X(i)=(b(i)-s)/A(i,i);
end
end

%Descomposición en PLU
function [P,L,U]=DescPLU(A)
n=length(A);
U=A;
L=eye(n); %Esta opción crea una matriz de ceros con diagonal 1
for j=1:n-1
%SE AÑADE AQUÍ EL CODIGO PARA EL INTERCAMBIO DE FILAS CON PIVOTE
DESCOMPOSICIÓN EN PLU
if k~=1
v=A(j,:);
A(j,:)=A(k+j-1,:);
A(k+j-1,:)=v;
end

for i=j+1:n
% Hallando L
L(i,j)=U(i,j)/U(j,j);
% Hallando U
U(i,:)=U(i,:)-L(i,j)*U(j,:);
% Hallando P
P(i,j)=eye(n);
end
end

% Solución de sistema de ecuaciones lineales por descomposición LU


function X=SolLU(A,b)
% Se le da valores a LU
[L,U]=DescLU(A);

MÉTODOS NUMÉRICOS
% Se llama a la sustitucion regresiva
Y=SusProg(L,b);
X=MetSustRegresiva(U,Y);
end

MÉTODOS NUMÉRICOS

También podría gustarte