Practica - Eliminación Gaussiana - Metodos Numericos

29
NIVEL 2 5. RESOLVER USANDO MATLAB 6 -2 2 4 X 1 12 12 -8 6 10 X 2 = 34 3 - 13 9 3 X 3 27 -6 4 1 - 18 X 4 - 38 >> A=[6 -2 2 4;12 -8 6 10;3 -13 9 3;-6 4 1 -18] A = 6 -2 2 4 12 -8 6 10 3 -13 9 3 -6 4 1 -18 >> b=[12;34;27;-38] b = 12 34 27 -38 USANDO MATLAB >> X=A\b X = 1.0000 -3.0000 -2.0000 1.0000

description

Ejercicios resueltos de Eliminación Gaussiana con Matlab - Métodos Numéricos

Transcript of Practica - Eliminación Gaussiana - Metodos Numericos

NIVEL 25. RESOLVER USANDO MATLAB6-224X112

12-8610X2=34

3-1393X327

-641-18X4-38

>> A=[6 -2 2 4;12 -8 6 10;3 -13 9 3;-6 4 1 -18]A = 6 -2 2 4 12 -8 6 10 3 -13 9 3 -6 4 1 -18>> b=[12;34;27;-38]b = 12 34 27 -38 USANDO MATLAB>> X=A\bX = 1.0000 -3.0000 -2.0000 1.00006. Disee la funcin: x=egausbac(A,b), esta resolver el sistema de ecuaciones Ax = b usando eliminacin gaussiana simple (pivoteo simple) con sustitucin hacia atrs.

function x=egausbac(a,b)n=length(a);for j=1:n-1, for i=j+1:n, if a(j,j)==0 % intercambio de filas [m,pos]=max(abs(a(i:n,j))); aux=a(j,:); a(j,:)=a(pos+j,:); a(pos+j,:)=aux; aux=b(j); b(j)=b(pos+j); b(pos+j)=aux; end p=-a(i,j)/a(j,j); a(i,:)=a(i,:)+p*a(j,:); b(i)=b(i)+p*b(j); [a b] endendif prod(diag(a))==0 display('bug') x=[];else x=backward(a,b);endend

7. Resolver el problema 5 usando eliminacin gaussiana con sustitucin hacia atrs.

>> egausbac(A,b)ans = 6 -2 2 4 12 0 -4 2 2 10 3 -13 9 3 27 -6 4 1 -18 -38

ans = 6 -2 2 4 12 0 -4 2 2 10 0 -12 8 1 21 -6 4 1 -18 -38ans = 6 -2 2 4 12 0 -4 2 2 10 0 -12 8 1 21 0 2 3 -14 -26ans = 6 -2 2 4 12 0 -4 2 2 10 0 0 2 -5 -9 0 2 3 -14 -26

ans = 6 -2 2 4 12 0 -4 2 2 10 0 0 2 -5 -9 0 0 4 -13 -21

ans = 6 -2 2 4 12 0 -4 2 2 10 0 0 2 -5 -9 0 0 0 -3 -3ans = 1 -3 -2 18. Encontrar la solucin del sistema de ecuaciones por eliminacin gaussiana con sustitucin hacia atrs. Ax b

a) 12-1X12

-201X2=1

511X33

>> A=[1 2 -1;-2 0 1;5 1 1]A = 1 2 -1 -2 0 1 5 1 1>> b=[2;1;3]b = 2 1 3>> egausbac(A,b)ans = 1 2 -1 2 0 4 -1 5 5 1 1 3ans = 1 2 -1 2 0 4 -1 5 0 -9 6 -7ans = 1.0000 2.0000 -1.0000 2.0000 0 4.0000 -1.0000 5.0000 0 0 3.7500 4.2500ans = 0.0667 1.5333 1.1333

b)1-224X119

2-835X2=15

3-193X340

-5410X46

>> A=[1 -2 2 4;2 -8 3 5;3 -1 9 3;-5 4 1 0]A = 1 -2 2 4 2 -8 3 5 3 -1 9 3 -5 4 1 0>> b=[19;15;40;6]b = 19 15 40 6>> egausbac(A,b)ans = 1 -2 2 4 19 0 -4 -1 -3 -23 3 -1 9 3 40 -5 4 1 0 6ans = 1 -2 2 4 19 0 -4 -1 -3 -23 0 5 3 -9 -17 -5 4 1 0 6ans = 1 -2 2 4 19 0 -4 -1 -3 -23 0 5 3 -9 -17 0 -6 11 20 101ans = 1.0000 -2.0000 2.0000 4.0000 19.0000 0 -4.0000 -1.0000 -3.0000 -23.0000 0 0 1.7500 -12.7500 -45.7500 0 -6.0000 11.0000 20.0000 101.0000ans = 1.0000 -2.0000 2.0000 4.0000 19.0000 0 -4.0000 -1.0000 -3.0000 -23.0000 0 0 1.7500 -12.7500 -45.7500 0 0 12.5000 24.5000 135.5000ans = 1.0000 -2.0000 2.0000 4.0000 19.0000 0 -4.0000 -1.0000 -3.0000 -23.0000 0 0 1.7500 -12.7500 -45.7500 0 0 0 115.5714 462.2857

ans = 1 2 3 4

9. Disee la funcin: x=egausfor(A,b), esta resolver el sistema de ecuaciones Ax = b usando eliminacin gaussiana simple (pivoteo simple) con sustitucin hacia adelante.

function X= egausfor(A,b)% X= egausfor(A,b)% Resolucin de un sistema de ecuaciones por el mtodo de% Eliminacin Gaussiana con Sustitucin hacia adelante% sin pivote%if nargin> A=[6 -2 2 4;12 -8 6 10;3 -13 9 3;-6 4 1 -18]A = 6 -2 2 4 12 -8 6 10 3 -13 9 3 -6 4 1 -18>> b=[12;34;27;-38]b = 12 34 27 -38>> egausfor(A,b)A = 6.0000 -2.0000 2.0000 4.0000 12.0000 12.0000 -8.0000 6.0000 10.0000 34.0000 2.0000 -12.3333 9.1667 0 20.6667 -6.0000 4.0000 1.0000 -18.0000 -38.0000

A = 6.0000 -2.0000 2.0000 4.0000 12.0000 8.6667 -5.7778 6.5556 0 12.8889 2.0000 -12.3333 9.1667 0 20.6667 -6.0000 4.0000 1.0000 -18.0000 -38.0000

A = 4.6667 -1.1111 2.2222 0 3.5556 8.6667 -5.7778 6.5556 0 12.8889 2.0000 -12.3333 9.1667 0 20.6667 -6.0000 4.0000 1.0000 -18.0000 -38.0000A = 4.6667 -1.1111 2.2222 0 3.5556 7.2364 3.0424 0 0 -1.8909 2.0000 -12.3333 9.1667 0 20.6667 -6.0000 4.0000 1.0000 -18.0000 -38.0000

A = 4.1818 1.8788 0 0 -1.4545 7.2364 3.0424 0 0 -1.8909 2.0000 -12.3333 9.1667 0 20.6667 -6.0000 4.0000 1.0000 -18.0000 -38.0000

A = -0.2869 0 0 0 -0.2869 7.2364 3.0424 0 0 -1.8909 2.0000 -12.3333 9.1667 0 20.6667 -6.0000 4.0000 1.0000 -18.0000 -38.0000

ans = 1.0000 -3.0000 -2.0000 1.0000

Problema 8 (a)

12-1X12

-201X2=1

511X33

>> A=[1 2 -1;-2 0 1;5 1 1]A = 1 2 -1 -2 0 1 5 1 1>> b=[2;1;3]b = 2 1 3>> egausfor(A,b)

A = 1 2 -1 2 -7 -1 0 -2 5 1 1 3

A = 6 3 0 5 -7 -1 0 -2 5 1 1 3

A = -15 0 0 -1 -7 -1 0 -2 5 1 1 3

ans =

0.0667 1.5333 1.1333 Problema 8(b)1-224X119

2-835X2=15

3-193X340

-5410X46

>> A=[1 -2 2 4;2 -8 3 5;3 -1 9 3;-5 4 1 0]A = 1 -2 2 4 2 -8 3 5 3 -1 9 3 -5 4 1 0>> b=[19;15;40;6]b = 19 15 40 6Rpta: Error ('sistema indeterminado o incompatible')por ser a44= 0

11. Hacer un programa en Matlab de Gauss Jordan x=gjordan(A) para hallar la inversa de una matriz A.

function B= gjordan(A)% X= gjordan(A)% Mtodo de Gauss Jordan para hallar la inversa de A% Matriz aumentada (duplicada sus columnas)[n nc]=size(A);AA=[A eye(n)];for i=1:n %Eliminacin gaussianaif AA(i,i)==0; error('sistema indeterminado o incompatible');endAA(i,:)=AA(i,:)/AA(i,i);for j=i+1:nm=-AA(j,i);AA(j,:)=AA(j,:)+m*AA(i,:)endfor j=1:i-1 m=-AA(j,i);AA(j,:)=AA(j,:)+m*AA(i,:)endend% Matriz inversaB=AA(1:n,n+1:2*n);end

12. Hallar la Matriz inversa por Gauss Jordan.

a) 112

021

003

>> A=[1 1 2;0 2 1;0 0 3]

A = 1 1 2 0 2 1 0 0 3

>> gjordan(A)

AA =

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

AA =

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

AA =

1.0000 1.0000 2.0000 1.0000 0 0 0 1.0000 0.5000 0 0.5000 0 0 0 3.0000 0 0 1.0000

AA =

1.0000 0 1.5000 1.0000 -0.5000 0 0 1.0000 0.5000 0 0.5000 0 0 0 3.0000 0 0 1.0000

AA =

1.0000 0 0 1.0000 -0.5000 -0.5000 0 1.0000 0.5000 0 0.5000 0 0 0 1.0000 0 0 0.3333

AA =

1.0000 0 0 1.0000 -0.5000 -0.5000 0 1.0000 0 0 0.5000 -0.1667 0 0 1.0000 0 0 0.3333

ans =

1.0000 -0.5000 -0.5000 0 0.5000 -0.1667 0 0 0.3333

b)12-1

-201

511

>> A=[1 2 -1;-2 0 1;5 1 1]

A =

1 2 -1 -2 0 1 5 1 1

>> gjordan(A)

AA = 1 2 -1 1 0 0 0 4 -1 2 1 0 5 1 1 0 0 1

AA = 1 2 -1 1 0 0 0 4 -1 2 1 0 0 -9 6 -5 0 1

AA =

1.0000 2.0000 -1.0000 1.0000 0 0 0 1.0000 -0.2500 0.5000 0.2500 0 0 0 3.7500 -0.5000 2.2500 1.0000AA =

1.0000 0 -0.5000 0 -0.5000 0 0 1.0000 -0.2500 0.5000 0.2500 0 0 0 3.7500 -0.5000 2.2500 1.0000

AA =

1.0000 0 0 -0.0667 -0.2000 0.1333 0 1.0000 -0.2500 0.5000 0.2500 0 0 0 1.0000 -0.1333 0.6000 0.2667AA =

1.0000 0 0 -0.0667 -0.2000 0.1333 0 1.0000 0 0.4667 0.4000 0.0667 0 0 1.0000 -0.1333 0.6000 0.2667

ans =

-0.0667 -0.2000 0.1333 0.4667 0.4000 0.0667 -0.1333 0.6000 0.2667

C)-200

310

-110,5

>> A=[-2 0 0;3 1 0;-1 1 0.5]

A =

-2.0000 0 0 3.0000 1.0000 0 -1.0000 1.0000 0.5000>> gjordan(A)

AA = 1.0000 0 0 -0.5000 0 0 0 1.0000 0 1.5000 1.0000 0 -1.0000 1.0000 0.5000 0 0 1.0000

AA = 1.0000 0 0 -0.5000 0 0 0 1.0000 0 1.5000 1.0000 0 0 1.0000 0.5000 -0.5000 0 1.0000

AA = 1.0000 0 0 -0.5000 0 0 0 1.0000 0 1.5000 1.0000 0 0 0 0.5000 -2.0000 -1.0000 1.0000AA = 1.0000 0 0 -0.5000 0 0 0 1.0000 0 1.5000 1.0000 0 0 0 0.5000 -2.0000 -1.0000 1.0000

AA = 1.0000 0 0 -0.5000 0 0 0 1.0000 0 1.5000 1.0000 0 0 0 1.0000 -4.0000 -2.0000 2.0000

AA =

1.0000 0 0 -0.5000 0 0 0 1.0000 0 1.5000 1.0000 0 0 0 1.0000 -4.0000 -2.0000 2.0000

ans =

-0.5000 0 0 1.5000 1.0000 0 -4.0000 -2.0000 2.0000d)

1111

-22-12

1-121

1332

>> A=[1 1 1 1;1 2 -1 2;1 -1 2 1;1 3 3 2]

A = 1 1 1 1 1 2 -1 2 1 -1 2 1 1 3 3 2

>> gjordan(A)

AA = 1 1 1 1 1 0 0 0 0 1 -2 1 -1 1 0 0 1 -1 2 1 0 0 1 0 1 3 3 2 0 0 0 1

AA = 1 1 1 1 1 0 0 0 0 1 -2 1 -1 1 0 0 0 -2 1 0 -1 0 1 0 1 3 3 2 0 0 0 1

AA = 1 1 1 1 1 0 0 0 0 1 -2 1 -1 1 0 0 0 -2 1 0 -1 0 1 0 0 2 2 1 -1 0 0 1

AA = 1 1 1 1 1 0 0 0 0 1 -2 1 -1 1 0 0 0 0 -3 2 -3 2 1 0 0 2 2 1 -1 0 0 1

AA = 1 1 1 1 1 0 0 0 0 1 -2 1 -1 1 0 0 0 0 -3 2 -3 2 1 0 0 0 6 -1 1 -2 0 1

AA = 1 0 3 0 2 -1 0 0 0 1 -2 1 -1 1 0 0 0 0 -3 2 -3 2 1 0 0 0 6 -1 1 -2 0 1

AA =

1.0000 0 3.0000 0 2.0000 -1.0000 0 0 0 1.0000 -2.0000 1.0000 -1.0000 1.0000 0 0 0 0 1.0000 -0.6667 1.0000 -0.6667 -0.3333 0 0 0 0 3.0000 -5.0000 2.0000 2.0000 1.0000

AA =

1.0000 0 0 2.0000 -1.0000 1.0000 1.0000 0 0 1.0000 -2.0000 1.0000 -1.0000 1.0000 0 0 0 0 1.0000 -0.6667 1.0000 -0.6667 -0.3333 0 0 0 0 3.0000 -5.0000 2.0000 2.0000 1.0000

AA =

1.0000 0 0 2.0000 -1.0000 1.0000 1.0000 0 0 1.0000 0 -0.3333 1.0000 -0.3333 -0.6667 0 0 0 1.0000 -0.6667 1.0000 -0.6667 -0.3333 0 0 0 0 3.0000 -5.0000 2.0000 2.0000 1.0000

AA =

1.0000 0 0 0 2.3333 -0.3333 -0.3333 -0.6667 0 1.0000 0 -0.3333 1.0000 -0.3333 -0.6667 0 0 0 1.0000 -0.6667 1.0000 -0.6667 -0.3333 0 0 0 0 1.0000 -1.6667 0.6667 0.6667 0.3333AA =

1.0000 0 0 0 2.3333 -0.3333 -0.3333 -0.6667 0 1.0000 0 0 0.4444 -0.1111 -0.4444 0.1111 0 0 1.0000 -0.6667 1.0000 -0.6667 -0.3333 0 0 0 0 1.0000 -1.6667 0.6667 0.6667 0.3333

AA =

1.0000 0 0 0 2.3333 -0.3333 -0.3333 -0.6667 0 1.0000 0 0 0.4444 -0.1111 -0.4444 0.1111 0 0 1.0000 0 -0.1111 -0.2222 0.1111 0.2222 0 0 0 1.0000 -1.6667 0.6667 0.6667 0.3333

ans =

2.3333 -0.3333 -0.3333 -0.6667 0.4444 -0.1111 -0.4444 0.1111 -0.1111 -0.2222 0.1111 0.2222 -1.6667 0.6667 0.6667 0.3333

NIVEL 3

14. Sea la matriz 123

A=134

143

Si: AX = At, hallar 2Xt.

>> A=[1 2 3;1 3 4;1 4 3]

A =

1 2 3 1 3 4 1 4 3

Utilizando Gauss Jordan para hallar la matriz inversa de A.Luego de despejar la ecuacin: AX = At

X=At*A-1

>> X=A'*gjordan(A)

AA =

1 2 3 1 0 0 0 1 1 -1 1 0 1 4 3 0 0 1

AA =

1 2 3 1 0 0 0 1 1 -1 1 0 0 2 0 -1 0 1

AA =

1 2 3 1 0 0 0 1 1 -1 1 0 0 0 -2 1 -2 1

AA =

1 0 1 3 -2 0 0 1 1 -1 1 0 0 0 -2 1 -2 1

AA =

1.0000 0 0 3.5000 -3.0000 0.5000 0 1.0000 1.0000 -1.0000 1.0000 0 0 0 1.0000 -0.5000 1.0000 -0.5000

AA =

1.0000 0 0 3.5000 -3.0000 0.5000 0 1.0000 0 -0.5000 0 0.5000 0 0 1.0000 -0.5000 1.0000 -0.5000

X =

2.5000 -2.0000 0.5000 3.5000 -2.0000 0.5000 7.0000 -6.0000 2.0000

Utilizando comando de Matlab para hallar la Matriz inversa de A.

>> X=A'*inv(A)X =

2.5000 -2.0000 0.5000 3.5000 -2.0000 0.5000 7.0000 -6.0000 2.0000Se obtiene los mismos resultados. Rpta:

>> Y=2*X'

Y =

5 7 14 -4 -4 -12 1 1 4

15. Hallar el det(A) y det(At) de las matrices del ejercicio 12.

a) 112

021

003

>> A=[1 1 2;0 2 1;0 0 3]

A = 1 1 2 0 2 1 0 0 3

>> det(A)

ans =

6

>> det(A')

ans =

6

b)12-1

-201

511

>> A=[1 2 -1;-2 0 1;5 1 1]

A =

1 2 -1 -2 0 1 5 1 1

>> det(A')

ans =

15

>> det(A')

ans =

15

C)-200

310

-110,5

>> A=[-2 0 0;3 1 0;-1 1 0.5]

A = -2.0000 0 0 3.0000 1.0000 0 -1.0000 1.0000 0.5000

>> det(A)

ans = -1

>> det(A')

ans = -1

d)

1111

-22-12

1-121

1332

>> A=[1 1 1 1;1 2 -1 2;1 -1 2 1;1 3 3 2]

A = 1 1 1 1 1 2 -1 2 1 -1 2 1 1 3 3 2

>> det(A)

ans =

-9

>> det(A')

ans =

-9

16. Dada la identidad polinmica: x2-2x+3=A(x+1)(x+2)+Bx(x+2)+Cx(x+1)-C Plantear el sistema lineal de ecuaciones con incgnitas A, B y C, y hallar dichas incgnitas por eliminacin gaussiana con sustitucin hacia atrs.

x2-2x+3= Ax2+3Ax+2A+Bx2+2Bx+Cx2+Cx-Cx2-2x+3= x2(A+B+C)+x(3A+2B+C)+2A-CIgualando ambos miembros se obtiene el siguiente sistema de ecuaciones.1= (A+B+C)-2= (3A+2B+C)3= 2A-C Por lo tanto las matrices sern.111A1

321B=-2

20-1C3

Por eliminacin gaussiana con sustitucin hacia atrs.>> A=[1 1 1;3 2 1;2 0 -1]A = 1 1 1 3 2 1 2 0 -1>> b=[1;-2;3]b = 1 -2 3>> egausbac(A,b)A = 1 1 1 1 0 -1 -2 -5 2 0 -1 3A = 1 1 1 1 0 -1 -2 -5 0 -2 -3 1A = 1 1 1 1 0 -1 -2 -5 0 0 1 11ans =

7 -17 11

FACULTAD DE INGENIERIAESPECIALIDAD DE INGENIERIA CIVIL

PRCTICA 03LGEBRA MATRICIAL Y SISTEMA DE ECUACIONES LINEALES ELIMINACIN GAUSSIANA

Curso: MTODOS NUMRICOS

Lima, abril del 2015