Documentos de Académico
Documentos de Profesional
Documentos de Cultura
An 05 Algebra Lineal Numerica PDF
An 05 Algebra Lineal Numerica PDF
Hidráulica Computacional
(Aplicaciones con MATLAB)
Álgebra Lineal
Numérica
1 2 4 7 3 1 1 3
A 3 1 2 , B 2 3 5 x 4 , y 9
4 1 3 8 1 6 2 4
1 2
8 1 3 5
C 4 3 D u 2 1 7 z
1 5 2 1
0 2
1 7 2 3 4 1 8 5 5 1 7 2 3 4 1 6 1 3
A B 3 2 1 3 2 5 5 4 7 A B 3 2 1 3 2 5 1 2 3
4 8 1 1 3 6 12 2 9 4 8 1 1 3 6 4 2 3
1 3 4 1 3 2
x y 4 9 13 x y 4 9 5
2 4 6 2 4 2
Multiplicación de Matrices y Vectores
El producto de matrices C = AB, es posible cuando el número
de columnas de A y el número de filas de B son idénticas. Los
elementos de C están relacionados con los de A y B por:
ci , j ai ,k bk , j
k
1 2 1 5 2 1 7
A continuación, veamos 5
C z 4 3 4 5 3 1 23
algunos ejemplos: 1
0 2 0 5 2 1 2
1 2
u C 2 1 7 4 3 2 1 1 4 7 0 2 2 1 3 7 2 6 21
0 2
1 2
8 1 3 8 1 1 4 3 0 8 2 1 3 3 2 12 25
DC 4 3
1 5 2 0 2 1 1 5 4 2 0 1 2 5 3 2 2 21 21
1 2 1 8 2 1 11 2 5 1 3 2 2 10 11 7
8 1 3 35 19 18
C D 4 3
4 8 3 1 4 1 3 5 4 3 3 2
0 2 1 5 2 0 8 2 1 0 1 2 5 0 3 2 2 2 10 4
Inversa de Matrices
Cuando dos matrices cuadradas A y B satisfacen: AB = I, ó BA
= 1; donde I es la matriz identidad y A y B están en relación
inversa; es decir A es el inverso de B y B el inverso de A. Por
ejemplo, para el caso de las matrices A y B:
1 6 0.0714 0.2143 1 0
A B A B B A
5 2 0.1786 0.0357 0 1
Generación de Vectores y Matrices en MATLAB
x= z=
1 2 3 4 5 6 5 4 3 2 1
>> y=0:pi/4:pi
y=
0 0.7854 1.5708 2.3562 3.1416
>> k=linspace(0,1,6)
k=
0 0.2000 0.4000 0.6000 0.8000 1.0000
Suma y Resta de Matrices y Vectores en MATLAB
A= B=
1 2 4 7 3 1
3 1 2 2 3 5
4 1 3 8 1 6
ans = ans =
8 5 5 -6 -1 3
5 4 7 1 -2 -3
12 2 9 -4 0 -3
>> x=[1;4;2] >> y=[3;9;4] >> z=[3 4 9]
x= y= z=
1 3
4 9 3 4 9
2 4
4 -2 >> x-z
13 ??? Error using ==> -
-5
6 Matrix dimensions must agree.
-2
Multiplicación de Matrices y Vectores en MATLAB
A= B=
1 2 4 7 3 1
3 1 2 2 3 5
4 1 3 8 1 6
ans = ans =
43 13 35 20 18 37
39 14 20 31 12 29
54 18 27 35 23 52
>> A=[1 2 4;3 1 2;4 1 3] >> x=[1;4;2] >> z=[3 4 9]
A= x= z=
1
1 2 4 4 3 4 9
3 1 2 2
4 1 3
17 >> A*z 51 19 47
11 ??? Error using ==> *
Inner matrix dimensions
14 must agree.
División de Matrices en MATLAB
A= B=
1 2 4 7 3 1
3 1 2 2 3 5
4 1 3 8 1 6
X= X=
A= B=
1 2 4 7 3 1
3 1 2 2 3 5
4 1 3 8 1 6
ans = X=
A= ans =
ans = ans =
1 3 4 1.0000 0 0
2 1 1 -0.0000 1.0000 0
4 2 3 0 0 1.0000
DETERMINANTE DE UNA MATRIZ
a11 a12
det( A) det a11a22 a21a12
a21 a22
Caso 1: m=n
Caso 2: m < n (ecuación subdeterminada)
Caso 2: m > n (ecuación sobredeterminada)
3 2 x1 1
Ax b
1 1 x2 1
x= z=
h
i La corriente eléctrica i del
g
nodo a al b, denotada por iab,
está relacionada con los
b a f voltajes (e) y resistencias (r)
mediante:
ea eb
c
d
e
iab
Un nodo conectado a rab
resistencias
La suma las corrientes que salen del nodo a debe ser cero
ea e j
j b ,c , d ,...,i
iaj
j b ,c , d ,...,i raj
0
En la siguiente figura, se muestra un circuito eléctrico
conectada a tres terminales con voltajes conocidos.
Obtenga los valores de voltajes en los nodos a, b y c.
2 ohms 4 ohms 3 ohms
a b
20 v
3 ohms 5 ohms
5v
c
3 ohms
ea e20 ea eb ea ec 1 1 1 1 1 20
0 ea eb ec
2 4 3 2 4 3 4 3 2
eb ea eb 0 eb ec 1 1 1 1 1
ea eb ec 0
0
4 3 5 4 4 3 5 5
ec 5 ec ea ec eb 1 1 1 1 1 5
0 ea eb ec
3 3 5 3 5 3 3 5 3
>> clear
>> a(1,1)=1/2+1/4+1/3;a(1,2)=-1/4;a(1,3)=-1/3;
>> a(2,1)=a(1,2);a(2,2)=1/4+1/3+1/5;a(2,3)=-1/5;
>> a(3,1)=a(1,3);a(3,2)=a(2,3);a(3,3)=1/3+1/3+1/5;
>> b(1)=20/2;b(2)=0;b(3)=5/3;
>> x=a\b'
x=
13.3453
6.4401
8.5420
n
b1 a1,i xi
xn 1
n2
b
n 1
n2
a x
n 1, n n x1 i 2
n2
an 1,n 1 a1,1
Eliminación de Gauss con pivoteo
3
x4 1
3
4
2 x3 5 9 x3 2
2
Finalmente: x1 = 3 x2 = 1 x3 = -2 x4 = 1
Solución con MATLAB (Eliminación simple de Gauss)
>> a(2,:)=a(2,:)-a(1,:)*a(2,1)/a(1,1);
>> a(3,:)=a(3,:)-a(1,:)*a(3,1)/a(1,1);
>> a(4,:)=a(4,:)-a(1,:)*a(4,1)/a(1,1)
a=
6 -2 2 4 16
0 -4 2 2 -6
0 -12 8 1 -27
0 2 3 -14 -18
>> a(3,:)=a(3,:)-a(2,:)*a(3,2)/a(2,2);
>> a(4,:)=a(4,:)-a(2,:)*a(4,2)/a(2,2)
a=
6 -2 2 4 16
0 -4 2 2 -6
0 0 2 -5 -9
0 0 4 -13 -21
>> a(4,:)=a(4,:)-a(3,:)*a(4,3)/a(3,3)
a=
6 -2 2 4 16
0 -4 2 2 -6
0 0 2 -5 -9
0 0 0 -3 -3
Solución con MATLAB
(Eliminación de Gauss con pivoteo)
>> tempo=a(2,:);a(2,:)=a(1,:);a(1,:)=tempo
a=
12 -8 6 10 26
6 -2 2 4 16
3 -13 9 3 -19
-6 4 1 -18 -34
>> a(2,:)=a(2,:)-a(1,:)*a(2,1)/a(1,1);
>> a(3,:)=a(3,:)-a(1,:)*a(3,1)/a(1,1);
>> a(4,:)=a(4,:)-a(1,:)*a(4,1)/a(1,1)
a=
12.0000 -8.0000 6.0000 10.0000 26.0000
0 2.0000 -1.0000 -1.0000 3.0000
0 -11.0000 7.5000 0.5000 -25.5000
0 0 4.0000 -13.0000 -21.0000
>> tempo=a(3,:);a(3,:)=a(2,:);a(2,:)=tempo
a=
12.0000 -8.0000 6.0000 10.0000 26.0000
0 -11.0000 7.5000 0.5000 -25.5000
0 2.0000 -1.0000 -1.0000 3.0000
0 0 4.0000 -13.0000 -21.0000
>> a(3,:)=a(3,:)-a(2,:)*a(3,2)/a(2,2);
>> a(4,:)=a(4,:)-a(2,:)*a(4,2)/a(2,2)
a=
12.0000 -8.0000 6.0000 10.0000 26.0000
0 -11.0000 7.5000 0.5000 -25.5000
0 0 0.3636 -0.9091 -1.6364
0 0 4.0000 -13.0000 -21.0000
>> tempo=a(4,:);a(4,:)=a(3,:);a(3,:)=tempo
a=
12.0000 -8.0000 6.0000 10.0000 26.0000
0 -11.0000 7.5000 0.5000 -25.5000
0 0 4.0000 -13.0000 -21.0000
0 0 0.3636 -0.9091 -1.6364
>> a(4,:)=a(4,:)-a(3,:)*a(4,3)/a(3,3)
a=
12.0000 -8.0000 6.0000 10.0000 26.0000
0 -11.0000 7.5000 0.5000 -25.5000
0 0 4.0000 -13.0000 -21.0000
0 0 0 0.2727 0.2727
Solución Directa con MATLAB
A=
6 -2 2 4
12 -8 6 10
3 -13 9 3
-6 4 1 -18
>> b=[16;26;-19;-34]
>> x=A\b
b=
x=
16
3.0000
26
1.0000
-19
-2.0000
-34
1.0000
Eliminación de Gauss-Jordan e Inversión de Matrices
La eliminación de Gauss-Jordan es una variación de la
eliminación de Gauss mediante la cual se eliminan los
números que están arriba y debajo de un pivote sin distinguir
la eliminación hacia delante de la sustitución hacia atrás. No
obstante el pivoteo sigue siendo necesario por las razones
que ya se han explicado. A continuación un ejemplo:
0.04 x1 0.04 x2 0.12 x3 3 0.04 0.04 0.12 x1 3
0.56 1.56 0.32 x 1
0.56 x1 1.56 x2 0.32 x3 1 2
0.24 x 1.24 x 0.28 x 0 0.24 1.24 0.28 x3 0
1 2 3
>> clear
% Introducción de datos
a=[-0.04 0.04 0.12 3;0.56 -1.56 0.32 1;-0.24 1.24 -0.28 0]
a=
-0.0400 0.0400 0.1200 3.0000
0.5600 -1.5600 0.3200 1.0000
-0.2400 1.2400 -0.2800 0
>> % Primer pivoteo
tempo=a(2,:);a(2,:)=a(1,:);a(1,:)=tempo
a=
0.5600 -1.5600 0.3200 1.0000
-0.0400 0.0400 0.1200 3.0000
-0.2400 1.2400 -0.2800 0
>> % Normalización de la primera fila (se divide entre su pivote)
a(1,:)=a(1,:)/a(1,1)
a=
1.0000 -2.7857 0.5714 1.7857
-0.0400 0.0400 0.1200 3.0000
-0.2400 1.2400 -0.2800 0
>> % Los elementos debajo de a(1,1) se eliminan
for i=2:3;a(i,:)=a(i,:)-a(i,1)*a(1,:);end;a
a=
1.0000 -2.7857 0.5714 1.7857
0 -0.0714 0.1429 3.0714
0 0.5714 -0.1429 0.4286
>> % Segundo pivoteo
tempo=a(3,:);a(3,:)=a(2,:);a(2,:)=tempo;a
a=
1.0000 -2.7857 0.5714 1.7857
0 0.5714 -0.1429 0.4286
0 -0.0714 0.1429 3.0714
>> % Normalizacion de la segunda fila
a(2,:)=a(2,:)/a(2,2);a
a=
1.0000 -2.7857 0.5714 1.7857
0 1.0000 -0.2500 0.7500
0 -0.0714 0.1429 3.0714
>> % Eliminacion de elementos por encima y por debajo del 2do pivote
for i=1:3;if i~=2, a(i,:)=a(i,:)-a(i,2)*a(2,:);end;
end;a
a=
1.0000 0 -0.1250 3.8750
0 1.0000 -0.2500 0.7500
0 0 0.1250 3.1250
>> % Normalizacion de la tercera fila
a(3,:)=a(3,:)/a(3,3)
a=
1.0000 0 -0.1250 3.8750
0 1.0000 -0.2500 0.7500
0 0 1.0000 25.0000
a=
1.0000 0 0 7.0000
0 1.0000 0 7.0000
0 0 1.0000 25.0000
Para la inversión de matrices, mediante la eliminación de
Gauss-Jordan, se escribe la matriz aumentada en que las
tres primeras columnas son la matriz original, A, y las tres
siguientes columnas la matriz identidad. Luego se procede
exactamente como en el ejemplo anterior:
0.04 0.04 0.12
0.56 1.56 0.32
Matriz Original
0.24 1.24 0.28
Solución:
1 0 0 2 1 3
L 0.5 1 0 U 0 3.5 0.5
1.5 0.1428 1 0 0 1.5714
Para la solución de ecuaciones simultáneas la ecuación Ax = b se puede
escribir también así: LUx = b. Esta ecuación se resuelve haciendo: Ux = z y
Lz = b. La solución de la ecuación anterior es fácil gracias a la forma
triangular de L. Una vez obtenida z, se obtiene x.
Ejemplo: 2 1 3 x1 2
Resolver la siguiente Ax b 1 3 2 x2 0
ecuación lineal por
descomposición LU: 3 1 3 x3 1
Solución:
1 0 0 2 1 3
Del ejemplo anterior L 0.5 1 0 U 0 3.5 0.5
1.5 0.1428 1 0 0 1.5714
1 0 0 z1 2
Primero resolvemos Lz = b, o sea: Lz b 0.5 1 0 z 2 0
1.5 0.1428 1 z 3 1
La solución es: z1 = 2; z2 = 0 – 2(-0.5) = 1; z3 = 1- 2(1.5) – (-0.1428) =-1.8572
2 1 3 x1 2
Entonces Ux = z
se convierte en: Ux z 0 3.5 0.5 x 2 1
0 0 1.5714 x 3 1.8572
La solución para x es:
1 0.5 x3 2 x 2 3 x3
1.8572 x2 0.4545 x1 1
x3 1.1818 3.5 2
1.5714
Una matriz puede descomponerse en L y U mediante eliminación de Gauss.
De hecho, la matriz que tenemos después de la eliminación hacia delante
es la matriz U. Primero suponemos que no hay necesidad de pivotear. La
eliminación hacia delante puede considerarse como una transformación de
la matriz A en U, y una forma equivalente de representar la transformación
es mediante multiplicación previa por una matriz F: FA = U y A = F-1U.
2 1 3 1 0 0
A 1 3 2 I 0 1 0
3 1 3 0 0 1
2 1 3 1 0 0
FA U 0 3.5 0.5 FI F 0.5 1 0
0 0 1.5714 1.4286 0.1428 1
La primera matriz es FA = U y la segunda matriz es el resultado de F
multiplicada por una matriz identidad, I, lo que es igual a F. si comparamos
A = F-1U, con A = LU; F deberá ser igual al inverso de L, es decir, F = L-1.
Por lo tanto, podemos obtener L si calculamos el inverso de F. La obtención
del inverso de una matriz triangular es fácil y rápida. El inverso de una
matriz triangular inferior es siempre una matriz triangular inferior.
es conocido como el polinomio característico de la
f det A I matriz A. La función f() es un polinomio de orden n.
1 3
Por ejemplo, para: A
1 2
f(x) se convierte en: det A I 1 2 3 2 3 5
Solución:
Los valores propios se calculan con
MATLAB, como:
>> A=[3 4 -2;3 -1 1; 2 0 5]; Las raíces se calculan como:
>> eig(A)
ans = >> roots(c)
-2.7503 ans =
4.8751 + 1.4314i 4.8751 + 1.4314i
4.8751 - 1.4314i 4.8751 - 1.4314i
>> c=poly(A) -2.7503
c=
1.0000 -7.0000 -1.0000 71.0000 Las raíces de las ecuaciones
características son idénticas a
La ecuación característica es: los valores propios calculados
f ( ) det( A I ) 3 72 71 con el comando eig.
Ejemplo:
d2
En el sistema formado por masas y m1 2 y1 t k 01 k12 y1 k12 y 2
dt
resortes de la siguiente figura; encontrar
las frecuencias de las oscilaciones
d2
m2 2 y 2 t k12 y1 k12 y 2
armónicas, si el desplazamiento está
dado por las siguientes ecuaciones:
dt
Solución:
y k t e 2jt f k , k 1, 2
donde es la frecuencia y j = 1
>> eig([4,-1;-0.5,0.5])
ans =
4.1375
0.3625
V= E=
-0.0102 0.0697 0.2756 -0.6523 0.7026 0.0000 0 0 0 0
0.1430 -0.4815 -0.7052 0.1593 0.4744 0 0.0001 0 0 0
-0.5396 0.6251 -0.2064 0.3790 0.3629 0 0 0.0059 0 0
0.7526 0.2922 0.2523 0.4442 0.2954 0 0 0 0.1244 0
-0.3490 -0.5359 0.5661 0.4563 0.2496 0 0 0 0 1.2423
>> poly(M)
ans =
1.0000 -1.3728 0.1628 -0.0009 0.0000 -0.0000