de ecuaciones lineales : método de gauss

14
UNIVERSIDAD CATÓLICA DE SANTA MARÍA FACULTAD DE CIENCIAS E INGENIERÍAS BIOLÓGICAS Y QUÍMICAS PROGRAMA PROFESIONAL DE INGENIERÍA DE INDUSTRIA ALIMENTARIA CURSO: SIMULACION DE PROCESOS. LABORATORIO 2 Solución de Sistema de Ecuaciones Lineales : Método de Gauss I. FUNDAMENTO: La solución de los sistemas de ecuaciones lineales encuentra una amplia aplicación en la ciencia y la tecnología. En particular, se puede afirmar, que en cualquier rama de la Ingeniería existe al menos una aplicación que requiera del planteamiento y solución de tales sistemas Un sistema de ecuaciones lineales, en concreto de m ecuaciones con n incognitas, es un conjunto de m igualdades que se pueden escribir en la forma: { a 11 x 1 + a 12 x 2 +... + a 1 n x n = a 21 x 1 + a 22 x 2 +... + a 2 n x n = a m1 x 1 + a m 2 x 2 +...+ a mn x n = b 1 b 2 b m } (1) Los números aij R para i = 1, 2,…., m; j = 1; 2,…,n reciben el nombre de coeficientes y los bi R para i = 1, 2,…, m; términos independientes1. Por último, x1, x2,…, xn son las incógnitas del sistema. Definición 2 La matriz del sistema dado (o matriz ampliada) es el conjunto formado por los m x (n+1) números que se obtiene al escribir los coeficientes y los términos independientes, ordenadamente por filas y columnas, en la forma: { a 11 a 12 a 1n a 21 a 22 a 2n a m1 a m 2 a mn b 1 b 2 b m } Si quitamos la última columna de los términos independientes, la matriz que nos queda recibe el nombre de matriz de los coeficientes del sistema.

Upload: andre-lizarraga

Post on 17-Sep-2015

45 views

Category:

Documents


5 download

DESCRIPTION

SIMULACION DE PROCESOS.

TRANSCRIPT

UNIVERSIDAD CATLICA DE SANTA MARAFACULTAD DE CIENCIAS E INGENIERAS BIOLGICAS Y QUMICASPROGRAMA PROFESIONAL DE INGENIERA DE INDUSTRIA ALIMENTARIACURSO: SIMULACION DE PROCESOS.

LABORATORIO 2Solucin de Sistema de Ecuaciones Lineales : Mtodo de GaussI. FUNDAMENTO: La solucin de los sistemas de ecuaciones lineales encuentra una amplia aplicacin en la ciencia y la tecnologa. En particular, se puede afirmar, que en cualquier rama de la Ingeniera existe al menos una aplicacin que requiera del planteamiento y solucin de tales sistemasUn sistema de ecuaciones lineales, en concreto de m ecuaciones con n incognitas, es unconjunto de m igualdades que se pueden escribir en la forma:

(1)Los nmeros aij R para i = 1, 2,., m; j = 1; 2,,n reciben el nombre de coeficientes y losbi R para i = 1, 2,, m; trminos independientes1. Por ltimo, x1, x2,, xn son las incgnitasdel sistema.Definicin 2 La matriz del sistema dado (o matriz ampliada) es el conjunto formado por los m x(n+1) nmeros que se obtiene al escribir los coeficientes y los trminos independientes, ordenadamente por filas y columnas, en la forma:

Si quitamos la ltima columna de los trminos independientes, la matriz que nos queda recibe el nombre de matriz de los coeficientes del sistema.Al ser ms cmodo trabajaremos solamente con la matriz del sistema, en lugar de hacerlo con todo el sistema, pues con ello simplificamos el proceso de resolucin Mtodo de eliminacin de GaussEs un mtodo directo que nos da la solucin exacta, si existe, en un nmero finito de pasos u operaciones.Pretendemos resolver un sistema de ecuaciones lineales dado mediante su transformacin en otro sistema equivalente que se resuelva fcilmente. Dichos sistemas tienen una forma concreta.Consideramos necesario aclarar qu es un SISTEMA DE ECUACIONES ESCALONADO y cmo se soluciona, para facilitar la comprensin del Mtodo de Gauss SISTEMA DE ECUACIONES ESCALONADO : Se dice que un sistema de 3 ecuaciones y 3 incgnitas es escalonado cuando en la primera ecuacin presenta las 3 incgnitas, en la segunda ecuacin presenta 2 incgnitas y en la tercera ecuacin presenta 1 incgnita (este concepto es anlogo para sistemas de ms de 3 ecuaciones). As, el siguiente sistema de ecuaciones es escalonado:X Y + 3 Z = 4 Y + Z = 3 2 Z = 2

Un sistema de ecuaciones lineales se denomina escalonado (o reducido) si la matrizdel sistema verifica que:1. Todos los elementos por debajo de los aii para i = 1, 2,, n son nulos.2. El primer elemento no nulo de cada fila, llamado pivote, est a la derecha del primer elemento diferente de cero (pivote) de la fila anterior.3. Cualquier fila formada nicamente por ceros est bajo todas las filas con elementos diferentes de cero.Para conseguir nuestro objetivo utilizaremos el mtodo de eliminacin de Gauss que consiste en, utilizando transformaciones elementales sobre la matriz del sistema, pasar de un sistema de ecuaciones a otro equivalente que sea escalonado.

Considere el siguiente sistema de ecuaciones.

La matriz aumentada para este sistema es:

Paso 1: Obtener 1 en la posicin para ello dividimos entre 2 toda la primera fila

Paso 2: Eliminar el coeficiente de la variable x de la 2da y 3ra ecuacin.

vvvvv

Paso 3: Obtener 1 en la posicin 22 para ello dividimos entre -1 toda la segunda fila

Paso 4: Eliminar el coeficiente de la variable y de la y 3ra ecuacin.

vvvv

Paso 5: Obtener 1 en la posicin 33 para ello dividimos entre 168 toda la segunda fila

Matriz en forma escalonada

De la fila 3, z = 4 De la fila 2, y -14.5z = -61 y - 14.5 (4) = 61 y = - 3 De la fila 1, x 2y + 2.5z = 18 x 2 (- 3) + 2.55 (4) = 18 x = 2

La solucin del sistema es (2, -3, 4).I. OBJETIVO Emplear el mtodo de Gauss para la resolucin de un sistema de ecuaciones. Aprender a llenar un datagridview mediante un procedimiento generado por un evento. Aprender a fijar decimales en un datagidview y en un cuadro de texto.

II. MATERIALES1. Computadora con Windows 98 o +1. Visual Studio 2013IVPROCEDIMIENTO

II. PROCEDIMIENTOConsidere el siguiente sistema de ecuaciones.

Desarrolle una aplicacin que le permita calcular los valores de a b c y d que satisfagan dicho sistema.1. Disear la siguiente interfaz:

2. Asigne las siguientes propiedades a los controlesControlPropiedadValor

DataGrid ViewNombreRejilla

BottonTextCalcular

NombreBtncalcular

3. Desarrolle el cdigo necesario para que al cargar el formulario aparezca la matriz aumentada del sistema de ecuaciones en el MicrosofFlex Grid. Haga doble clic sobre el formulario e introduzca el siguiente codigo:

Public Class Form1 Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load Rejilla.Rows.Add(4) Rejilla.Rows(0).Cells(0).Value = -2 Rejilla.Rows(0).Cells(1).Value = 1.1 Rejilla.Rows(0).Cells(2).Value = -2 Rejilla.Rows(0).Cells(3).Value = -1.8 Rejilla.Rows(0).Cells(4).Value = 1 Rejilla.Rows(1).Cells(0).Value = 3.2 Rejilla.Rows(1).Cells(1).Value = 2.1 Rejilla.Rows(1).Cells(2).Value = 3.2 Rejilla.Rows(1).Cells(3).Value = 2.2 Rejilla.Rows(1).Cells(4).Value = 1 Rejilla.Rows(2).Cells(0).Value = 3.4 Rejilla.Rows(2).Cells(1).Value = 2.3 Rejilla.Rows(2).Cells(2).Value = 4.1 Rejilla.Rows(2).Cells(3).Value = 3.2 Rejilla.Rows(2).Cells(4).Value = 6 Rejilla.Rows(3).Cells(0).Value = 2.6 Rejilla.Rows(3).Cells(1).Value = 1.1 Rejilla.Rows(3).Cells(2).Value = -3.2 Rejilla.Rows(3).Cells(3).Value = 2.4 Rejilla.Rows(3).Cells(4).Value = -7 End Sub

End Class

4. Ejecute la aplicacin

5. Desarrolle el cdigo para que al hacer clic en el btncalcular se resuelva el sistema de ecuaciones por el mtodo de gauss:

Private Sub btncalcular_Click(sender As Object, e As EventArgs) Handles btncalcular.Click Dim a As Integer Dim ct, pvt As Double a = 1 For i = 0 To 3 ct = Rejilla.Rows(i).Cells(i).Value For p = 0 To 4 Rejilla.Rows(i).Cells(p).Value = Rejilla.Rows(i).Cells(p).Value / ct Next p For d = a To 3 pvt = Rejilla.Rows(d).Cells(i).Value For j = 0 To 4 Rejilla.Rows(d).Cells(j).Value = -(Rejilla.Rows(i).Cells(j).Value * pvt - Rejilla.Rows(d).Cells(j).Value) Next j Next d a = a + 1 Next i End Sub

6. Ejecute la aplicacin haga clic en el btncalcular

7. Fije los decimales de cada uno de los elementos de la matriz en 2 empiece incluyendo en la interfaz un nuevo boton que denominara btndecimales8. Fije en 4 los decimales de cada uno de los elementos de la columna de las constantes (cte) en su data grid view: Seleccione su datagridviewrejilla en la esquina superior derecha hay un pequeo icono que tiene la forma de la punta de una flecha haga click sobre l elija editar columnas seleccione la columna ctey en Apariencia Defaultcellstyle aqu aparecer un icono con puntos suspensivos haga click sobre l y aparecer un cuadro de dialogoen el que elegir comportamiento y a continuacion format en el cuadro de dialogo de formato de c adenas elija formato numerico

9. Ejecute la aplicacin: haga clic en el botn Calcular Que sucede?

10. Ahora modifique la interfaz de la siguiente manera: incluya cuadros de texto nombrelos como txta txtb txtc txtc y txtd respectivamente in cluya ademas un boton de comando nombrelo como btnrpta11. Desarrolle el codigo que le permita imprimir los valores de a,b, c y d en los cuadros de texto respectivos.

12. Ejecute la aplicacin: haga clic en el botn Calcular luego en el Imprimir Rptas

13. Incorpore un procedimiento al evento click del botn rpta que le permita fijar en 4 los decimales de las respuestas de los cuadros de texto .

Actividad Sugerida Desarrollar una aplicacin que le permita resolver el anterior sistema por el metodo de Gauss JordanCdigo general:Public Class Form1

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load rejilla.Rows.Add(4) rejilla.Rows(0).Cells(0).Value = -2 rejilla.Rows(0).Cells(1).Value = 1.1 rejilla.Rows(0).Cells(2).Value = -2 rejilla.Rows(0).Cells(3).Value = -1.8 rejilla.Rows(0).Cells(4).Value = 1 rejilla.Rows(1).Cells(0).Value = 3.2 rejilla.Rows(1).Cells(1).Value = 2.1 rejilla.Rows(1).Cells(2).Value = 3.2 rejilla.Rows(1).Cells(3).Value = 2.2 rejilla.Rows(1).Cells(4).Value = 1 rejilla.Rows(2).Cells(0).Value = 3.4 rejilla.Rows(2).Cells(1).Value = 2.3 rejilla.Rows(2).Cells(2).Value = 4.1 rejilla.Rows(2).Cells(3).Value = 3.2 rejilla.Rows(2).Cells(4).Value = 6 rejilla.Rows(3).Cells(0).Value = 2.6 rejilla.Rows(3).Cells(1).Value = 1.1 rejilla.Rows(3).Cells(2).Value = -3.2 rejilla.Rows(3).Cells(3).Value = 2.4 rejilla.Rows(3).Cells(4).Value = -7 End Sub

Private Sub btncalcular_Click(sender As Object, e As EventArgs) Handles btncalcular.Click Dim a As Integer Dim ct, pvt As Double a = 1 For i = 0 To 3 ct = rejilla.Rows(i).Cells(i).Value For p = 0 To 4 rejilla.Rows(i).Cells(p).Value = rejilla.Rows(i).Cells(p).Value / ct Next p For d = a To 3 pvt = rejilla.Rows(d).Cells(i).Value For j = 0 To 4 rejilla.Rows(d).Cells(j).Value = -(rejilla.Rows(i).Cells(j).Value * pvt - rejilla.Rows(d).Cells(j).Value) Next j Next d a = a + 1 Next i End Sub

Private Sub btnrespuesta_Click(sender As Object, e As EventArgs) Handles btnrespuesta.Click txtd.Text = rejilla.Rows(3).Cells(4).Value txtc.Text = rejilla.Rows(2).Cells(4).Value - rejilla.Rows(2).Cells(3).Value * txtd.Text txtb.Text = rejilla.Rows(1).Cells(4).Value - rejilla.Rows(1).Cells(3).Value * txtd.Text - rejilla.Rows(1).Cells(2).Value * txtc.Text txta.Text = rejilla.Rows(0).Cells(4).Value - rejilla.Rows(0).Cells(3).Value * txtd.Text - rejilla.Rows(0).Cells(2).Value * txtc.Text - rejilla.Rows(0).Cells(1).Value txtd.Text = FormatNumber(txtd.Text, 4) txtc.Text = FormatNumber(txtc.Text, 4) txtb.Text = FormatNumber(txtb.Text, 4) txta.Text = FormatNumber(txta.Text, 4) End SubEnd Class