Escolar Documentos
Profissional Documentos
Cultura Documentos
1. INTRODUCCION
1.1. Aplicaciones
Muchas ecuaciones fundamentales de ingeniería están basadas en leyes de la
conservación de masa, energía y momento, por ejemplo en un balance de masa
en un conjunto e reactores. En el balance de fuerzas de una estructura de un
techo. Balance de energía en un horno industrial.
1.2. Generalidades
En el cálculo de raices, se determinó el valor de x, que satisface a una sola
ecuación f(x)=0. Ahora podemos determinar los valores x1, x2, x3, …xn; que en
forma simultánea satisfacen un conjunto de ecuaciones.
f 1 ( x1 , x 2 ,..., x n ) = 0
f 2 ( x1 , x 2 ,..., x n ) = 0
...
f n ( x1 , x 2 ,..., x n ) = 0
Estos sistemas pueden ser lineales o no lineales:
Las ecuaciones lineales son
a11 x1 + a12 x 2 + ... + a1n x n = b1 Donde:
a: Coeficientes constantes
a 21 x1 + a 22 x 2 + ... + a 2 n x n = b2
b: Constantes
... n: Número de ecuaciones
a n1 x1 + ann n 2 x 2 + ... + a nn x n = bn
Esquema para solucionar sistemas de ecuaciones lineales
Rango y posibilidad de solución:
Sea la matriz A, que representa un sistema de ecuaciones:
a11 a12 a13
A = a 21 a 22 a 23
a 31 a 32 a 33
RANGO A':b' mayor RANGO A' RANGO A':b' igual RANGO A'
CONSISTENTE
INCOSISTENTE
SIN SOLUCION
NUMERO INFINITO DE
SOLUCION UNICA
SOLUCIONES
USO DE MATLAB
1. Creación de Vectores
Un vector es una sucesión de números (elementos) distribuidos en una fila o
columna.
a) Creación de un vector a partir de una lista
Se deberá teclear los números (elementos) dentro de corchetes [ ]
Nombre_variable = [elementos del vector]
Ejercicio N° 1: Dados los datos de una tabla demográfica
Año 1984 1986 1988 1990 1992 1994 1996
Población 127 130 136 145 158 178 211
(millones)
2. Creación de Matrices
Una matriz se define por; el número de filas y por el número de columnas.
Así una matriz de m x n, tiene m filas y n columnas, y el producto de m por n nos
da el tamaño de la matriz
Nombre_variable = [elementos 1ra fila; elementos 2da fila¸ elementos 3ra fila;
elementos 4ta fila; …..; elementos última fila]
Ejercicio N°.4: Generar una matriz 3x3, con elementos números cualesquiera. Usar
(;) después de cada fila
Función rand.
Genera arrays de números aleatorios los cuales están uniformemente distribuidos
en el intervalos (0,1).
rand(n): genera valores aleatorios en una matriz cuadrada n.
Ejercicio Nº 8, generar una matriz de números aleatorios de 3filas por 3 columnas
a11 0 0
A = 0 a 22 0
0 0 a 33
Ejercicio Nº 11: Generar una matriz de 3 x 3, cuyos valores estén entre 10 y 20;
luego generar la matriz diagonal
>> A=round(10+(20-10)*rand(3)) >> diag(A)
A= ans =
16 10 19 16
13 17 15 17
12 14 14 14
ans = ans =
1 0 0 1 0 0
0 1 0 0 1 0
0 0 1 0 0 1
[A] = [A]T
1.3.2. Matriz Transpuesta
No es necesariamente una matriz cuadrada. Dada la matriz A de m xn; la
matriz n x m, se obtiene intercambiando sus filas por sus columnas a
1.3.4. Determinantes
Sea = una matriz de 2x2, el determinante está definido por:
Det A = − ; También es definido como:
| |ó
1.3.5. Cofactores
Sea A una matriz mxn. El cofactor ij de la matriz A está dado por:
= (−1)( )
| |
Donde:
1; +
(−1)( )
=
−1; +
2 4 3
A = 0 1 − 1
3 5 7
Solución:
4 − 13 / 3 − 7 / 3 2 4 3
I = − 1 5 / 3 2 / 3 0 1 − 1
− 1 2 / 3 2 / 3 3 5 7
También puede ser:
12 − 13 − 7 2 4 3
1
I = − 3 5 2 0 1 − 1
3
− 3 2 2 3 5 7
Para la fila Nº 1:
I 11 = [(12 * 2) − (13 * 0) − (7 * 3)] = 24 − 13 − 21 = 3
I 12 = [(12 * 4) − (13 * 1) − (7 * 5)] = 48 − 13 − 35 = 0
I 13 = [(12 * 3) − (13 * −1) − (7 * 7)] = 36 + 13 − 49 = 0
Para la fila Nº 2:
I 21 = [( −3 * 2) + (5 * 0) + ( 2 * 3)] = −6 + 0 + 6 = 0
I 22 = [( −3 * 4) + (5 * 1) + ( 2 * 5) ] = −12 + 5 + 10 = 3
I 23 = [( −3 * 3) + (5 * −1) + ( 2 * 7)] = −9 − 5 + 14 = 0
Luego:
12 − 13 − 7 2 4 3 3 0 0
1 = 1
I = − 3 5 2 0 1 − 1 0 3 0
3 3
− 3 2 2 3 5 7 0 0 3
1 0 0
I = 0 1 0
0 0 1
Usando Matlab:
Definir la Matriz A:
>> A
A=
2 4 3
0 1 -1
3 5 7
a) La ecuación solución es:
1 1
A −1 = adj ( A) = (CA)T
A A
b) Determinar el determinante de A:
>> detA=det(A)
detA =
3
c) La matriz adjunta de A es:
>> adjA=[12 -13 -7;-3 5 2;-3 2 2]
adjA =
12 -13 -7
-3 5 2
-3 2 2
d) La Inversa será:
>> Ainv=(1/detA)*adjA
Ainv =
4.0000 -4.3333 -2.3333
-1.0000 1.6667 0.6667
-1.0000 0.6667 0.6667
e) Verificar la solución
>> versi=A*Ainv
versi =
1.0000 0 0.0000
0 1.0000 0
0 -0.0000 1.0000
4
R3 = (4)( − ) + 5 = −11
1
Para la fila o renglón 3:
El elemento a22 es el elemento pivote; eliminar el elemento a32
a
R3 = ( R2 )( 32 ) + R3
a 32
5
R3 = ( −2)( − ) − 5 = 0 1 − 1 3 Μ 4
2
A' : b = 0 − 2 0 Μ − 5
5
R3 = (0)( − ) − 10 = −10 0 0 − 10 Μ 3
2 2
5 3
R3 = (−5)( − ) − 11 =
2 2
1 − 1 3 Μ 4 1 − 1 3
A': b = 0 − 2 0 Μ − 5 A' = 0 − 2 0
0 0 − 10 Μ 3 0 0 − 10
2
r(A’:b) = 3
r(A’) = 3
Usando Matlab:
4 x1 − 9 x2 + 2 x3 = 5
2 x1 − 4 x 2 + 6 x3 = 3
x1 − x 2 + 3 x3 = 4
b) Multiplicación
La operación de multiplicación * se realiza según:
• Sean las matrices A y B:
• La operación A*B, se realiza solamente si el número de
columnas de la matriz A es igual al número de filas de B.
• Se multiplican elementos de las columnas de A por elementos
de las filas de B
• El resultado es una matriz que tiene el mismo número de filas
que A y el mismo número de columnas que B.
a11 a12
b b
AB = a21 a22 11 12
a31 a32 21 22
b b
A= B= [A]3 x 2 [B ]2 x 2 = [C ]3 x 2
A*B=
A= B= [A]4 x3 [B]3x 2 = [C ]4 x 2
A*B=
>> AB=A*B
AB =
66 28
121 75
36 33
91 76
c) División de matrices
La operación de división está relacionada con las reglas algebra
lineal. Está relacionada las operaciones de matriz identidad y de
matriz inversa.
MatLab posee dos tipos de divisiones de “arrays”: la división
derecha (/) y la división izquierda(\).
División derecha (/)
Se usa para resolver ecuaciones matriciales XC=D, donde X y D
son vectores fila.
Resolviendo para X en la ecuación matricial, se tiene:
XC = D
XCC −1 = DC −1
X = DC −1
X = D/C
d) Producto Punto
El producto punto o producto escalar de dos vectores es un número
real que resulta al multiplicar el producto de sus módulos por el
coseno del ángulo que forman.
forman
En forma analítica:
>> f=dot(d,e)
f=
36 60 90
Producto cruz
El producto cruz o producto vectorial de
dos vectores es otro vector cuya
dirección es perpendicular a los dos
vectores y su sentido sería igual al
avance de un sacacorchos al girar de u
a v. Su módulo es igual a:
Sistemas de ecuaciones
>> a=[1 2 3]
>> b=[4 5 6]
>> cr=cross(a,b)
cr =
-3 6 -3
>> size(A)
ans =
1 10
Sistemas de ecuaciones
Solución:
Solucionando para X2:
10
3
x 2 = 9 − x1
2 8
1 3x1+2x 2=18
x 2 = 1 + x1 6
-x+2x2=2
2
4
La solución es x1=4 y
x2
2
x2= 3
0
-2
-4
-6
0 1 2 3 4 5 6 7 8 9 10
x1
>> fx1=inline('9-(3/2)*x');
>> fx2=inline('1+(1/2)*x');
>> fplot(fx1,[0,10]),grid
>> hold on
>> fplot(fx2,[0,10],'--')
a 22 a 23
E = a11 = a11 (a11a 33 − a 23 a 32 )
a 32 a 33
4 -1 3 A3 =
>> X1=det(A1)/det(A) 4 -9 5
X1 = 2 -4 3
6.9500 1 -1 4
>> X3=det(A3)/det(A)
X3 =
-0.1500
Prueba:
>> X1=6.95 >> Prueba=A(1,1)*X1+A(1,2)*X2+A(1,3)*X3
X1 = Prueba =
6.9500 5.0000
>> X2=2.50
X2 =
2.5000
>> X3=-0.15
X3 =
-0.1500
Procedimiento:
a) Multiplicar las ecuaciones por constantes de tal forma que se elimine una
de las incógnitas
b) Sustitución
3x1 + 2 x 2 = 18
− x1 + 2 x 2 = 2
Resolver mediante el método de eliminación de incógnitas.
Solución:
a) Eliminación
3 x1 + 2 x 2 = 18 3 x1 + 2 x 2 = 18
− (3) x1 + (3)2 x 2 = (3)2 − 3 x1 + 6 x2 = 6
0 + 8 x 2 = 24
24
x2 = =3
8
b) Sustitución
3x1 + 2 x 2 = 18
3x1 + 2(3) = 18
12
x1 = =4
3
c) Prueba
3 x1 + 2 x2 = 18 − x1 + 2 x2 = 2
3(4) + 2(3) = 18 − (4) + 2(3) = 2
12 + 6 = 18 2=2
18 = 18
Procedimiento General
a) Reducir el conjunto de ecuaciones a un sistema triangular superior
a11 x1 + a12 x 2 + a13 x3 + ...a1n x n = b1
a' 22 x 2 + a' 23 x3 + ...a' 2n x n = b' 2
a' '33 x 2 + ...a' ' 3n x n = b' 3
( n −1) ( n −1)
a nn nn x n = bn
b) Sustitución hacia atrás
3 + 2 = 18 (1.a) ------------à + =
− + 2 = 2 (1.b) -------------à + =
Solución:
Redución a un sistema triangular superior
a) Eliminación
Eliminar la variable x1:
Ecuación Pivote (1.a); elemento pivote a11=3
Factor: =
Multiplicar la ecuación (1.a) por el factor -1/3
−1 −1 −1
(3 1) + (2 2) = (18)
3 3 3
− 1 − 2 = −6 (2)
Restando (1.b)-2:
− +2 =2
2
− − 1 − 2 = −[−6]
3
__________________
2 = 8 ---------à =
=
bn(n−1)
xn = (n −1) =
a nn
8
= =
8
3
xi =
a ii( i −1 ) =
18 − 2(3) 12
= = =
3 3
Solución:
Redución a un sistema triangular superior
a) PASO 1: Eliminar la variable x1:
Para la segunda fila
Ecuación pivote (1a), elemento pivote a11=4
a 21 2 1
Factor= = =
a11 4 2
Multiplicar (1a) por el factor 1/2:
1 1 1 1
4 x1 − 9 x 2 + 2 x 3 = 5
2 2 2 2
9 5
2 x1 − x2 + x3 = (2.a)
2 2
Restando: (1.b)-(2.a)
2 x1 − 4 x 2 + 6 x 3 = 3
9 5
− 2 x1 − x 2 + x 3 =
2 2
2+5 3= (2.b)
a 21 a31 a m1
; ;
a11 a11 a11
a32
a 22
Restando (1.c)-(3.a):
x1 − x 2 + 3 x 3 = 4
9 1 5
− x1 − x 2 + x3 =
4 2 4
5 5 11
x 2 + 5 x3 =
4 2 4
2+ 3= (3.b)
El sistema queda:
4 x1 − 9 x 2 + 2 x 3 = 5 (1.a) ------------à + + =
1 1
x 2 + 5 x3 = (2.b) -----------à + =
2 2
5 5 11
x 2 + x3 = (3.b) --------à + =
4 2 4
1 1
x 2 + 5 x3 = (2.b)
2 2
3
− 10 x 3 = (4.b)
2
Sustitución hacia atras
n
bi(i −1) − ∑a
j =i +1
(i −1)
ij xj
xi =
a ii(i −1)
1 1
x 2 + 5 x3 =
2 2
3
1
− 5 − 5
2 20 5
x2 = = 4 = = 2.50
1 1 2
2
2
Usando Matlab:
Códigos a usarse:
function x=eliminacion(AA,b)
function A=intercambio(A,i)
function x=sutiatras(A,b)
4 −9 +2 = 5
2 −4 +6 = 3
− +3 = 4
Procedimiento:
NUEVO SISTEMA
SIN X1 Y X2
MATRIZ IDENTIDAD
SOLUCIÓN
Solución
Paso 01: Matriz aumentada y normalizar
a) Expresar los coeficientes, como una matriz aumentada.
4 − 9 2 5
2 − 4 6 3
1 − 1 3 4
1
b) Normalizar la primera fila (1a), al dividir entre el elemento pivote R1 → R1
4
9 1 5
1 − 4 2 4
2 − 4 6 3
1 − 1 3 4
Paso 02: Eliminar el término x1 de la 2da y 3ra filas. Ecuación pivote (1a)
9 1 5 (1a)
1 − 4 2 4
2 − 4 6 3 (1b)
1 − 1 3 4 (1c)
2 R3 → R3 − 1R1
R 2 → R2 − R1
1 R3 → 1 − 1(1) = 0
2 → −1 − 1( −9 / 4) = −1 + 9 / 4 = 5 / 4
R2 → 2 − (1) = 2 − 2 = 0 R3
1
R3 → 3 − 1(1 / 2) = 3 − 1 / 2 = 5 / 2
2
R 2 → − 4 − (− 9 / 4 ) = − 4 + 9 / 2 = 1 / 2 R3 → 4 − 1(5 / 4) = 4 − 5 / 4 = 11 / 4
1
2
R 2 → 6 − (1 / 2) = 6 − 1 = 5
1
2
R 2 → 3 − (5 / 4 ) = 3 − 5 / 2 = 1 / 2
1
La matriz resulta:
1 − 9 / 4 1 / 2 5 / 4 (2a)
0 1 / 2 5 1 / 2 (2b)
0 5 / 4 5 / 2 11 / 4 (2c)
Paso 03: Normalizar la ecuación 2b, dividir entre el elemento pivote: R2 → 2R2
1 − 9 / 4 1 / 2 5 / 4 (2a)
0 1 10 1 (2b)
0 5 / 4 5 / 2 11 / 4 (2c)
Paso 04: Eliminar el término x2 de la 1ra y 3ra filas. Ecuación pivote (2b)
9
R1 → R1 − (− ) R2
4
5
R3 → R3 − ( ) R 2
4
La matriz resulta:
1 0 23 7 / 2 (3a)
0 1 10 1 (3b)
0 0 − 10 3 / 2 (3c)
La matriz resulta:
1 0 0 139 / 20
0 1 0 5 / 2
0 0 1 − 3 / 20
Usando Matlab:
Códigos a usarse:
function x=gaussjordan(AA,b)
function A=intercambio(A,i)
4 −9 +2 = 5
2 −4 +6 = 3
− +3 = 4
4 -9 2
2 -4 6
1 -1 3
>> b=[5 3 4]'
b=
5
3
4
>> AA=[A b]
AA =
4 -9 2 5
2 -4 6 3
1 -1 3 4
>> R=rref(AA)
R=
1.0000 0 0 6.9500
0 1.0000 0 2.5000
0 0 1.0000 -0.1500
Procedimiento:
[A]{X } = {b}
DESCOMPOSICION
[L ][U ]{X }
[L ]{Z } = {b } HACIA
SUSTITUCION
ADELANTE
Solución
Paso 01: Establecer la matriz de coeficientes
4 − 9 2
A = 2 − 4 6
1 − 1 3
Paso 02: Establecer las matrices U y L
4 − 9 2 1 0 0
U = 2 − 4 6 L = l 21 1 0
1 − 1 3 l 31 l 32 1
Paso 03: Eliminación de Gauss de la matriz U
Eliminación de u1: como pivote la ecuación 1
4 − 9 2
U = 2 − 4 6
1 − 1 3
2 1
R2 → R2 − R1 R3 → R3 − R1
4 4
2 1
R2 → 2 − (4) = 2 − 2 = 0 R3 → 1 − ( 4) = 1 − 1 = 0
4 4
2 1
R 2 → −4 − (−9) = −4 + 9 / 2 = 1 / 2 R3 → −1 − ( −9) = −1 + 9 / 4 = 5 / 4
4 4
2 1
R 2 → 6 − ( 2) = 6 − 1 = 5 R3 → 3 − ( 2) = 3 − 1 / 2 = 5 / 2
4 4
4 − 9 2
U 1 = 0 1 / 2 5
0 5 / 4 5 / 2
La nueva matriz L, será:
1 0 0
L1 = 2 / 4 1 0
1 / 4 l32 1
Eliminación de u2; como ecuación pivote la ecuación 2
4 − 9 2
U 1 = 0 1 / 2 5
0 5 / 4 5 / 2
5/ 4 5 1
R3 → R3 − R2 = R3 − R2 R3 → R3 − R1
1/ 2 2 4
5
R3 → 5 / 4 − (1 / 2) = 5 / 4 − 5 / 4 = 0
2
5
R3 → 5 / 2 − (5) = 5 / 2 − 25 / 2 = −10
2
[A]{X } = {b}
[L][U ]{X } = {b}
1 0 0 4 − 9 2 X1 5
2 / 4 1 0 0 1 / 2 5 X 2 = 3
1 / 4 5 / 2 1 0 0 − 10 X 3 4
Podemos establecer:
[L ][U ]{X } = {b}
[L ]{Z } = {b}
1 0 0 Z1 5
2 / 4 1 0 Z 2 = 3
1 / 4 5 / 2 1 Z3 4
Efectuando una sustitución hacia adelante:
Z1 = 5 (2 / 4) Z 1 + Z 2 = 3 (1 / 4) Z 1 + (5 / 2 ) Z 2 + Z 3 = 4
(2 / 4)(5) + Z 2 = 3 (1 / 4)( 5) + (5 / 2)(1 / 2) + Z 3 = 4
Z2 =1/ 2 (5 / 4 ) + (5 / 4) + Z 3 = 4
Z3 = 3 / 2
1 -1 3
>> [L,U]=lu(A)
L=
1.0000 0 0
0.5000 0.4000 1.0000
0.2500 1.0000 0
U=
4.0000 -9.0000 2.0000
0 1.2500 2.5000
0 0 4.0000
>> [L,U,P]=lu(A)
L=
1.0000 0 0
0.2500 1.0000 0
0.5000 0.4000 1.0000
U=
4.0000 -9.0000 2.0000
0 1.2500 2.5000
0 0 4.0000
P=
1 0 0
0 0 1
0 1 0
METODOS ITERATIVOS
Estos métodos iterativos o aproximados son una alternativa a los métodos de
eliminación.
Consisten en suponer un valor inicial y luego usar un método sistemático hasta
obtener valores que simultáneamente satisfagan un conjunto de ecuaciones.
Se observarán los métodos de Jacobi y el Gauss-Seidel
Solución
Paso 01: Resolviendo para cada variable
b − a12 x 2 − a13 x3 b − a 21 x1 − a 23 x3 b3 − a 31 x1 − a 32 x 2
x1 = 1 x2 = 2 x3 =
a11 a 22 a 33
4 − [(−1) x 2 + (3) x 3 ] 5 − [(4) x1 + (2) x3 ] 3 − [( 2) x1 + ( −4) x 2 ]
x1 = x2 = x3 =
1 −9 6
Tabla
K X1 X2 X3
0 0 0 0
1 4.00000 1.22222 -0.01852
2 5.27778 1.78601 -0.06859
3 5.99177 2.09221 -0.10245
Usando Matlab:
Códigos a usarse:
GaussSeidel(A,b)
4 −9 +2 = 5
2 −4 +6 = 3
− +3 = 4
Función bicg
Esta función resuelve un sistema de ecuaciones lineales Ax=b. La matriz A
debe ser cuadrada, el vector de constantes en forma de vector columna
bicg(A,b)
Se puede especificar la tolerancia y el número máximo de iteraciones
bicg(A,b,tol,max)
>> A=[4 -9 2;2 -4 6;1 -1 3] >> x=bicg(A,b)
A= bicg converged at iteration 3 to a
4 -9 2 solution with relative residual 3.5e-015
2 -4 6 x=
1 -1 3 6.9500
>> b=[5 3 4]' 2.5000
b= -0.1500
5
3 >> tole=1e-20;
4 >> x=bicg(A,b,tole,50)
bicg stopped at iteration 7 without
converging to the desired tolerance 1e-
020
because the method stagnated.
The iterate returned (number 6) has
relative residual 5.2e-016
x=
6.9500
2.5000
-0.1500