Escolar Documentos
Profissional Documentos
Cultura Documentos
Practica 6
Factorizacion triangular
function X=factoLU(A,B)
%Datos
% A: Matriz del sistema
% B: vector
%Salida
% X: solucion del sistema
%Tama~
no de vector
n=length(B);
X=zeros(n,1);
Y=zeros(n,1);
R=1:n;
for q=1:n-1,
%funcion maximo, arroja el maximo y su posicion
[max1,j]=max(abs(A(q:n,q)));
C=A(q,:);
A(q,:)=A(j+q-1,:);
A(j+q-1,:)=C;
d=R(q);
R(q)=R(j+q-1);
R(j+q-1)=d;
%calculamos los multiplicadores
for k=q+1:n,
m=A(k,q)/A(q,q);
A(k,q)=m;
A(k,q+1:n)=A(k,q+1:n)-m*A(q,q+1:n);
end
end
% Resolucion para Y
Y(1)=B(R(1));
for k=2:n,
Y(k)=B(R(k))-A(k,1:k-1)*Y(1:k-1);
end
%resolucion para x
X(n)=Y(n)/A(n,n);
for k=n-1:-1:1,
X(k)=(Y(k)-A(k,k+1:n)*X(k+1:n))/A(k,k);
end
3. Modifique la funcion anterior para que pemita evitar la division entre cero.
10x1 + 2x2 x3 = 27
3x1 6x2 2x3 = 61.5
x1 + x2 + 5x3 = 21.5
2x1 6x2 + x3 = 12
x1 + 7x2 x3 = 8
x1 3x2 + 2x3 = 16
Despues, multiplique las matrices [L] y [U] resultantes para determinar que se
produce [A].