Você está na página 1de 15

FACULTAD DE INGENIERA ELCTRICA

METODOS NUMERICOS
INFORME DE TRABAJO PRIMER PARCIAL
TEMA:
ELIMINACIN DE GAUSS-SIMPLE Y MTODO DE
GAUSS-JORDAN..
ALUMNOS:
CAROLINA MARTNEZ.
MANCHAY DIEGO.
ZAMBRANO JIMMY.
.

FECHA DE ENTREGA:
20 DE NOVIEMBRE DEL 2014
PERODO ELECTIVO:
OCTUBRE 2014- FEBRERO 2015

CALIFICACIN:

UNIVERSIDAD POLITCNICA SALESIANA


MTODOS NUMRICOS
INFORME N2
INGENIERIA ELECTRICA 20-11-2014

METODOS NUMERICOS
Alumno: Diego Manchay
e-mail: dmanchay@edu.ups.ec

Alumno: Jimmy Zambrano


e-mail: jimmy.zambrano17@gmail.com

Alumno: Carolina Martinez.


e-mail: carolinamgarzon@gmail.com

INFORME N2
1. RESUMEN:
Los mtodos numricos nos vuelven aptos para entender esquemas
numricos a fin de resolver problemas matemticos, de ingeniera,
un mtodo que se utiliza es la eliminacin de Gauss el mtodo
fundamental para resolver ecuaciones algebraicas lineales
simultneas es un algoritmo efectivo en extremo para obtener las
soluciones de muchos problemas en ingeniera. Adems se
menciona operaciones en matrices y su traspuesta esto utilizando
mtodos computacionales avanzados en un entorno como el
interfaz de Matlab.
PALABRAS CLAVE: Mtodos Numricos, Matemticas de

ingeniera, Matlab, Eliminacin de Gauss


2.- ABSTRAC:

Numerical methods make us unfit to understand numerical order to


solve mathematical problems, naval engineering, outlines a
method that is used is the Gaussian elimination fundamental
method for solving simultaneous linear algebraic equations is an
effective algorithm in the extreme for solutions many problems in
engineering. Besides operations and its transpose matrices
mentioned this using advanced computational methods in an
environment like Matlab interface
KEYS WORK: Numerical Methods, Engineering Mathematics,

Matlab.

4. INTRODUCCION
El presente artculo da a conocer ciertos conceptos de la
eliminacion de Gauss Simple y sus aplicaciones em problemas de
la ingenieria de manera prctica y utilizando un programa
realizado en Matlab , la cual va a proporcionar una facilidad al
momento de realizar cualquier tipo de ejercicio que requiera del
mismo ,as permitiendo la interaccin entre el usuario y los
servicios que ofrece nuestra programacin.
5. MARCO TEORICO
5.1. ELIMINACION DE GAUSS SIMPLE.
En la ingenieria ciertos problemas brindan un numero
determinado de incognitas,utilizando las ecuaciones se puede
desarrollar un esquema sistemtico o algortmico para eliminar
incgnitas y sustituir con el fin de encontrar el valor deseado de
alguna variable. La eliminacin de Gauss es el ms bsico de
dichos esquemas.
5.1.1 Eliminacin hacia adelante de incgnitas.
La primera fase consiste en reducir el conjunto de ecuaciones a un
sistema triangular superior. El paso inicial ser eliminar la primera
incgnita, x1, desde la segunda hasta la n-sima ecuacin. Para
ello, se utiliza operaciones aritmeticas simples como divicion,
multiplicacion,suma ,resta

3. OBJETIVO GENERAL:

Conocer el metodo de eliminacion de Gauss Jordan y


sus aplicaciones en Ingenieria y la manera de
operacin de este mtodo numrico en el programa
de Matlab.

3.1 Objetivos Especficos:

Interpretar las operaciones con matrices y su


traspuesta
Resolver operaciones con matrices con dimenciones
m,n,p.
Resolver problemas por medio de la eliminacion
simple de Gauss.
Utilizar un paquete informatico (MATLAB) para la
respectiva realizacion de los ejemplos.

Figura N1: metodo de eliminacion simple de Gauss

MTODOS NUMRICOS
Campus Kennedy

UNIVERSIDAD POLITCNICA SALESIANA


MTODOS NUMRICOS
INFORME N2
INGENIERIA ELECTRICA 20-11-2014

Las dos fases de la eliminacin de Gauss: eliminacin hacia


adelante y sustitucin hacia atrs. Los superndices prima indican
el nmero de veces que se han modificado los coefi cientes y
constantes.
5.1.2. Divisin entre cero
La razn principal por la que se le ha llamado simple al mtodo
anterior se debe a que durante las fases de eliminacin y
sustitucin hacia atrs es posible que ocurra una divisin entre
cero. Por ejemplo, si se utiliza el mtodo de eliminacin de Gauss
simple para resolver:

Los ejemplos se presentan a continuacion como una resolucion de


problemas para poner en practica estos conceptos de como
utilizar estos dos metodos numericos.
6. PROBLEMAS PROPUESTOS.
Problemas propuestos del Texto de Mtodos Numricos para
Ingenieros, sexta Edicin, Capitulo 9 Eliminacin de Gauss
(Steven C. Chapra, Raymond P. Canale)[15]
9.3 Un nmero de matrices se definen como:

En la normalizacin del primer rengln habr una divisin entre


a11 = 0. Tambin se pueden presentar problemas cuando un
coeficiente est muy cercano a cero. La tcnica de pivoteo se ha
desarrollado para evitar en forma parcial estos problemas
5.2. PIVOTEO
Un problema en la eliminacion de Gauss es cuando un elemento
pivote es cero, ya que el paso de normalizacin origina una
divisin entre cero.
Tambin llegan a surgir problemas cuando el elemento pivote es
cercano a o ms an que sea exactamente igual a cero, debido a
que si la magnitud del elemento pivote es pequea comparada
con los otros elementos, entonces se pueden introducir errores
de redondeo.
Por lo tanto, antes de normalizar cada rengln, resulta
conveniente determinar el coeficiente ms grande disponible en
la columna debajo del elemento pivote. Los renglones se pueden
intercambiar de manera que el elemento ms grande sea el
elemento pivote; esto se conoce como pivoteo parcial. Al
procedimiento, donde tanto en las columnas como en los
renglones se busca el elemento ms grande y luego se
intercambian, se le conoce como pivoteo completo, el cual se usa
en muy raras ocasiones debido a que al intercambiar columnas se
cambia el orden de las x y, en consecuencia, se agrega
complejidad significativa y usualmente injustificada al programa
de computadora.
5.3. MTODO DE GAUSS-JORDAN
El mtodo de Gauss-Jordan es una variacin de la eliminacin de
Gauss. La principal diferencia consiste en que cuando una
incgnita se elimina en el mtodo de Gauss-Jordan, sta es
eliminada de todas las otras ecuaciones, no slo de las
subsecuentes. Adems, todos los renglones se normalizan al
dividirlos entre su elemento pivote. De esta forma, el paso de
eliminacin genera una matriz identidad en vez de una triangular
En consecuencia, no es necesario usar la sustitucin hacia atrs
para obtener la solucin.

Conteste las siguientes preguntas con respecto a estas matrices:


(a) Cules son las dimensiones de las matrices?
(b) Identificar las matrices cuadradas, columnas y filas.
(c) Cules son los valores de los elementos: a12, b23, d32, E22,
F12, G12?
(d) Llevar a cabo las siguientes operaciones:

Introducimos los valores de las matrices


>> A=[4 5; 1 2 ; 5 6]
A=
4 5
1 2
5 6
>> B=[4 3 7;1 2 6;2 0 4]
B=
4 3 7
1 2 6
2 0 4
>> C = [3; 5; 1]
C=
3
5
1
>> D= [9 4 3 -6; 2 -1 6 5]
D=
9 4 3 -6
2 -1 6 5
>> E=[1 5 9; 7 2 3;4 0 6]
MTODOS NUMRICOS
Campus Kennedy

UNIVERSIDAD POLITCNICA SALESIANA


MTODOS NUMRICOS
INFORME N2
INGENIERIA ELECTRICA 20-11-2014

E=
1 5 9
7 2 3
4 0 6
>> F = [2 0 1; 1 7 3]
F=
2 0 1
1 7 3
>> G= [7 5 4]
G=
7 5 4
a) Hallar las dimensiones de las matrices
>> size (A)
ans =
3 2
>> size (B)
ans =
3 3
>> size (C)
ans =
3 1
>> size (D)
ans =
2 4
>> size (E)
ans =
3 3
>> size (F)
ans =
2 3
>> size (G)
ans =
1
3

b. Identificar el cuadrado, las filas y columnas de las


matrices
>> A.^2
ans =
16 25
1 4
25 36
>> B.^2
ans =
16 9
1 4
4 0
>> C.^2
ans =
9
25
1
>> D.^2
ans =
81 16
4 1
>> E.^2
ans =
1 25
49 4

49
36
16

9 36
36 25

81
9

16 0
>> F.^2
ans =
4 0
1 49
>> G.^2
ans =
49 25
>> A(1,:)
ans =
4 5
>> A(2,:)
ans =
1 2
>> A(3,:)
ans =
5 6
>> A(:,1)
ans =
4
1
5
>> A(:,2)
ans =
5
2
6
>> B(1,:)
ans =
4 3
>> B(2,:)
ans =
1 2
>> B(3,:)
ans =
2 0
>> B(:,1)
ans =
4
1
2
>> B(:,2)
ans =
3
2
0
>> B(:,3)
ans =
7
6
4
>> C(1,:)
ans =
3
>> C(2,:)
ans =
5
>> C(3,:)
ans =
1

36

1
9

16

MTODOS NUMRICOS
Campus Kennedy

UNIVERSIDAD POLITCNICA SALESIANA


MTODOS NUMRICOS
INFORME N2
INGENIERIA ELECTRICA 20-11-2014

>> C(:,1)
ans =
3
5
1
>> D(1,:)
ans =
9 4
>> D(2,:)
ans =
2 -1
>> D(:,1)
ans =
9
2
>> D(:,2)
ans =
4
-1
>> D(:,3)
ans =
3
6
>> D(:,4)
ans =
-6
5
>> E(1,:)
ans =
1 5
>> E(2,:)
ans =
7 2
>> E(3,:)
ans =
4 0
>> E(:,1)
ans =
1
7
4
>> E(:,2)
ans =
5
2
0
>> E(:,3)
ans =
9
3
6
>> F(1,:)
ans =
2 0
>> F(2,:)
ans =
1 7
>> F(:,1)
ans =
2

3 -6

1
>> F(:,2)
ans =
0
7
>> F(:,3)
ans =
1
3
>> G(1,:)
ans =
7 5 4
>> G(:,1)
ans =
7
>> G(:,2)
ans =
5
>> G(:,3)
ans =
4
c) Hallar los valores de las posiciones:
>> A(1,2)
ans =
5
>> B(2, 3)
ans =
6
>> D(3, 2)
??? Index exceeds matrix dimensions.
>> E(2, 2)
ans =
2
>> F(1, 2)
ans =
0
>> G(1, 2)
ans =
5
d) Realizar las siguientes operaciones:
Completamos las matrices para que sean todas cuadradas
rellenando con CEROS para poder realizar las operaciones.

>> A = [4 5 0 0; 1 2 0 0; 5 6 0 0; 0 0 0 0]
A=
4 5 0 0
1 2 0 0
5 6 0 0
0 0 0 0
>> B = [4 3 7 0; 1 2 6 0; 2 0 4 0; 0 0 0 0]
B=
4 3 7 0
1 2 6 0
2 0 4 0
0 0 0 0
>> C = [3 0 0 0; 5 0 0 0; 1 0 0 0; 0 0 0 0]
C=
3 0 0 0
MTODOS NUMRICOS
Campus Kennedy

UNIVERSIDAD POLITCNICA SALESIANA


MTODOS NUMRICOS
INFORME N2
INGENIERIA ELECTRICA 20-11-2014

5 0 0 0
1 0 0 0
0 0 0 0
>> D = [9 4 3 -6; 2 -1 6 5; 0 0 0 0; 0 0 0 0]
D=
9 4 3 -6
2 -1 6 5
0 0 0 0
0 0 0 0
>> E = [ 1 5 9 0; 7 2 3 0; 4 0 6 0; 0 0 0 0]
E=
1 5 9 0
7 2 3 0
4 0 6 0
0 0 0 0
>> F = [2 0 1 0; 1 7 3 0; 0 0 0 0; 0 0 0 0]
F=
2 0 1 0
1 7 3 0
0 0 0 0
0 0 0 0
>> G = [7 5 4 0; 0 0 0 0; 0 0 0 0; 0 0 0 0]
G=
7 5 4 0
0 0 0 0
0 0 0 0
0 0 0 0
>> E+B
ans =
5 8 16 0
8 4 9 0
6 0 10 0
0 0 0 0
>> A+F
ans =
6 5 1 0
2 9 3 0
5 6 0 0
0 0 0 0
>> B-E
ans =
3 -2 -2 0
-6 0 3 0
-2 0 -2 0
0 0 0 0
>> 7*B
ans =
28 21 49 0
7 14 42 0
14 0 28 0
0 0 0 0
>> A*B
ans =
21 22 58 0
6 7
19 0
26 27 71 0
0 0 0
0
>> C'
ans =
3 5 1 0

0 0 0 0
0 0 0 0
0 0 0 0
>> B*A
ans =
54 68 0 0
36 45 0 0
28 34 0 0
0 0 0 0
>> D'
ans =
9 2 0 0
4 -1 0 0
3 6 0 0
-6 5 0 0
>> A*C
ans =
37 0 0 0
13 0 0 0
45 0 0 0
0 0 0 0
>> A*C
ans =
37 0 0 0
13 0 0 0
45 0 0 0
0 0 0 0
>> I=eye(4)
I=
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
>> I*B
ans =
4 3 7 0
1 2 6 0
2 0 4 0
0 0 0 0
>> E'*E
ans =
66 19 54 0
19 29 51 0
54 51 126 0
0 0 0
0
>> C'*C
ans =
35 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
CODIGO DEL PROGRAMA.
A=input('Matriz cuadrada A : ')
b=input('Vector de trminos independientes b :')
[n,q]=size(A);
for i=1:n-1;
Piv=0;
Piv= abs (A(i,i));
p=i;
for k=i+1:n
if abs (A(k,i))>Piv;
Piv=abs(A(k,i));
p=k;
MTODOS NUMRICOS
Campus Kennedy

UNIVERSIDAD POLITCNICA SALESIANA


MTODOS NUMRICOS
INFORME N2
INGENIERIA ELECTRICA 20-11-2014
end
end
if p~=i;
for j=i:n;
aux=A(i,j);
A(i,j)=A(p,j);
A(p,j)=aux;
end
aux=b(i);
b(i)=b(p);
b(p)=aux
end
for k=i+1:n;
m=A(k,i)/A(i,i);
for j=i+1:n;
A(k,j)=A(k,j)-m*A(i,j);
end
A(k,i)=0;
b(k)=b(k)-m*b(i);
end
end
x=zeros(n,1);
disp(A);
disp(b);
for i=n:-1:1;
aux=0;
for j=i+1:n
aux=aux+A(i,j)*x(j);
end
x(i)=(b(i)-aux)/A(i,i);
end
disp(x)

ESTE PROBLEMA SE LO REALIZO EN MATLAB.


9.6. Para el conjunto de ecuaciones
2x2 + 5x3 = 1
2x1 + x2 + x3 = 1
3x1 + x2 = 2
(a) Calcular el determinante.
(b) la regla de Cramer para resolver Uso de las x.
(c) Sustituya sus resultados en la ecuacin original para
comprobar sus resultados.
a) Hallar el determinante:
tenemos el determinante areglado.
>> x=[0 2 5;2 1 1; 3 1 0]
x=
0 2 5
2 1 1
3 1 0
>> det(x)
ans =
1.0000
: la respuesta del determinante
b) Hallar las races:
Matriz cuadrada A : [0 2 5;2 1 1; 3 1 0]
A=
0 2 5
2 1 1
3 1 0
Vector de trminos independientes b :[1;1;2]
b=
1
1
2
b=

2
1
1
b=
2.0000
1.0000
-0.3333
3.0000 1.0000
0
0
2.0000 5.0000
0
0
0.1667
2.0000
1.0000
-0.5000
Donde el Resultados de las incgnitas:
-2.0000
8.0000
-3.0000
CODIGO DEL PROGRAMA
function callcramer(m)
disp(' ');
A = rand(m,m);
b = rand(m,1);
disp('Timing backslash:');
tic
x = A\b; % Backslash operator for solving A*x = b
toc
xc = cramersrule(A,b);
disp(['norm of backslash residual = '
num2str(norm(A*x-b),4)]);
disp(['norm of Cramer''s Rule residual = '
num2str(norm(A*xc-b),4)]);
disp(' ');
return
end
function x = cramersrule(A,b) % Demo of Cramer's
Rule for
solving A*x = b
disp('Timing Cramer''s Rule:');
tic
[m n] = size(b);
z = zeros(m,1);
Ai = A;
for k=1:m
Ai(:,k) = b;
z(k) = det(Ai);
Ai(:,k) = A(:,k);
end
detA = det(A);
x = z / detA;

toc
disp(['Max abs(det(Ai)) = ' num2str(max(abs(z)),4)]);
disp(['abs(det(A)) = ' num2str(abs(detA),4)]);
return
end
ESTE CODIGO SE LO REALIZO EN MATLAB R2013.
c) Comprobacin de las races:
>> x=[0 2 5;2 1 1; 3 1 0]
x=
0 2 5
2 1 1
3 1 0
>> y=[-2;8;-3]
y=
MTODOS NUMRICOS
Campus Kennedy

UNIVERSIDAD POLITCNICA SALESIANA


MTODOS NUMRICOS
INFORME N2
INGENIERIA ELECTRICA 20-11-2014

-2
8
-3
>> x*y
ans =
1
1
2

Como observamos en la figura 3, vamos reduciendo el


determiante hasta obtener los ceros deseados debajo del perfil de
la determinante.

9.9 Utilice la eliminacin de Gauss para resolver:


4x1 + x2 - x3 = -2
5x1 + x2 + 2x3 = 4
6x1 + x2 + x3 = 6
Emplear pivoteo parcial y compruebe sus respuestas mediante la
sustitucin
ellos en las ecuaciones originales.

Figura 2: Intefaz en Matlab de la resolucion del problema 9.9


Como se puede apreciar en la figura 2, realizamos el ingreso de
valores de cada incognita expresada como en una matriz en este
caso de 3x3 ya que tenemos 3 ecuaciones y 3 incognitas.
Para obtener un determinante con todos sus valores para
proceder a resolverlo utilizando algun metodo matematico como
es el caso de usar el metodo de Gauss para eliminacion simple.

Figura3: resolucion del problema 9.9 utilizando el metodo de


eliminacion de Gauss

Figura4: resultado encontrado para el problema 9.9 utilizando


matlab.
Una vez realizado el metodo de la eliminacion de Gauss el
programa realizado en matlab nos brinda la solucion requerida.
En la que destacamos que:
X1= 3
X2=-13
X3=1
ESTE CODIGO SE LO REALIZO EN MATLAB R2013.
clc,clear
n=input('Ingrese el nmero de ecuaciones: ');
disp('Ingrese los coeficientes de las ecuaciones: ')
for i=1:n
for j=1:n
fprintf('A (%d,%d): ',i,j)
A(i,j)=input('');
end
end
disp('Ingrese los trminos independientes de las
ecuaciones: ')
for k=1:n
fprintf('A (%d,%d): ',k,n+1)
A(k,n+1)=input('');
end
disp('La matriz ampliada que se form es la siguiente:
')
A=A
disp('A continuacin de realizar la eliminacion hacia
adelante. ')
x=1;
while(x<n)
for s=1:n-1
for l=x:n-1
A(l+1,:)=A(s,:)*(-A(l+1,s)/A(s,s))+A(l+1,:)
end
x=x+1;
end
end
disp('La matriz triangular superior que se form fue la
siguiente: ')
A=A
X(n)=A(n,n+1)/A(n,n);
for h=n-1:-1:1
S=A(h,n+1);
for f=n:-1:1
S=S-A(h,f)*X(f);
end
S=S/A(h,h);
X(h)=S;
end
disp('Resultado:')
disp('----------')
for r=1:n
fprintf('X%d = %f ',r,X(r))
end
disp('Fin del programa.')

MTODOS NUMRICOS
Campus Kennedy

UNIVERSIDAD POLITCNICA SALESIANA


MTODOS NUMRICOS
INFORME N2
INGENIERIA ELECTRICA 20-11-2014

ESTE CODIGO SE LO REALIZO EN MATLAB R2013.

Despues de operar el programa realiza la comparacion de los


terminos del perfil principal y la ultima columna para obtener de
esta manera el resultado de el sistema de ecuacion.

9.13 Resuelva:
x1 + x2 - x3 = -3
6x1 + 2x2 + 2x3 = 2
- 3x1 + 4x2 + x3 = 1
Con:
(a) la eliminacin Gauss ,
(b) la eliminacin de Gauss con parciales pivotante,

Figura 7: resultado del problema 9.13

Figura4: Interface del Programa Matlab para ingresar los


coeficientes del determinante.
Una vez que he ingresado todos los coeficientes de la
determinante como se ve en la figura 4 ,el programa me lo ordena
como se observa en la figura 5.

Donde :
X1= -0.25
X2= -0.5
X3= 2.25
Como podemos obcervar en la figura 7, el programa obtiene el
resultado del sistema de ecuaciones palnteado para el problema
9.13 utilizando el metodo de eliminacion de Gauss.
ESTE CODIGO SE LO REALIZO EN MATLAB R2013Y ES EL MISMO
QUE EL PROBLEMA 9.9.
9.14 Realizar el mismo clculo que en el ejemplo 9.11, pero el uso
cinco paracaidistas con las siguientes caractersticas:
Tabla 1: Datos para del problema 9.14

Figura5: Determinante ordenado


Una vez que tenemos el determinante el programa creado en
Matlab empiesa a realizar el metodo de eliminacion de Gauss
Reduciendo a cero las filas debajo del perfil del determinante
como se ve en la figura 6.

Figura6: operacin del metodo de eliminacion de Gauss para el


problema 9.13

Los paracaidistas tienen una velocidad de 9 m / s.


Sea la pocicion de los paracaidistas, como se ve en la figura

Figura8-a: esquema de planteamiento del problema 9.14.

MTODOS NUMRICOS
Campus Kennedy

UNIVERSIDAD POLITCNICA SALESIANA


MTODOS NUMRICOS
INFORME N2
INGENIERIA ELECTRICA 20-11-2014

Figura 9: Determinante del sistema de ecuaciones del problema


9.14.
El programa procede a realizar la operacin para obtener la
respuesta por medio del metodo de eliminacion de Gauss.

Figura8-b: esquema de planteamiento del problema 9.14.


Sea un sistema de ecuaciones:
m1g T c1v = m1a
m2g + T c2v R = m2a
m3g + T c3v R = m3a
m4g + T c4v R = m4a
m5g c5v + R = m5a
Sustituyendo los valores de la tabla sea v=9m/s tenemos.
(60Kg)(9.8m/s2) T +0 (10Kg/s)(9m/s) = 60a
(75kg)(9.8m/s2) + T (12Kg/s)(9m/s) R = 75a

Figura 10: procesamiento del programa.

(60kg)(9.8m/s2) + T (15Kg/s)(9m/s) R = 60a


(75Kg)(9.8m/s2) + T (16kg/s)(9m/s) R = 75a
(90Kg)(9.8m/s2)+0 (10Kg)(9m/s) + R = 90a
Operando tenemos:
60a + T +0 = 498
75a T + R = 627
60a - T + R = 453
75a T + R = 591
90a + 0 - R = 792

Una vez que obtenemos un sistema de ecuaciones podemos


ingresar los coeficientes para obtener el determinante de 5x5
como se ve en la figura 9.

Figura 11: Resultado del metodo de eliminacion de Gauss para el


problema 9.14.
MTODOS NUMRICOS
Campus Kennedy

UNIVERSIDAD POLITCNICA SALESIANA


MTODOS NUMRICOS
INFORME N2
INGENIERIA ELECTRICA 20-11-2014

Como obcervamos en la figura 11 el programa no puede


encontrar la solucion debido a que no puede operar con
ecuaciones que se eliman o estan erroneas.
Por lo que se procede a realizar el mismo proceso pero esta vez
utilizando 3 ecuaciones ya que solo tengo 3 incognitas por lo que
nuestro determinante sera de 3x3 y no como antes de 5x5.
Entonces.
Seaque tengo 5 ecuaciones y 3 incognitas procedo a reducir la
matriz.

Figura 13: respuesta del problema 9.14 reduciendo el determinante.


Las respuestas obtenidas son:
a=aceleracion= -8.52m/s2
T= tencion de la cuerda = -13.2 N
R= -25N
ESTE CODIGO SE LO REALIZO EN MATLAB R2013 Y ES EL MISMO
QUE EL PROBLEMA 9.9
9.16. Desarrollar, depurar y probar un programa, ya sea en un
lenguaje de alto nivelo lenguaje de macros de su eleccin para
multiplicar dos matrices- es decir, [X] = [Y] [Z], donde [Y] es m por
n y [Z] es n por p. Pruebe el
programa utilizando las matrices de problema resuelto. 9.2.
9.2. Tres matrices se definen como

Figura12: ingreso de datos para una determinante de 3x3.

Una vez que ingresamos los valores se procede a encontrar los


valores del problema, el programa procesa los datos para que por
ultimo encuentra elresultado utilizando el metodo de eliminacion
de Gauss.

Matrices a resolver del problema(9.2) para realizar el 9.16.


Option Explicit
Sub GaussElim()
Dim n As Integer
Dim er As Integer
Dim i As Integer
Dim a(10, 10) As Single
Dim b(10) as Single
Dim x(10) as Single
Range('a1').Select
n = 3;
a(1,1) = 1;
a(1, 2) = 1;
a(1, 3) = -1;
a(2, 1) = 6;
a(2, 2) = 2;
a(2, 3) = 2;
a(3, 1) = -3;
a(3, 2) = 4;
a(3, 3) = 1;
b(1) = 1;
b(2) = 10;
b(3) = 2;
Call Gauss(a(), b(), n, x(), er)
If er = 0 Then
For i = 1 To n
MsgBox "x(" & i & ") = " & x(i)
Next i
Else
MsgBox "ill-conditioned system"
End If
End Sub
Sub Gauss(a, b, n, x, er)
Dim i As Integer
Dim j As Integer
Dim s(10) As Single
Const tol As Single = 0.000001
%er = 0
For i = 1 To n
s(i) = Abs(a(i, 1))
MTODOS NUMRICOS
Campus Kennedy

UNIVERSIDAD POLITCNICA SALESIANA


MTODOS NUMRICOS
INFORME N2
INGENIERIA ELECTRICA 20-11-2014
For j = 2 To n
If Abs(a(i, j)) > s(i) Then s(i) = Abs(a(i, j))
Next j
Next i
Call Eliminate(a, s(), n, b, tol, er)
If er <> -1 Then
Call Substitute(a, n, b, x)
End If
End Sub
Sub Pivot(a, b, s, n, k)
Dim p As Integer
Dim ii As Integer
Dim jj As Integer
Dim factor As Single
Dim big As Single
Dim dummy As Single
p = k
big = Abs(a(k, k) / s(k))
For ii = k + 1 To n
dummy = Abs(a(ii, k) / s(ii))
If dummy > big Then
big = dummy
p = ii
End If
Next ii
If p <> k Then
For jj = k To n
dummy = a(p, jj)
a(p, jj) = a(k, jj)
a(k, jj) = dummy
Next jj
dummy = b(p)
b(p) = b(k)
b(k) = dummy
dummy = s(p)
s(p) = s(k)
s(k) = dummy
End If
End Sub
Sub Substitute(a, n, b, x)
Dim i As Integer
Dim j As Integer
Dim sum As Single
x(n) = b(n) / a(n, n)
For i = n - 1 To 1 Step -1
sum = 0
For j = i + 1 To n
sum = sum + a(i, j) * x(j)
Next j
x(i) = (b(i) - sum) / a(i, i)
Next i
End Sub
Sub Eliminate(a, s, n, b, tol, er)
Dim i As Integer
Dim j As Integer
DIm k As Integer
Dim factor As Single
For k = 1 To n - 1
Call Pivot(a, b, s, n, k)
If Abs(a(k, k) / s(k)) < tol Then
er = -1
Exit For
End If
For i = k + 1 To n
factor = a(i, k) / a(k, k)
For j = k + 1 To n
a(i, j) = a(i, j) - factor * a(k, j)
Next j
b(i) = b(i) - factor * b(k)
Next i
Next k
If Abs(a(k, k) / s(k)) < tol Then er = -1
End sub

9.17 Desarrollar, depurar y probar un programa, ya sea en un


lenguaje de alto nivel o lenguaje de macros de su opcin para
generar la transpuesta de una matriz. Prubelo en las matrices de
problema resuelto. 9.2.
9.2. Tres matrices se definen como

Matrices a resolver del problema(9.2) para realizar el 9.16.


Matriz A

Figura 14: ingreso de coeficientes del determinante del problema


9.17.
Una vez que tenemos todos los coeficientes de la determinante
como se ve en la figura 14, el programa procede a realizar el
proceso programado para realizar la transpuesta de una matriz
como se ve en la figura 14.
Matriz B

La respuesta es : 2
ESTE CODIGO SE LO REALIZO EN MATLAB R2013

MTODOS NUMRICOS
Campus Kennedy

UNIVERSIDAD POLITCNICA SALESIANA


MTODOS NUMRICOS
INFORME N2
INGENIERIA ELECTRICA 20-11-2014

Matriz C
Ingrese la matriz
A = [1 2 -1; 5 2 2; -3 5 -1]
En donde el ; separa una fila de la matriz con la columna en esta
matriz se puede apreciar su dimencionamiento que es de 3x3
Ingrese el vector B, correspondiente
independientes b= [2; 9; 1]

los

trminos

La Matriz C, que correspondiente a la matriz aumentada AB


[Ab] =
1 2 -1 2
5 2 2 9
-3 5 -1 1
ETAPA 1= La matriz correspondiente a esta etapa antes del
proceso:
5 2 2 9
1 2 -1 2
-3 5 -1 1
Figura 16:transpuesta de la matriz c
CODIGO DEL PROGRAMA
clear;
clc;
fprintf('Dame la matriz a la que le quieres calcular la
transpuesta\n')
f=input('cuantas filas:');
c=input('cuantas columnas:');
for k=1:c
for j=1:f
fprintf('fila: %x\n',j)
fprintf('columna: %x',k)
r=input(' numero de estafila y columna');
a(j,k)=r;
j=j+1;
end
k=k+1;
end
a
fprintf('La Matriz transpuesta es:\n\n')
b=a;
b'
pause

ESTE CODIGO SE LO REALIZO EN MATLAB R2013


9.18 Desarrollar, depurar y probar un programa, ya sea en un
lenguaje de alto nivel o lenguaje de macros de su eleccin para
resolver un sistema de ecuaciones
con eliminacin de Gauss con pivoteo parcial. Basar el programa
en el pseudocdigo de la Fig. 9.6. Pruebe el programa utilizando el
siguiente sistema (que tiene una respuesta de x1 = x2 = x3 = 1),
x1 + 2x2 - x3 = 2
5x1 + 2x2 + 2x3 = 9
- 3x1 + 5x2 - x3 = 1
Eliminacion gaussiana con pivoteo parcial
En el interface de matlab para poder ingresar la matriz tenemos.

Los Multiplicadores correspondiente a esta etapa son:


m(2,1)= 0.20000
m(3,1)= -0.60000
La Matriz correspondiente a esta etapa despues del proceso:
Columns 1 through 3
5.00000
2.00000
2.00000
0
1.60000
-1.40000
0
6.200000 0.20000
Column 4
9.0000
0.2000
6.4000
ETAPA 2= La matriz correspondiente a esta etapa antes del
proceso:
Columns 1 through 3
5.000 2.000 2.000
0
6.2000 0.2000
0
1.6000 -1.4000
Column 4
9.0000
6.4000
0.2000
Los Multiplicadores correpondientes a esta etapa son:
m(3,2)= 0.25806451613
La Matriz correspondiente a esta etapa despues del proceso:
Columns 1 through 3
5.000 2.000 2.000
0
6.2000 0.2000
0
0
-1.451613
MTODOS NUMRICOS
Campus Kennedy

UNIVERSIDAD POLITCNICA SALESIANA


MTODOS NUMRICOS
INFORME N2
INGENIERIA ELECTRICA 20-11-2014

Column 4
9.0000
6.4000
-1.451613
SOLUCION:
La matriz Ab final:
Columns 1 through 3
5.000 2.000 2.000
0 6.20000 0.2000
0 0
-1.451613
Column 4
9.000
6.4000
-1.451613
La solucion de X1 hasta Xn es:
X1= 1
X2= 1.000000000000000
X3= 1
>>
En esta parte vemos la eliminacion gausiana con pivoteo parcial
Y su solucion como se ve en la figura 17.

Figura17: resolucin del problema 9.18.


La eliminacion por el metodo de Gauss tambien tiene un pivoteo
parcial para dejar en 1 a los coeficientes del determinante en la
primera fila

Figura 18: Resolucin de Matlab para el problema 9. 18


CDIGO DEL PROGRAMA.
Clear
a=input('INGRESE LA MATRIZ AUMENTADA a=');
%PASO 1
[n,m]=size(a);
bol=0;
%PASO 2 Haga pasos 3-5
for i=1:n-1
for p=i:n
if a(p,i)~=0
break;
end
end
if p==n
disp('EL SISTEMA TIENE INFINITAS SOLUCIONES O NO
EXISTE SOLUCION');
bol=1;
break;
end
%PASO 4 intercambio de filas
if p~=i
disp('pivoteando')
aux=a(i,:);
a(i,:)=a(p,:);
a(p,:)=aux;
end
%PASO 5 Haga los pasos 6-7
for j=i+1:n
%PASO 6
m(j,i)=a(j,i)/a(i,i);
%PASO 7
a(j,:)=a(j,:)-m(j,i)*a(i,:);
end
end
a
if bol==0
%PASO 8
if a(n,n)==0 & a(n,n+1)==0
disp('EL SISTEMA TIENE INFINITAS
SOLUCIONES');
fprintf('PROCEDIMIENTO TERMINADO SIN
EXITO\n');
elseif a(n,n)==0 & a(n,n+1)~=0
disp('EL SISTEMA NO TIENE SOLUCION');
fprintf('PROCEDIMIENTO TERMINADO SIN
EXITO\n');
else
% PASO9 %Haga los pasos 9-11
x(n)=a(n,n+1)/a(n,n);
MTODOS NUMRICOS
Campus Kennedy

UNIVERSIDAD POLITCNICA SALESIANA


MTODOS NUMRICOS
INFORME N2
INGENIERIA ELECTRICA 20-11-2014
%comienza la sustitucion hacia atras
%PASO 10
for i=n-1:-1:1
s=0;
for j=i+1:n
s=s+a(i,j)*x(j);
end
x(i)=(a(i,n+1)-s)/a(i,i);
end
%PASO 11
disp('la solucion aproximada del sistema
es')
for i=1:n
fprintf('\n x(%1d)=%6.3f',i,x(i));
end
fprintf('\nPROCEDIMIENTO TERMINADO
SATISFACTORIAMENTE\n');
end
end

ESTE CODIGO SE LO REALIZO EN MATLAB R2013.


9.20 Desarrollar, depurar y probar un programa, ya sea en un
lenguaje de alto nivel o lenguaje de macros de su eleccin para
resolver un sistema de n ecuaciones lineales simultneas con base
en la Sec. 9.6. Pruebe el programa resolviendo Prob. 7.12.
7.12 Determinar las races de las ecuaciones no lineales
simultneas
y = -x2 + x + 0,75
y + 5xy = x2
Emplear conjeturas iniciales de x = y = 1.2 y utilizar la herramienta
Solver de Excel o un paquete de software de su eleccin.
Ecuaciones despejadas.
-x2 + x = 0.45
-X2 + 6x = 1.2

Figura 19 resolucion del problema 9.20 realizado en Matlab


Una vez que se ingresan los datos el programa procesa estoddatos
y los ordena de forma de una matriz ampliada como se ve en la
figura 20.

Figura 20 : Proseso de la eliminacion de Gauss

Figura 21: El programa se encarga de obtener el resultado


empleado elmetodo de eliminacion de Gauss.
7. CONCLUSIONES

Comprobamos que coinciden las races hallndolas


mediante ambos mtodos de Gauss y pivotacin.
El mtodo de pivotacin es un mtodo ms utilizado, ya
que nos permite encontrar ms rpidamente la solucin
a las ecuaciones.
Se pudo comprobar que mediante el mtodo de Cramer
que al sustituir los valores, se resuelve el sistema de
ecuaciones.
El mtodo de Cramer es efectivo, pero al momento de
encontrar la solucin a las ecuaciones lineales, no
converge tan rpidamente como lo hace el mtodo de la
pivotacin.
Se tuvo que hacer las matrices cuadradas rellenando con
ceros, para poder operar los ejercicios planteados, ya
que casi ninguno coincidan en sus dimensiones.
El mtodo de eliminacion Gauss con pivoteo inicial nos
permite aplicar este mtodo en problemas comunes en
la ingeniera en la que tenemos n incgnitas con m
variables
Hemos aprendido a resolver sistemas de ecuaciones
utilizando el mtodo de eliminacion de gauss de manera
analtica y con algoritmos de computacin como en un
entorno de Matlab.
8. REFERENCIAS
[1] PROCESOS NUMERICOS, [En lnea]. Available:
https://sites.google.com/site/pn20111/home/metodoscerrados/3-1-metodo-de-biseccion. [ltimo acceso: 12 11
2014].
[2] PROCESOS NUMERICOS, [En lnea]. Available:
https://sites.google.com/site/pn20111/home/metodoscerrados/3-2-metodo-regla-falsa. [ltimo acceso: 13 11 2014].
[3] PROCESOS NUMERICOS, [En lnea]. Available:
https://sites.google.com/site/pn20111/home/4-metodosabiertos/4-1-metodo-de-punto-fijo. [ltimo acceso: 13 11
2014].
[4] Steven C. Chapra, Raymond P. Canale CAP9-Eliminacion de
Gauss Metodos Numericos para Ingenieros. Sexta edicion.
Editorial MacGrawHill.USA.pp 269-272.

MTODOS NUMRICOS
Campus Kennedy

Você também pode gostar