Sunteți pe pagina 1din 5

//Tarea

SNCHEZ GONZLEZ JOSMARK ALFREDO


// Resolver el ejercicio dejado en clase de una matriz de 4x4 de la cual se
requiere encontrar sus matrices L y U
// Como se puede apreciar el sistema slo tendra la solucin de cada una de sus
variables es igual a 0.
// Pero slo se requiere encontrar L y U
// para esto nos basaremos en el mtodo de descomposicin (VERSIN CROUT).

funciones a utilizar:

function [Ml,Mu] = diagonal_LU (L,U) // para hacer que los componentes de U de la


diagonal principal sean uno.
Ml=L;
Mu=U;
factores=zeros(size(U,1));
R=1;
while (R<=size(U,1))
if (Mu(R,R)~=0)
factores(R)=1/Mu(R,R);
Mu(R,:)=factores(R)*Mu(R,:);
Ml(:,R)=1/factores(R)*Ml(:,R);
end
R=R+1;
end
endfunction

function [Ml,Mu] = convertir_ceros_LU (R_pivote, R_cero,C_cero,L,U) //para ir


convirtiendo a 0 las componentes que necesitamos as PERO respetando las
transformaciones
lineales//
Ml=L;
Mu=U;
factorLU=Mu(R_cero,C_cero)/Mu(R_pivote,C_cero);
if (factorLU~=0)
Mu(R_cero,:)=Mu(R_cero,:)+(-1)*(factorLU)*Mu(R_pivote,:);
end
if (factorLU~=0)
Ml(:,R_pivote)=Ml(:,R_pivote)+(factorLU)*Ml(:,R_cero);
end
endfunction

******************* Despus de ejecutar obtuvimos las matrices L y U siguientes:

L = //ya tiene la forma matricial que requerimos en el mtodo.

1 -0 0 0
7 -29 0 0
1 -0 8 0
0 2 91/29 569/116

U = //ya tiene la forma matricial que requerimos en el mtodo.

1 3 -4 3
-0 1 -31/29 19/29
0 0 1 1/4
0 0 0 1
>> A=L*U //comprobamos que LU=A .....
A =
1 3 -4 3
7 -8 3 2
1 3 4 5
0 2 1 7

********************** LU=A que es tal como lo queriamos


*****************************

ITERACIONES.-

eye(4)
ans =

Diagonal Matrix

1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
>> L=ans
L =

Diagonal Matrix

1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1

>> U=[1 3 -4 3; 7 -8 3 2; 1 3 4 5; 0 2 1 7]
U =

1 3 -4 3
7 -8 3 2
1 3 4 5
0 2 1 7
[L,U]=convertir_ceros_LU(1,2,1,L,U)
L =

1 0 0 0
7 1 0 0
0 0 1 0
0 0 0 1

U =

1 3 -4 3
0 -29 31 -19
1 3 4 5
0 2 1 7

>> [L,U]=convertir_ceros_LU(1,3,1,L,U)
L =

1 0 0 0
7 1 0 0
1 0 1 0
0 0 0 1
U =

1 3 -4 3
0 -29 31 -19
0 0 8 2
0 2 1 7
[L,U]= convertir_ceros_LU(2,3,2,L,U)
L =

1 0 0 0
7 1 0 0
1 0 1 0
0 0 0 1

U =

1 3 -4 3
0 -29 31 -19
0 0 8 2
0 2 1 7

>> [L,U]=convertir_ceros_LU(2,4,2,L,U)
L =

1.00000 0.00000 0.00000 0.00000


7.00000 1.00000 0.00000 0.00000
1.00000 0.00000 1.00000 0.00000
0.00000 -0.06897 0.00000 1.00000

U =

1.00000 3.00000 -4.00000 3.00000


0.00000 -29.00000 31.00000 -19.00000
0.00000 0.00000 8.00000 2.00000
0.00000 0.00000 3.13793 5.68966
[L,U]=convertir_ceros_LU(3,4,3,L,U)
L =

1.00000 0.00000 0.00000 0.00000


7.00000 1.00000 0.00000 0.00000
1.00000 0.00000 1.00000 0.00000
0.00000 -0.06897 0.39224 1.00000

U =

1.00000 3.00000 -4.00000 3.00000


0.00000 -29.00000 31.00000 -19.00000
0.00000 0.00000 8.00000 2.00000
0.00000 0.00000 0.00000 4.90517

>> format rat


>> L
L =

1 0 0 0
7 1 0 0
1 0 1 0
0 -2/29 91/232 1
>> U
U =

1 3 -4 3
0 -29 31 -19
0 0 8 2
0 0 0 569/116
diagonal_LU(L,U)
ans =

1 -0 0 0
7 -29 0 0
1 -0 8 0
0 2 91/29 569/116

>> L
L =

1 0 0 0
7 1 0 0
1 0 1 0
0 -2/29 91/232 1

>> U
U =

1 3 -4 3
0 -29 31 -19
0 0 8 2
0 0 0 569/116
[L,U]=diagonal_LU(L,U)
L =

1 -0 0 0
7 -29 0 0
1 -0 8 0
0 2 91/29 569/116

U =

1 3 -4 3
-0 1 -31/29 19/29
0 0 1 1/4
0 0 0 1
>> A=L*U
A =

1 3 -4 3
7 -8 3 2
1 3 4 5
0 2 1 7
Como se quera

S-ar putea să vă placă și