Está en la página 1de 22

Departamento de Ciencias Exactas

Roberto Aragon, Bryan Martinez

Deber 3 de Metodos Numericos

NRC: 1182
14 de junio de 2017

1
1. Desarrolle un algoritmo que permita determinar el producto escalar entre ma-
trices .

function []=proescmatARMB(A,B)
%proescmatARMB([2 6 1; 3 -2 0; 5 -4 4],[1 0 1; 1 1 1; 2 -7 8])
[m,n]=size(A);
[a,b]=size(B);
S=0;
if a==m && b==n
for i=1:m
for j=1:n
S=S+A(i,j)*B(i,j);
endfor
endfor
disp()
fprintf(EL PRODUCTO ESCALAR DE LAS MATRICEZ )
disp()
A
B
fprintf(ES )
S
else
error(LAS MATRICEZ DEBEN SER DEL MISMO ORDEN nxm)
return
endif
endfunction

Ejecucion:

>>proescmatARMB([2 6 1; 3 -2 0; 5 -4 4],[1 0 1; 1 1 1; 2 -7 8])

EL PRODUCTO ESCALAR DE LAS MATRICEZ



2 6 1 1 0 1
A = 3 2 0 B = 1 1 1 (1)
5 4 4 2 7 8

ES A B = 74

2
2. Desarrolle un algoritmo que permita determinar la transpuesta de una matriz.

%codigo
function []= TranspARMB(A)
%TranspARMB([2 4 0; 1 0 1; -5 7 -1])
[m,n]=size(A);
for i=1:m
for j=1:n
B(j,i)=A(i,j);
endfor
endfor
disp ();
disp (LA MATRIZ )
A
disp (LA MATRIZ TRANSPUESTA ES )
B
endfunction

Ejecucion:

>>TranspARMB([2 4 0; 1 0 1; -5 7 -1])

2 4 0
A= 1 0 1 (2)
5 7 1


2 1 5
AT = B = 4 0 7 (3)
0 1 1

3
3. Desarrolle un codigo que permita calcular el producto matricial.

%codigo
function []= ProMatrARMB(A,B)
%ProMatrARMB([2 0 1; 3 0 0; 5 1 1],[1 0 1; 1 2 1; 1 1 0])
[m,n]=size(A);
[o,p]=size(B);
C=zeros(m,p);
if n==o
for i=1:1:m
for j=1:1:p
for k=1:1:n
C(i,j)=C(i,j)+A(i,k)*B(k,j);
endfor
endfor
endfor
else
error(EL NUMERO DE COLUMNAS DE LA MATRIZ A
NO ES IGUAL AL NUMERO DE FILAS DE LA MATRIZ B, POR LO TANTO NO ES POSIBLE LA OPE
return
endif
disp ();
fprintf(LA MATRIZ )
A
fprintf(LA MATRIZ )
B
fprintf(LA MATRIZ A*B = );
C
endfunction

4
Ejecucion:

>>ProMatrARMB([2 0 1; 3 0 0; 5 1 1],[1 0 1; 1 2 1; 1 1 0])


2 0 1 1 0 1
A= 3 0 0 B = 1 2 1 (4)
5 1 1 1 1 0


3 1 2
AB =C = 3 0 3 (5)
7 3 6

4. Desarrolle un codigo que calcule la norma de un vector.

function []=normaARMB(A)
%normaARMB([1 7 2 9])
[m,n]=size(A);
N=0;
if m==1
for i=1:m
for j=1:n
N=sqrt(N^2+A(i,j)^2);
endfor
endfor
disp();

5
fprintf(LA NORMA DE )
A
fprintf(ES )
N
else
error(EL DATO INGRESADO DEBE SER UN VECTOR)
return
endif
endfunction

Ejecucion:

>> A=[1 7 2 9]
A =

1 7 2 9

>> normaARMB(A)
N = 11.619

6
5. Construya un codigo que determine la traza de una matriz.

%codigo
function []=trazaARMB(A)
%trazaARMB([9 -5 0 1; 3 6 -1 8; -5 -1 -7 -4;2 -4 8 10])
[m,n]=size(A);
T=0;
if m==n
for i=1:m
T=T+A(i,i);
endfor
disp()
fprintf(LA TRAZA DE LA MATRIZ )
A
fprintf(ES )
T
else
error(LA MATRIZ DEBE SER CUADRADA)
return
endif
endfunction

Ejecucion:

>>trazaARMB([9 -5 0 1; 3 6 -1 8; -5 -1 -7 -4;2 -4 8 10])

LA TRAZA DE LA MATRIZ


9 5 0 1
3 6 1 8
A
5 1 7 4 (6)
2 4 8 10
ES T RAZA = 18

7
Realice la factorizacion LU de las siguientes matrices

1 0 3
6. 3 1 6
5 2 1

Solucion:

1 0 3 5 2 1
3 1 6 F3 F1 3 1 6
5 2 1 1 0 3

5 2 1 5 2 1
0 11 27 0 11 27
5 5 5 5
F 2 + 53 F 1 ; F 3 + 15 F 1 =

; F3

2
11
F 2 =

=U

0 2 14 0 0 20
5 5 11


1 0 0

3
1 0
L=

5

1 2

1
5 11

Para la matriz de permutacion:


1 2
1 0 0 5 11 1

3

3 0 0 1
1 0 5 1 0 = 0 1 0

F3 F1
P = 5

1 2

1 0 0
5 11
1 1 0 0

8
Comprobacion:

P A=LU

5 2 1 5 2 1
3 1 6=3 1 6
1 0 3 1 0 3

9

1 1 0 4
2 1 5 0
7.
5

2 1 2
3 0 2 6

Solucion:


1 1 0 4 5 2 1 2 5 2 1 2
2 1 5 0 2 1 5 0 2 1 5 0
F3 F1 F4 F3
5 2 1 2 1 1 0 4 3 0 2 6
3 0 2 6 3 0 2 6 1 1 0 4


5 2 1 2

9 23 4

0
5 5 5
2 3 1

F 2 5F 1 ; F 3 + 5F 1 ; F 4 5F 1 =
6 13 36

0 5 5 5


0 3 1 18
5 5 5


5 2 1 2


0 9 23
45
5 5
2 1

F 3 + 3F 2 ; F 4 + 3F 2 =
0 0 17 20


3 3

4 10

0 0
3 3


5 2 1 2 1 0 0 0

2
0 9 23
45 1 0 0
5 5 5
4

F 4 17 F 3 =
17 20
=U L=
3 2

0 0 1 0

3 3 5 3

30
1
0 0 0 17

5
13 4
17
1

10
Para la matriz de permutacion:

3
5 23
3
5 23

1 0 0 0 1 0 1 0

2 2 2

5 1 0 0


5 1 0 0


5 1 0 0


P =
3 2
F3 F1 F4 F3 1 1 4

1 0 5 3
1 0 0 0 1
5 3 17

1 1

5
13 4
17
1
5
13 4
17
1 1 0 0 0


0 0 1 0
0 1 0 0
P =
0

0 0 1
1 0 0 0

Comprobacion:

P A=LU

5 2 1 2 5 2 1 2
2 1 5 0 2 1 5 0
3 0 2 6 = 3 0 2 6

1 1 0 4 1 1 0 4

11
Halle la solucioon de los siguientes sistemas lineales, utilizando la factorizacion
LU

8.

2x1 x2 + 3x3 + x4 = 1
x1 + 4x2 + 2x3 + x4 = 2
3x1 + 2x2 2x3 x4 = 3
x1 + x2 x3 + 2x4 = 2

Solucion:


2 1 3 1 1
1 4 2 1 2
A= ,B=
3 2 2 1 3
1 1 1 2 2

Usamos la factorizacion LU para la matriz principal:



3 2 2 1


0 14 4 2

3 2 2 1 3 3 3
1 4 2 1
F3 F1
2 1 3
F 2 + 13 F 1 ; F 3 23 F 1 ; F 4 13 F 1 =
0 7 13 5

1 3 3

3
1 1 1 2



1 1 7
0
3
3 3


3 2 2 1 3 2 2 1

14 4 2
14 4

2
0 0
3 3 3 3 3 3

F 3 + 12 F 2 ; F 4 14
1
F2 =
0
; F4 + 3
35
F 3 =
0 5 2
0
0 5 2


0 0 73 16
7
0 0 0 86
35


3 2 2 1 1 0 0 0

14 4

2
1
0
3 3 3 3 1 0 0

U = L= 2 1

0
0 5 2

3 2
1 0



86
1 1 3

0 0 0 35

3 14
35
1

12
Para la matriz de permutacion :
2
12

1 0 0 0 3
1 0

1 1
1 0 0
3 1 0 0 0 0 1 0

3
0 1 0 0
P = F3 F1 =
2 1 1 0 1 0 0 0 1 0 0 0
3 2

1



1

0 0 0 1
1 3 1 3

3 14
35
1
3 14
35 1

Comprobacion :

3 2 2 1
1 4 2 1
P A=LU =
2 1 3

1
1 1 1 2

13
Resolviendo:
1 0 0 0

1

3 1 0 0
y 1 0 0 1 0 1
y2 0 1 0 0 2
Ly =P b=
2 1
* = *
3 2
1 0

y3 1 0 0 0 3

1

y4 0 0 0 1 2
1 3

3 14
35 1

y1 = 3

31 y1 + y2 = 2

2
y
3 1
12 y2 + y3 = 1

1 1 3
y
3 1
+ y
14 2
y
35 3
+ y4 = 2


y1 = 3


y2 = 3



1

y3 = 2

111

y4 =
35

U x=y

3 2 2 1 x1 3

14 4 2

0 x2 3
3 3 3

* = 1
0 0 5 2 x3

2


86
111
0 0 0 x4
35 35

3x1 + 2x2 2x3 x4 = 3

14
3 2
x + 34 x3 + 23 x4 = 3

1
5x3 + 2x4 = 2

86
x
35 4
= 111
35

14
Obteniendo las soluciones ;

47
x1 = 86
= 0, 546511

28
x2 = 43
= 0, 651162

53
x3 = 86
= 0, 616279

x4 = 111
86
= 1, 290697

15
9.

4x1 + x2 x3 + 2x4 = 8
x1 + 5x2 2x3 4x4 = 2
x1 2x2 + 8x3 + 3x4 = 4
2x1 4x2 + 3x3 5x4 = 6

Solucion:


4 1 1 2 8
1 5 2 4

2

A=
1 2 8 , B =
3 4
2 4 3 5 6

Usamos la factorizacion LU para la matriz principal:

F 2 + 14 F 1 ; F 3 14 F 1 ; F 4 + 21 F 1 =

4 1 1 2

21 9

7
0
4
4
2


0 9 33 5
4 4 2

7 5

0 4
2 2


4 1 1 2

21

0
4
49 72

3 2

F 3 + 7F 2 ; F 4 + 3F 2 =
0 51
;
0 7
1


19
0 0 1 3


4 1 1 2

21

0
4
94 72


7

F 4 51 F 3 =
0 51

0 7
1


110
0 0 0 17

16

4 1 1 2 1 0 0 0

21
1
0
4
49 72


4 1 0 0


U = 51
L= 1 3

4 7
0 0 1 1 0
7


110
1
0 0 0 2 7
1
17 2 3 51

Para la matriz de permutacion :


1 0 0 0

1

4 1 0 0


P =
1 3

4 7
1 0


1
2 7
1
2 3 51


1 0 0 0
0 1 0 0
P =
0

0 1 0
0 0 0 1

Comprobacion :

4 1 1 2
1 5 2 4
P A=LU = 1 2 8

3
2 4 3 5

17
Resolviendo:

1 0 0 0

1

4 1 0 0
y1 1 0 0 0 8
y2 0 1 0 0 2

Ly =P b=
1 3
* = *
4 7
1 0

y3 0 0 1 0 4

1

y4 0 0 0 1 6
2 7
1
2 3 51

y1 = 8

41 y1 + y2 = 2

1
y
4 1
37 y2 + y3 = 4

21 y1 32 y2 + 7
y
51 3
+ y4 = 6

18

y1 = 8
y2 = 0


y 3 = 2

y4 = 116
51

U x=y

4 1 1 2 x1 8

21 9 7

0
4
4 2 x2
0


51
* =
0 0 1 x3 2
7


0 0 0 110 x4 116
17 51

4x1 + x2 x3 + 2x4 = 8

21
4 2
x 49 x3 72 x4 = 0

51
7 3
x + x4 = 2

110
17 4
x = 116
51

Obteniendo las soluciones ;

x1 = 178
99
= 1, 797979

164
x2 = 495
= 0, 331313

112
x3 = 495
= 0, 226262

58
x4 = 165
= 0, 351515

19
10. Considere el sistema Ax = b, donde A y b estan dados por:


2 2 0 0
A =  2 2 0 y b =  ,  R

0 1 3 2

Calcule la descomposicion LU de la matriz A y verifique la entrada L32


si  0. Luego resuelva el sistema de ecuaciones con esta descomposicioon.
Finalmente compruebe que, pese a que L32 la solucion calculada es exac-
ta.
Solucion:

2 2 0
A:  2 2 0
0 1 3

2 2 0
( 2)F1
F2- = 0  0
2
0 1 3

2 2 0
F2
F3+ = 0  0

0 0 3

Esta matriz encontrada viene a ser U.

( 2) 1
Calculamos L a partir de nuestros factores: , :
2 

1 0 0 1 0 0
( 2) ( 2)
U:
1 0 L=
1 0
2 2
1 1
0 1 0 1
 
1
En el elemento L32 : si tenemos que  0 entonces podemos verificar

que:
1
= y por lo tanto L32 .
0
Calculamos P, donde al no haber realizado ningun intercambio en las filas:

1 0 0
P= 0 1 0
0 0 1

20
Comprobamos que PA=LU:

1 0 0
1 0 0 2 2 0 ( 2) 2 2 0
0 1 0 *  2 2 0 = 1 0
* 0  0
2
0 0 1 0 1 3
1
0 0 3
0 1


2 2 0 2 2 0
 2 2 0 =  2 2 0
0 1 3 0 1 3

y = L1 P b, por lo que una manera de resolver es aplicar gauss(L,P*b);


teniendo as:

1 0 0 | 0
( 2)
y:
1 0 | 
2
1
0 1 | 2


y1 = 0

( 2)
(0) + y2 =  y2 = 
2
1
0 (0)  + y3 = 2 y3 = 3


x = U 1 y, por lo que una manera de resolver es aplicar gauss(U,y); te-


niendo as:

2 2 0 | 0
0  0 | 
0 0 3 | 3

3x3 = 3 x3 = 1

x2 =  x2 = 1

2x1 2(1) = 0 x1 = 1

21
Por lo tanto se puede observar que el resultado no depende de  as que
su solucion exacta siempre sera:

1
x= 1
1

22

También podría gustarte