Álgebra Lineal con Scilab Scilab herramienta informática para el álgebra lineal

Con la tecnología de Blogger.

Solución de un sistema de ecuaciones lineales mediante Eliminación Gaussiana y de Gauss-Jordan


Conocimiento Previo:

Forma escalonada reducida por filas y pivote


Una matriz se encuentra en la forma escalonada reducida por renglones si se cumplen las siguientes condiciones:

  1. Todas las filas (si las hay) cuyos elementos son todos cero aparecen en la parte inferior de la matriz.
  2. El primer número diferente de cero (comenzando por la izquierda) en cualquier fila cuyos elementos no todos son cero es 1.
  3. Si dos filas sucesivas tienen elementos distintos de cero, entonces el primer 1 en el renglón de abajo está más hacia la derecha que el primer 1 en el renglón de arriba.
  4. Cualquier columna que contiene el primer 1 en un renglón tiene ceros en el resto de sus elementos. El primer número diferente de cero en un renglón (si lo hay) se llama pivote para ese renglón.

Forma escalonada por filas

Una matriz está en la forma escalonada por filas  si se cumplen las tres primeras condiciones de la definición anterior.

Se cuenta con dos métodos para resolver sistemas de ecuaciones:  
  1. Eliminación de Gauss-Jordan: Se reduce por filas la matriz de coeficientes a la forma escalonada reducida por filas y pivotes
  2. Eliminación gaussiana: Se reduce por fila la matriz de coeficientes a la forma escalonada por filas, se despeja el valor de la última incógnita y después se usa la sustitución hacia atrás para las demás incógnitas.
Ejemplo Práctico: Encontrar la solución al siguiente sistema de ecuación lineal:

Matriz de coeficientes:


Tomamos del sistema de ecuaciones lineales los coeficientes de las incognitas(x1,x2,x3) y formamos una matriz:

Vector Columna de constantes o términos independientes:

El vector columna de constantes esta formado por todos los valores que están a la derecha de cada ecuación, el término independiente o constantes:

Matriz Aumentada:

Ahora el sistema de ecuaciones lineales se puede convertir en una sóla matriz, uniendo las matrices vistas anteriormente (A | B)

Con esta matriz vamos a operar para reducirlas por filas a una forma escalona
En Scilab: Definimos la matriz ampliada de esta forma

global AB;
AB=[
2,4,6,18;
4,5,6,24;
3,1,-2,4;
]; 
 
Declaramos la variable AB como global debido a que vamos a utilizar funciones para las operaciones sobre filas y necesitamos que el ámbito de esta variable sea accesible por todas las funciones.
 

Eliminación Gaussiana: 

Pivotear: Esto consiste en transformar en 1 los elemento de la diagonal principal y ceros los demas elementos de la matriz A. Se llama pivoteo porque una fila queda fija para operar con las demás filas.

Volviendo 1 el elemento a11.

a11=2 por lo tanto, dividimos la fila 1 por 2, o que es lo mismo, multiplicamos por 1/2

En scilab: Vamos a crear una función que multiplica una n filas por un escalar 


function MultiplicarFila(numerofila, k)  

//k escalar
    global AB;
    AB(numerofila,:)=AB(numerofila,:)*(k);
endfunction

disp(AB);
disp("Primer Pivoteo");
disp("F1->(1/2)F1")
MultiplicarFila(1,1/2);
disp(AB);
Resultado:
Reducciendo a cero los elementos por debajo de este pivote.
En este caso multiplicamos por -4 la fila 1(pivote) y la sumamos a la fila 2, para luego sustituirla a la misma fila 2. Por otro lado, multiplicamos por -3 la fila 1(pivote) y la sumamos a la fila 3 para luego sustituirla  a la misma fila 3. 


En Scilab: Vamos a utilizar una función propia que realice esta operación con la fila pivote, cuyos parametros son: la fila pivote, fila que se realizará la operación y el escalar.
	
function OperacionFilaPivote(filapivote, numerofila, k)
    //k Número de Filas
    global AB;
    AB(numerofila,:)=AB(numerofila,:)+AB(filapivote,:)*(k);
endfunction 
Luego aplicamos esta función para reducir las filas 2 y 3 

disp("F2->F2+(-4)F1")
disp("F3->F3+(-3)F1")
OperacionFilaPivote(1,2,-4)
OperacionFilaPivote(1,3,-3)
disp(AB);
Quedando de esta manera:

Luego aplicamos el mismo procedimiento para obtener el siguiente pivote y operamos sobre la fila 3. Por últimos volvemos 1 el elemento a33
En scilab:


En este paso, ya concluimos las operaciones en filas para el método gaussiano ahora nos toca la sustitución hacia atrás.

Sustitución hacia atrás

La matriz aumentada del sistema (y los coeficientes de la matriz) se encuentran ahora en la forma escalonada por Filas y se puede ver de inmediato que x3=3. Después se usa la sustitución hacia atrás para despejar primero x2 y después x1. La segunda ecuación queda
x2 +2x3 = 4
x2 +2(3) = 4
x2 = -2
De igual manera, de la primera ecuación se obtiene

x1 +2(-2) + 3(3)= 9
x1 =4
La Solución es x1 =4, x2 =-2 y x3 =3

En scilab: Se ubican los cálculos directos despejando las incognitas con los subíndices de los elementos correspondientes:


x3=AB(3,4);
x2=AB(2,4)-(AB(2,3)*x3);
x1=AB(1,4)-(AB(1,2)*x2)-(AB(1,3)*x3);
disp("x1:");
disp(x1); 
disp("x2:");
disp(x2); 
disp("x3:");
disp(x3); 
 
 

Eliminación Gauss-Jordan

Es la ampliación de la anterior. En este caso se llega a la matriz reducida por filas y por pivote. Es decir, la matriz de coeficientes se convierte a una matriz Identidad
Se siguen los procedimientos igual que la gaussiana:
Con este método el valor de las incognitas es visible directamente una vez culminado de reduccir la matriz:

Descarga los códigos:

 


Share on Google Plus

Acerca del Autor Matemática Positiva

Sitio Web Dedicado al Universo Matemático

0 comments :

Publicar un comentario