ÍNDICE


 
MATRICES.Resolución de sistemas

Resolución de sistemas de ecuaciones algebraicas lineales

Ejemplo:
Dado el sistema de ecuaciones algebraicas lineales siguiente:

1x1+2x2+3x3 = 366

4x1+5x2+6x3 = 804

7x1+8x2+9x3 = 351

se puede expresar matricialmente de la forma siguiente:


A X = b 
Premultiplicando por la inversa de A, A-1 obtenemos:

X = A-1 b

Siguiendo con el ejemplo anterior:
 

EDU» A=[1 2 3
4 5 6
7 8 0];
EDU» b=[366 804 351]';
EDU» x=inv(A)*b
EDU» x % Son las soluciones del sistema de ecuaciones anterior.
x =
25
22
99

Observar que b debe ir traspuesta, ya que si no, por defecto, b es un vector fila y no se podría realizar el producto.

Reducción del tamaño de una matriz

Para reducir el tamaño de la matriz B anterior eliminando la última columna se usa [ ] (2 corchetes)

Ejemplo:
 

EDU» B(:,3)=[] % le estamos indicando que borre la tercera columna
B =
1 3
3 4
1 3

Reducción a la forma escalonada por filas. Reducción de Gauss

Ejemplo:triangularizar una matriz. Sea la matriz A siguiente: 

-4 3 2 5

-2 1 -1 2

-4 1 1 4

3 -6 -4 -5

triangularizarla mediante el método de Gauss. Obtener la forma escalonada por filas.
 
 

EDU» A=[ -4 3 2 5
-2 1 -1 2
-4 1 1 4
3 -6 -4 -5]
A =
-4 3 2 5
-2 1 -1 2
-4 1 1 4
3 -6 -4 -5
EDU» A(1,:)=A(1,:)/A(1,1) % dividimos la primera fila por -4
A =
1.0000 -0.7500 -0.5000 -1.2500
-2.0000 1.0000 -1.0000 2.0000
-4.0000 1.0000 1.0000 4.0000
3.0000 -6.0000 -4.0000 -5.0000
EDU» for i=2:4
A(i,:)=A(i,:)-A(1,:)*A(i,1)
end;

Con el bucle for, hacemos ceros en la primera columna.
 

EDU» A
A =
1.0000 -0.7500 -0.5000 -1.2500
0 -0.5000 -2.0000 -0.5000
0 -2.0000 -1.0000 -1.0000
0 -3.7500 -2.5000 -1.2500
EDU» A(2,:)=A(2,:)/A(2,2) % dividimos la segunda fila por –0.5
A =
1.0000 -0.7500 -0.5000 -1.2500
0 1.0000 4.0000 1.0000
0 -2.0000 -1.0000 -1.0000
0 -3.7500 -2.5000 -1.2500

Seguimos con el mismo esquema.
Hacemos ceros en la segunda columna con el bucle for
 

for i=3:4
A(i,:)=A(i,:)-A(2,:)*A(i,2)
end;
A =
1 -0.75 -0.5 -1.25
0 1 4 1
0 0 7 1
0 0 12.5 2.5

Dividimos la tercera fila por 7
 

A(3,:)=A(3,:)/A(3,3)
A=
1 -0.75 -0.5 -1.25
0 1 4 1
0 0 1 0.1429
0 0 12.5 2.5

Hacemos ceros en la tercera columna
 

for i=4:4
A(i,:)=A(i,:)-A(3,:)*A(i,3)
end;
A =
1 -0.75 -0.5 -1.25
0 1 4 1
0 0 1 0.1429
0 0 0 0.7143

Dividimos la cuarta fila por 0.7143
 

A(4,:)=A(4,:)/A(4,4) 
A =
1 -0.75 -0.5 -1.25
0 1 4 1
0 0 1 0.1429
0 0 0 1

El programa completo que triangularizará una matriz nxn será:

for j=2:n+1
A(j-1,:)=A(j-1,:)/A(j-1,j-1);
for i=j:n
A(i,:)=A(i,:)-A(j-1,:)*A(i,j-1);
end;
end;

Ejemplo:
 

EDU» for j=2:n+1
A(j-1,:)=A(j-1,:)/A(j-1,j-1);
for i=j:n
A(i,:)=A(i,:)-A(j-1,:)*A(i,j-1);
end;
end;
EDU» A
A =
1.0000 -0.7500 -0.5000 -1.2500
0 1.0000 4.0000 1.0000
0 0 1.0000 0.1429
0 0 0 1.0000

Forma escalonada reducida por filas de una matriz. Método de Gauss-Jordan. Función RREF.

La función rref calcula la forma escalonada reducida por filas de una matriz que brinda en este caso de forma cómoda la solución del sistema de ecuaciones anterior.

En el sistema de ecuaciones anterior la matriz ampliada es:

Ejemplo:
 

A =
1 2 3 366
4 5 6 804
7 8 0 351
EDU» rref(A)
ans =
1 0 0 25
0 1 0 22
0 0 1 99

Una aplicación : Distribución de calor.

Se tiene una placa rectangular cuyas orillas se mantienen a cierta temperatura. Se tiene interés en encontrar la temperatura en los puntos interiores conocida la de algunos puntos en el borde. Considerar el siguiente diagrama. Se quiere encontrar una aproximación de las temperaturas en los puntos intermedios T1 a T9, suponiendo que la temperatura en un punto interior es el promedio de la de los cuatro puntos que la rodean.


Divididas todas las ecuaciones por 4

T1 = 150 + T2 + T4

T2 = 100 + T1 + T3 + T5

T3 = 150 + T2 + T6

T4 = 50 + T1 + T5 + T7

T5 = T2 + T4 + T6 + T8

T6 = 50 + T3 + T5 + T9

T7 = 50 + T4 + T8

T8 = 0 + T5 + T7 + T9

T9 = 50 + T6 + T8 

Matriz de coeficientes:

t =

-4 1 0 1 0 0 0 0 0

1 -4 1 0 1 0 0 0 0

0 1 -4 0 0 1 0 0 0

1 0 0 -4 1 0 1 0 0

0 1 0 1 -4 1 0 1 0

0 0 1 0 1 -4 0 0 1

0 0 0 1 0 0 -4 1 0

0 0 0 0 1 0 1 -4 1

0 0 0 0 0 1 0 1 -4
 

Matriz de términos independientes
 
 

EDU» ind=[150 100 150 50 0 50 50 0 50]
ind = 150 100 150 50 0 50 50 0 50 
EDU» ind=-ind
ind = -150 -100 -150 -50 0 -50 -50 0 -50
Soluciones
EDU» x=inv(t)*ind'
x =
475/7 
500/7 
475/7 
50 
50 
50 
225/7 
200/7 
225/7 
EDU» format
EDU» x
x =
67.8571
71.4286
67.8571
50.0000
50.0000
50.0000
32.1429
28.5714
32.1429

Otra solución hubiera sido utilizar rref
 

ampliada=[t,ind']
ampliada =
-4 1 0 1 0 0 0 0 0 -150
1 -4 1 0 1 0 0 0 0 -100
0 1 -4 0 0 1 0 0 0 -150
1 0 0 -4 1 0 1 0 0 -50
0 1 0 1 -4 1 0 1 0 0
0 0 1 0 1 -4 0 0 1 -50
0 0 0 1 0 0 -4 1 0 -50
0 0 0 0 1 0 1 -4 1 0
0 0 0 0 0 1 0 1 -4 -50
EDU» rref(ampliada)
ans =
1 0 0 0 0 0 0 0 0 67.8571
0 1 0 0 0 0 0 0 0 71.4286
0 0 1 0 0 0 0 0 0 67.8571
0 0 0 1 0 0 0 0 0 50.0000
0 0 0 0 1 0 0 0 0 50.0000
0 0 0 0 0 1 0 0 0 50.0000
0 0 0 0 0 0 1 0 0 32.1429
0 0 0 0 0 0 0 1 0 28.5714
0 0 0 0 0 0 0 0 1 32.1429

En la manivela de la figura, calcular el par T necesario para transmitir a esa manivela una aceleración angular a , calcular también las reacciones en el apoyo C. Se conoce la carga P, la masa y el momento de Inercia respecto al centro de gravedad IG . Se supone ya calculada la aceleración del centro de gravedad aG

Datos:

x = 0.025 m y = 0.035 m

u = 0.015 m v = 0.020 m

m = 0.2 kg Ig = 0.1 kgm2

aGx = 0.1 m/s2 aGy = 0.1 m/s2

Px = 1 N Py = 1 N

a= 2 rad/s2
 
 

Fcx = Px – maGx

Fcy = Py - maGy

T + Fcy.x – Fcx.u = Px.v – Py.y + Ig.a

Resolver el sistema anterior
 

Descomposición LU

Se descompone la matriz A como producto de dos matrices triangulares A=LU ( L, matriz triangular inferior y U, triangular superior). Si el sistema original es AX=C, se tiene L(UX)=C. Se resuelve LY=C y una vez hallado Y se resuelve el sistema UX=Y, de forma que se obtiene la solución buscada.

El método para realizar la descomposición consiste en aplicar el método de Gauss sin permutar las filas.

La función [L,U]=lu(A), nos devuelve L y U.

Nota: siempre se puede aplicar la factorización LU.

Ejemplo:
 

EDU» A=[1 3;7 9];
EDU» [L,U]=lu(A)
L =
0.1429 1.0000
1.0000 0
U =
7.0000 9.0000
0 1.7143
EDU» L*U % conprobación
ans =
1 3
7 9

ÍNDICE