miércoles, 17 de abril de 2013

Curso de Análisis Numérico


UNIVERSIDAD DE SAN CARLOS
FACULTAD DE AGRONOMIA

CURSO CORTO SOBRE: “ANALISIS NUMERICO
Ing. Agr. Luis Manfredo Reyes Chávez

DESCRIPCION:
El presente curso está orientado a profesores y ayudantes de cátedra dedicados a la enseñanza de la matemática. El curso tiene aplicación en casos en los cuales, la solución analítica a un problema de índole matemática, o bien es demasiado compleja, o no existe solución algebraica específica.

NIVEL DEL CURSO: Introductorio

CONOCIMIENTOS PREVIOS: Se requiere que los participantes tengan conocimiento de los siguientes temas: Algebra, Cálculo, Microsoft Windows, Microsoft Excel y preferiblemente de algún lenguaje de programación.


CONTENIDO
  1. Introducción: Desarrollo histórico del A.N. Definiciones básicas. Solución analítica, solución heurística, solución numérica. Precisión, exactitud, cifras significativas. Definición de fórmulas en lenguaje BASIC.

  1. Métodos para solución de ecuaciones de una incógnita: Bisección, Newton, Secante, Punto Fijo. Ejemplos y ejercicios.

  1. Métodos para resolver sistemas lineales: Eliminación gaussiana, Método de Gauss Jordan, Método de Gauss-Seidel, Método de Gauss con Pivoteo,  Método de Determinantes, Método de Matrices

  1. Métodos para resolver integrales definidas: Trapecio, Simpson, Cuadratura Gaussiana, Romberg.

  1. Métodos para resolver ecuaciones diferenciales: Euler, Runge Kutta y Adams.

  1. Métodos para interpolación: LaGrange y Neville

DURACION: 20 horas


CURSO DE ANÁLISIS NUMÉRICO


INTRODUCCIÓN:
El análisis numérico, aunque históricamente ha sido utilizado desde el principio de la civilización, solamente alcanzó un nivel de desarrollo suficiente en el siglo anterior, debido fundamentalmente a la aparición y desarrollo de las computadoras, como herramienta de apoyo. Básicamente, se puede definir el análisis numérico como “un conjunto de métodos que permiten resolver problemas de cálculo aritmético utilizando aproximaciones numéricas sucesivas hasta llegar a un nivel de exactitud deseable”.

En ejemplo típico de aplicación de análisis numérico sería el siguiente:


“A una función de circo asistieron 120 personas. El total de lo recaudado fue de Q120.00. Si los niños pagaron Q 0.10, las mujeres Q 2.00 y los hombres Q 5.00 por la entrada, cuántos niños, mujeres y adultos asistieron a la función?.

Si se intenta resolver análiticamente el problema, rápidamente se cae a la siguiente estrategia:

Sea x el número de niños, y el numero de mujeres, y finalmente z el número de hombres

Entonces:   x+y+z=120  y por otra parte: 0.1x+2y+5z=120

Sin embargo, se tiene el problema de que existen tres incógnitas y solamente 2 ecuaciones. Por lo tanto el problema es subdeterminado y no existe solución analítica.

Otro ejemplo sería el siguiente:


Un número está formado por cinco dígitos no repetidos: abcde. Si el número se multiplica por 4, se obtiene otro número edcba. Cuál es el número?

No es posible establecer una solución analítica a este problema. Aunque es posible realizar un razonamiento teórico, se debe intentar con varios números hasta finalmente lograr el resultado deseado.

Comparado con el procedimiento analítico, el análisis numérico ofrece las siguientes ventajas:

1)    No se requiere de manipulaciones algebraicas (simplificaciones, sustituciones, factorización, etc).
2)    Se puede partir de algún valor inicial para aproximarse posteriormente a una solución final.
3)    Si se dispone de equipo de cómputo, la solución se obtiene en forma rápida y suficientemente exacta.

Algunos autores consideran, sin embargo, que tiene algunas desventajas, siendo las más importantes:

1)    El proceso de aproximaciones, aunque es simple es tedioso en el sentido de que hay que repetir muchos cálculos numéricos.
2)    La rapidez con que se llega al resultado inicial muchas veces depende de la aproximación inicial que se elija
3)    En algunos casos, la aproximación a la respuesta final no llega (No hay solución).

El aparecimiento de las computadoras electrónicas implicó un salto gigantesco para el desarrollo del análisis numérico, pues la rapidez de ejecución de los cálculos permitió reducir los tiempos en forma tremenda.

Por ejemplo, cuando el Apollo 13 tuvo problemas y debió regresar a tierra, las computadoras de la NASA tardaron 65 minutos en realizar todos los cálculos necesarios. Un hombre con una calculadora de mano hubiera tardado mil años en realizar los mismos cálculos, y un hombre con solo papel y lápiz hubiera tardado 10 mil años en realizar el mismo proceso (suponiendo que no cometiera errores de operación).

DEFINICIONES BASICAS:

Solución analítica: Un problema se resuelve planteando un modelo matemático (ecuación), y por medio de sustituciones, simplificaciones y operaciones algebraicas se logra aislar (despejar) una solución deseada.

Solución heurística: Se prueba sucesivamente con diversos valores, hasta lograr uno que cumpla con las condiciones del problema (prueba y error)

Solución numérica: Se plantea un valor inicial que resuelva el problema y el mismo es refinado sucesivamente hasta lograr una respuesta satisfactoria

Precisión: desde el punto de vista del A.N., se define como la capacidad de representar un valor o número lo más apropiadamente posible. Por ejemplo, el numero π se podría representar con los siguientes tipos de precisión:
3.14
3.141
3.1416
3.14159
etc.

Las computadoras, debido a su estructura binaria de operación tienen dificultad para representar algunos valores, siendo usualmente 15 dígitos el máximo permisible.

Exactitud: Se refiere a la distancia existente entre un valor y el valor verdadero que éste tiene o debería tener

Por ejemplo: la operación  (1/3) *3 en algunas calculadoras produce como resultado 0.999999, mientras que por principio de cancelación el valor verdadero es 1.

Tolerancia: Se define como el máximo valor permisible de la diferencia entre una aproximación a la solución y el valor anterior. La tolerancia se puede definir en términos absolutos ( xn- xn-1) o bien en términos relativos: ( xn- xn-1)/ xn

Convergencia: Se define en análisis numérico como la aproximación a una solución, dentro de un tolerancia especificada.  Cuando una solución inicial se refina hasta un valor final, se dice que “el problema converge”, mientras que si no, se dice que “el problema no converge”.

Ejemplo: La ecuación  x3-x-1=0 tiene un cero real entre 1 y 2. Utilizando un proceso de refinación, se converge a una solución de la siguiente manera:

x
f(x)
1
-1
1.1
-0.769
1.2
-0.472
1.3
-0.103
1.31
-0.061909
1.32
-0.020032
1.321
-0.015800839
1.322
-0.011561752
1.323
-0.007314733
1.324
-0.003059776
1.3241
-0.002633843
1.3242
-0.002207832
1.3243
-0.00178174
1.3244
-0.001355569
1.3245
-0.000929319
1.3246
-0.000502989
1.3247
-7.65798E-05
1.3248
0.000349909
El cambio de signo en el último dato indica que el cero está entre 1.3247 y 1.3248.

ENFOQUE ALGORÍTMICO DEL ANÁLISIS NUMÉRICO

 Debido a que en la actualidad la disponibilidad de computadoras es tan grande, aunque lamentablemente han caído al triste papel de “máquinas de escribir”, el análisis numérico se puede enfocar bajo este concepto.

Un algoritmo no es más que un conjunto ordenado de reglas que permite alcanzar la solución a un problema de cualquier tipo. Una forma simple de definir el algoritmo, es como “una receta” para resolver problemas. La definición es aplicable a cualquier tipo de problema, pero obviamente en este caso será aplicado a la solución de problemas de índole matemática.
Aunque en la actualidad es considerado como obsoleto, existe un procedimiento gráfico llamado “diagrama de flujo”, que también se puede utilizar como una alternativa al uso del algoritmo.
En el desarrollo de este curso, para cada uno de los métodos que se discutan, se planteará el algoritmo respectivo. 

PRINCIPALES METODOS NUMERICOS PARA SOLUCION DE PROBLEMAS
1.    Solución de ecuaciones de una variable, sin usar derivadas
·         Método de Bisección
·         Regla falsa (Reguli falsi)
·         Punto Fijo
·         Secante

2.    Solución de ecuaciones de una variable con uso de derivadas
·         Método de Newton
3.    Solución de ecuaciones polinomiales con ceros reales o complejos
·         Método de Muller
4.    Solución de sistemas de ecuaciones
·         Eliminación de Gauss
·         Método Gauss-Seidel
·         Método Gauss con pivoteo
·         Método de determinantes
·         Método de matrices
5.    Cálculo de integrales definidas
·         Método del trapecio
·         Método de Simpson
·         Método de Sumas de Reimann
·         Método de cuadratura de Gauss
·         Método de Romberg
6.    Métodos para resolver ecuaciones diferenciales
·         Método de Euler
·         Método de Runge-Kutta

SOFTWARE DE APOYO PARA EL CURSO

Como un material de apoyo para el curso, se escribieron un conjunto de programas en lenguaje BASIC. Los programas se localizan en  un servidor en la nube y se pueden descargar en éste link: http://www.mediafire.com/?yqviar4521oh707

Aunque el BASIC en la actualidad se considera obsoleto, tiene características que lo hacen ideal para el curso: es fácil de aprender y utilizar y tiene el suficiente poder de cálculo para las necesidades usuales del análisis numérico.

Para ingresar a Basic, la forma más fácil es usando el
Explorador de Windows ®, o bien el programa “Mi PC”. Se localiza en el diskette de trabajo el archivo “BASICA.EXE” y se hace doble click sobre el mismo. Cuando aparece el ambiente de trabajo de BASIC, se ingresa la siguiente orden:
RUN “MENU”  y se oprime la tecla ENTER.
 El programa funciona en base a un menu desde el que se puede saltar a cada uno de los métodos que se discutirán.
El menú de opciones del que se dispone en el software es el siguiente:


CURSO DE ANALISIS NUMERICO,  MENU DE OPCIONES DE TRABAJO
METODOS PARA RESOLVER ECUACIONES CON UNA VARIABLE
1. Bisección  2. Punto Fijo  3. Newton Raphson     4. Secante
METODOS PARA RESOLVER SISTEMAS LINEALES DE ECUACIONES
5. Gauss      6. Jordan      7. Seidel             8. Pivoteo
METODOS PARA INTEGRACION NUMERICA
9. Trapecio  10. Simpson    11. Cuadratura Gauss  12. Romberg
METODOS PARA OTRAS OPERACIONES
13. Invertir Matrices
14. Sistemas de Ecuaciones con Coeficientes Complejos
15. Ajustar seis modelos de Regresión distintos
16. Ajustar un modelo de Regresión Polinomial
17. MENU 2: INTERPOLACION Y ECUACIONES DIFERENCIALES”
99. Fin de Uso del Sistema
Ingrese su opción y oprima ENTER-->              ?

CODIFICACIÓN DE FÓRMULAS EN LENGUAJE BASIC

Debido a que el software de apoyo fue escrito en lenguaje BASIC, es conveniente describir la forma en que se definen fórmulas en este lenguaje.
Operadores: BASIC reconoce los siguientes:
Adición:         +
Sustracción:              -
Producto:      *
Cociente:      /
Potencia:       ^
Paréntesis:   ( )
Funciones: son operaciones matemáticas específicas. Se escribe el nombre de la función y los argumentos más importantes entre paréntesis. Las más importantes son:
SQRT (25)  Raiz cuadrada (no acepta valores negativos)
EXP(1.4)   Antilogaritmo natural. Los valores pueden ser positivos o negativos
LN(15.444) Logaritmo natural. El número no puede ser negativo.

Conversión de fórmulas a BASIC:
Toda la operación debe aparecer en una sola línea. Se puede usar paréntesis para aclarar el orden de las operaciones. No se permiten operaciones implícitas (por ejemplo el producto A por B se indica A*B y no AB)
Ejemplos:


METODOS PARA RESOLVER ECUACIONES EN UNA VARIABLE


METODO DE BISECCION:
El método de bisección es el método más simple para resolver ecuaciones de una variable. Se inicia el procedimiento cuando se localiza un cambio de signo de una función f(x) entre dos valores x1 y x2. El intervalo sucesivamente se divide en dos y se evalúa la ecuación hasta obtener un f(x)=0 o bien un valor que satisfaga una tolerancia preestablecida.

VENTAJAS:
·   Es un método muy simple y por lo tanto fácil de implementar
·         Si la solución existe, el método la encontrará

DESVENTAJAS:
·         El método es lento, es decir que se necesitan a veces muchas iteraciones para lograr encontrar la solución, especialmente si los extremos están muy separados

ALGORITMO:
1. Pedir los datos básicos: Tolerancia (T), límite inferior (a), límite superior (b), número de iteraciones que se permite (N).
2. Definir i=1
3. Mientras que i<=N, repetir pasos 4 al 7
     4. Calcular  p=a+(b-a)/2
     5. Si f(p)=0 o (b-a)/2>T entonces mostrar solución p y terminar
6.Calcular i=i+1
7.    Si f(a)*f(p)>0 entonces a=p, si no b=p
     8. Mostrar mensaje “El método no converge”  y Fin del programa
Ejemplo : Resuelva la ecuación  x3-x-1=0.
Aplicando valuación o bien división sintética, se obtiene que la ecuación tiene un cero entre 1 y 2. Se construye la siguiente tabla de datos:

ITERACION
A
B
P
f(p)
1
1
2
1.5
0.875000
2
1
1.5
1.25
-0.296875
3
1.25
1.5
1.375
0.224609
4
1.25
1.375
1.3125
-0.051514
5
1.3125
1.375
1.34375
0.082611
6
1.3125
1.34375
1.328125
0.014576
7
1.3125
1.328125
1.3203125
-0.018711
8
1.3203125
1.328125
1.32421875
-0.002128
9
1.32421875
1.328125
1.32617188
0.006209
10
1.32421875
1.32617188
1.32519531
0.002037
11
1.32421875
1.32519531
1.32470703
-0.000047
12
1.32470703
1.32519531
1.32495117
0.000995
13
1.32470703
1.32495117
1.3248291
0.000474
14
1.32470703
1.3248291
1.32476807
0.000214
15
1.32470703
1.32476807
1.32473755
0.000084
16
1.32470703
1.32473755
1.32472229
0.000018
17
1.32470703
1.32472229
1.32471466
-0.000014
18
1.32471466
1.32472229
1.32471848
0.000002

La solución final es x=1.322471848. Dependiendo de la tolerancia que se establezca, se puede tomar un solución con menos iteraciones.

Implementación del algoritmo a un programa de computadora
Como ejemplo, se ha implementado el algoritmo a un program escrito en Microsoft Basic. El uso del programa es el siguiente:
1)    Ingresar a Basic
2)    Cargar el programa:  RUN “MENU”    (ENTER)
3)    Selecciónar Bisección:   1 (ENTER)
4)    Editar la función:        500 Y=X^3-X-1   (ENTER)
5)    Ejecutar el programa:  RUN 140 (ENTER)
6)    Ingresar los datos más importantes: límite inferior,  límite superior, número máximo de iteraciones, tolerancia permitida, si se desea impresión de los resultados. Si la solución converge, el programa presenta los resultados, de lo contrario, el mensaje de error. Finalmente pregunta si se desea resolver otra ecuación, a lo que se responde S (sí) o N (no) y se ingresa ENTER.

MÉTODO DE LA SECANTE

Este método pretende reducir la cantidad de iteraciones necesarias para lograr la convergencia de la solución. Se basa en el hecho de que el método de bisección siempre utiliza la mitad del intervalo, pero no toma en cuenta que la solución puede estar más cerca de uno de los valores (x0 o x1). Para ello, se traza una línea entre  f(x0) y f(x1) y se calcula el x2 como el punto en que la línea intersecta al eje x. (ver gráfica)

El nuevo valor de x2 se calcula así:


 ALGORITMO DEL MÉTODO DE LA SECANTE:
1. Pedir los datos de entrada: aproximaciones iniciales P0, P1, tolerancia T y número máximo de iteraciones N0
2. Definir:  i=2;   q0=f(p0);  q1=f(p1)
3. Mientras que I<=N0 seguir los pasos 4-7
        4. Calcular p=p1-q1*(p1-p0)/(q1-q0)
        5. Si |p-p1|<=T entonces presentar resultado (p) y fin del proceso, si no:
6       i=i+1
   7  Calcular:  p0=p1; q0=q1; p1=p; q1=f(p)
8.        Mensaje de error “El método fracasó despues de N0 iteraciones”
9.        Fin.

IMPLEMENTACIÓN DEL ALGORITMO:
Implementación del algoritmo a un programa de computadora
Como ejemplo, se ha implementado el algoritmo a un program escrito en Microsoft Basic. El uso del programa es el siguiente:
1)    Ingresar a Basic
2)    Cargar el programa: RUN “MENU”  (ENTER)
3)    Cargar el programa:  2    (ENTER)
4)    Editar la función:        EDIT 310   (ENTER)
                                        310 Y=X^3-X-1   (ENTER)
5)    Ejecutar el programa:  RUN  (ENTER)
6)    Ingresar los datos más importantes: aproximaciones iniciales, tolerancia, y número de iteraciones permitido.

Si se aplica el método a una ecuación comparando con el de bisección, se observará que se necesitan menos iteraciones para obtener la solución final.

Ejemplo:
Resuelva la ecuación x-e1/x=0
Aplicando división sintética o valuación, se encuentra que existe un cero entre 1 y 2, por lo que se toma este intervalo para los valores de x0 y x1.

Se construye la siguiente tabla:

ITERACION
x0
x1
x2
1
1
2
1.8302641
2
1
1.8302641
1.78318383
3
1.78318383
1.8302641
1.7628838
4
1.7628838
1.8302641
1.76322865
5
1.76322865
1.8302641
1.76322273
En forma comparativa, el método de bisección necesita 21 iteraciones para llegar a la solución.

VENTAJAS:
·         Converge más rápidamente que bisección
·         No necesita derivadas para el cálculo de aproximaciones (comparado con el método de Newton)


DESVENTAJAS:
·               En ocasiones, aunque existe la solución, el método no converge


MÉTODO DE NEWTON

Este método, también llamado Newton-Raphson, es considerado como el método más rápido, es decir que converge en menos iteraciones, comparado con los demás.

Partiendo de una aproximación inicial, las siguientes aproximaciones se calculan de la siguiente manera:


VENTAJAS:
·         Es un método más rápido que los otros métodos
·         Generalmente converge independientemente de la aproximación inicial que se escoge.

DESVENTAJAS:
·         Es necesario conocer la derivada de la función, la cual a veces es difícil de obtener
·         Si la derivada de la función toma un valor cercano a cero, el método puede no converger
·         Cuando hay raíces múltiples (polinomios), el método a veces falla.

ALGORITMO DEL METODO DE NEWTON:
1. Pedir datos iniciales: Aproximación inicial p0, tolerancia (T), número máximo de iteraciones (N0)
2. Definir i=1
3. Mientras que i<=N0, seguir los pasos 4-7
      4. Calcular p=p0-f(p0)/f´(p0)
      5. Si |p-p0| <=T entonces presentar resultado final p y fin; si no:
6.    Calcular i=i+1
  1. Calcular p0=p
8. Presentar mensaje de error “El método fracasó en N0 interaciones” y Fin

EJEMPLO:
Resuelva la ecuación x-e1/x=0
Aplicando división sintética o valuación, se encuentra que existe un cero entre 1 y 2, por lo que se toma este intervalo para los valores de x0 y x1.

Se construye la siguiente tabla:



ITERACION
x0
x1
1
1
2
2
1
1.8302641
3
1.78318383
1.8302641
4
1.7628838
1.8302641
5
1.76322865
1.8302641

IMPLEMENTACION DEL ALGORITMO:
Implementación del algoritmo a un programa de computadora
Como ejemplo, se ha implementado el algoritmo a un program escrito en Microsoft Basic. El uso del programa es el siguiente:
7)    Ingresar a Basic
8)    Cargar el programa:  RUN  “MENU”    (ENTER)
9)    Seleccionar el método de Newton:  3 Enter
10) Editar la función:        EDIT 300 (enter)
300 Y=X^3-X-1   (ENTER)
11) Ejecutar el programa:  RUN  (ENTER)
12) Ingresar los datos más importantes: tolerancia, límite inferior y límite superior.

Si se aplica el método a una ecuación comparando con el de bisección, se observará que se necesitan menos iteraciones para obtener la solución final.

MÉTODO DE PUNTO FIJO:
Otra opción que se tiene para resolver ecuaciones de una variable es el llamado método de punto fijo, conocido también en algunos libros como “iteración de punto fijo”. La descripción del método es la siguiente:

Si una función puede arreglarse para expresarse como g(x)=x, entonces a una solución de esta ecuación se le llama punto fijo de la misma.

Por ejemplo: La función y=x-sen πx puede rearreglarse para quedar como:
 Sen  πx =x .
A veces una misma función se puede arreglar de varias formas distintas.

Para encontrar un punto fijo de la ecuación, se escoge una aproximación inicial, llamada p0 y se genera una sucesión, en la cual pn=g(pn-1). Si la sucesión converge, entonces se encontrará una aproximación final de la solución.

ALGORITMO DEL MÉTODO DE PUNTO FIJO:
  1. Pedir datos iniciales: Aproximación inicial (p0), tolerancia (T); número máximo de iteraciones (N0)
  2. Definir i=1
  3. Mientras que i<=N0
4.       Calcular p=g(p0)
5.       Si |p-p0| <T entonces presentar resultado final p y fin; si no
6.       Calcular i=i+1
7.       Calcular p0=p
  1. Presentar mensaje de error “El método fracasó” y FIN

IMPLEMENTACIÓN DEL MÉTODO DE PUNTO FIJO

Implementación del algoritmo a un programa de computadora
Como ejemplo, se ha implementado el algoritmo a un program escrito en Microsoft Basic. El uso del programa es el siguiente:
13) Ingresar a Basic
14) Cargar el programa:  RUN  “MENU”    (ENTER)
15) Seleccionar el método de Punto Fijo :  2 (Enter)
16) Editar la función:        EDIT 300   (ENTER)
                                        300 Y=X^3-X-1   (ENTER)
17) Ejecutar el programa:  RUN  (ENTER)
18) Ingresar los datos más importantes: aproximación inicial, tolerancia, y número máximo de iteraciones.

Ejemplo: Aplique el método de punto fijo para resolver: x3+4x2-10=0
Esta ecuación se puede arreglar de varias maneras. Por ejemplo:
4x2=10-x3
x= 0.5(10-x3)0.5

Usando como aproximación inicial p0=1.5, se tiene la siguiente secuencia:
ITERACION
g(x)
0
1.5
1
1.286953768
2
1.402540804
3
1.345458374
4
1.375170253
5
1.360094193
6
1.367846968
7
1.363887004
8
1.365916734
9
1.364878217
10
1.365410062
......

20
1.365230236
.....

30
1.365230013






MÉTODOS PARA SOLUCION DE SISTEMAS LINEALES

Un sistema lineal, es un conjunto de n ecuaciones de la forma general:


            a11x1+a12x2+a13x3+.......a1nxn=b1
a21x1+a22x2+a23x3+.......a2nxn=b2
a31x1+a32x2+a33x3+.......a3nxn=b3
.........
.........
an1x1+an2x2+an3x3+.......annxn=bn

donde los valores de a son los coeficientes , las x son las incógnitas y las b son los términos independientes

La resolución del sistema consiste en encontrar el conjunto de valores de x1,x2....xn.. Para ello existen métodos analíticos, entre los que se mencionan: Sustitución, Igualación y Suma y Resta. Sin embargo, desde el punto de vista del análisis numérico, interesan más los métodos numéricos. Los métodos más importantes se discuten a continuación:

ELIMINACIÓN GAUSSIANA
Para obtener la solución de un sistema lineal como el anterior, en este método se aplica una serie de operaciones, llamadas operaciones de renglón, siendo las siguientes:
1)    multiplicar toda la fila por una constante distinta de cero
2)    sumar o restar un múltiplo de una ecuación a otra
3)    intercambiar de posición dos ecuaciones.

Para facilitar el proceso, se forma una matriz, llamada matriz aumentada que contiene solamente los coeficientes de las ecuaciones.

Al final del proceso, el sistema se reduce a una forma triangular, donde la última ecuación tiene la solución de la última incógnita. Posteriormente, se aplica un proceso se sustitución hacia atrás para ir encontrando progresivamente los valores de las otras incógnitas.

Este procedimiento se ilustra con el siguiente ejemplo:
2x1+x2+3x3=11
4x1+3x2+10x3=28
2x1+4x2+17x3=31

Inicialmente, se forma la matriz aumentada:


                        2          1          3          |           11
                        4          3          10       |           28
                        2          4          17       |           31

Para eliminar x1 de la segunda ecuación, se multiplica la primera por 2 y se resta a la segunda. Para eliminar x1 de la tercera, solamente se resta la primera a la tercera:

                        2          1          3          |           11
                        0          1          4          |           6
                        0          3          14       |           20

Para eliminar x2 de la tercera ecuación, se multiplica la segunda por 3 y se le resta:

                        2          1          3          |           11
                        0          1          4          |           6
                        0          0          2          |           2

Ya se tiene la primera solución: x3=2/2=1
Ahora se procede a realizar sustitución hacia atrás
                         x2+(4*1)=6
                         x2+4=6
                         x2=2
y finalmente:
                 2x1+(1*2)+(3*1)=11
                        2x1+2+3=11
                        2x1+5=11
                        2x1=6
                        x1=3

La solución del sistema, es el conjunto {3,2,1}

Ventajas del método:
  • Es muy fácil de realizar
  • No se requiere de manipulaciones algebraicas
  • Si la solución existe, el procedimiento la encontrará

Desventajas:
  • Se necesita una gran cantidad de operaciones, especialmente multiplicaciones y divisiones: (n3+3n2+n)/3, donde n es el número de incógnitas



MÉTODO DE GAUSS CON PIVOTEO

Cuando se usa el método de eliminación Gaussiana, existe el peligro de que un elemento usado para eliminar una variable sea pequeño comparado con los de abajo. En este caso hay peligro de que se produzcan errores de redondeo significativamente grandes. Por ejemplo:

0.003x1+59.14x2=59.17
    5.29x1-  6.13x2=46.78

Si se usa 0.003 como elemento para eliminación, trabajando a 4 decimales, debido a errores de redondeo se obtiene la solución (-10 y 1.001), la cual está errada pues lo correcto es (10,1)

Para resolver este problema, se aplica la estrategia llamada “pivoteo máximo”, que consiste en intercambiar las filas para colocar al principio la ecuación donde el coeficiente sea el máximo. El proceso se repite en cada proceso hacia abajo hasta llegar a la matriz diagonal. Para el ejemplo anterior, antes de iniciar el proceso de eliminación, se intercambian las filas y el sistema quedaría:

5.29x1-     6.13x2=46.78
0.003x1+59.14x2=59.17

Con lo cual se garantiza que al operar todo el proceso de eliminación las respuestas correctas serán (10,1)

IMPLEMENTACIÓN DEL ALGORITMO DE PIVOTEO MÁXIMO


Se ha implementado el algoritmo a un program escrito en Microsoft Basic. El uso del programa es el siguiente:
Ingresar a Basic
1) Cargar el programa:  RUN “MENU”    (ENTER)
2) Selecciónar Gauss con Pivoteo: 8 (ENTER)
3) Ingresar el Número de ecuaciones a resolver: Ejemplo: 3 ENTER
4) Para cada ecuación se ingresan los coeficientes que acompañan a las variables y el término independiente
5) El programa presenta la solución si existe, o el mensaje de error
6) Vuelve a preguntar el número de ecuaciones. Si no se desea continuar se ingresa cero.

METODO DE GAUSS JORDAN:
Este método trata de eliminar el proceso de sustitución hacia atrás para reducir el número de operaciones aritméticas que se requieren para resolver el sistema. Para lograr este objetivo, se procede a usar la i-ésima ecuación para eliminar xi de todas las ecuaciones. En tal caso, la solución se obtiene calculando:
xi=ai,n+1 / aii

La ventaja de éste método es que se evita la necesidad de la sustitución hacia atrás que se aplica en la eliminación gaussiana. Eso reduce grandemente el número de operaciones necesarias, pues se requieren solamente  n3/2+n2-n/2 multiplicaciones o divisiones.
Implementación del método:

Se ha implementado el algoritmo a un program escrito en Microsoft Basic. El uso del programa es el siguiente:
Ingresar a Basic
1) Cargar el programa:  RUN “MENU”    (ENTER)
2) Selecciónar Gauss Jordan: 6 (ENTER)
3) Ingresar el Número de ecuaciones a resolver: Ejemplo: 3 ENTER
4) Para cada ecuación se ingresan los coeficientes que acompañan a las variables y el término independiente
5) El programa presenta la solución si existe, o el mensaje de error
6) Vuelve a preguntar el número de ecuaciones. Si no se desea continuar se ingresa cero.

METODO DE GAUSS-SEIDEL

Es un método iterativo, en el sentido de que se parte de una solución inicial y sucesivamente se va refinando hasta converger a una solución final, si es que existe.

Lo que se hace en éste método, es establecer una nueva aproximación de un valor xi usando la siguiente expresión:





Para tratar de acelerar el proceso de iteraciones, se puede usar un factor llamado factor de relajación, que permite converger a la solución en menos tiempo. Aunque no hay criterios certeros acerca de este factor, usualmente es un valor que está entre 1 y 3. Dependiendo del factor que se escoge, el método puede converger más rápidamente o más lentamente.

Implementación del método:

Se ha implementado el algoritmo a un program escrito en Microsoft Basic. El uso del programa es el siguiente:
Ingresar a Basic
1) Cargar el programa:  RUN “MENU”    (ENTER)
2) Selecciónar Gauss Seidel: 6 (ENTER)
3) Ingresar el Número de ecuaciones a resolver: Ejemplo: 3 ENTER
4) Para cada ecuación se ingresan los coeficientes que acompañan a las variables y el término independiente
5) Se ingresa el factor de relajación
6) El programa presenta la solución si existe, o el mensaje de error
7) Vuelve a preguntar el número de ecuaciones. Si no se desea continuar se ingresa cero.


MÉTODOS PARA RESOLVER INTEGRALES DEFINIDAS

Muchas veces, el desarrollo de una integral se puede volver un proceso bastante complicado. Por ejemplo: la integral


Requiere de un proceso de integración bastante laborioso. Por otra parte, algunas integrales simplemente no tienen función primitiva. Se necesita por lo tanto una alternativa que permita evaluar una integral definida sin el tormento del proceso (“Integrar sin integración!!”)

METODO DE INTEGRACION POR LA REGLA DEL TRAPECIO

Debe recordarse que la forma más simple de interpretar una integral definida es como el área bajo la gráfica de la función.  

Una estrategia para encontrar el área total sería el de calcular áreas de trapecios dentro del intervalo de integración y luego sumar las áreas para dar lugar al área total

 El área total bajo la gráfica de la función entonces será:


Donde: Δx= (b-a)/n  y  xi=a+iΔx   y n es el número de sub-intervalos en los que se divide el intervalo.

Debe notarse que, mientras más subintervalos se definen, el cálculo será más exacto, pero al mismo tiempo también será más engorroso.
Ejemplo:

Utilice la regla del trapecio con n=5 para calcular:


 Δx=(2-1)/5= 0.2


El resultado exacto de esta operación es: Ln 2=0.693147....

Implementación del método:
  1. Ingresar a Basic
  2. Ejecutar el programa:  RUN “MENU”  (ENTER)
  3. Seleccionar el método del trapecio: 9 ENTER
  4. Ingresar la función a integrar: Ejemplo:
230 Y=1/(x2)  (ENTER)
  1. Continuar el programa: RUN 100 (ENTER)
  2. Pedir los datos básicos: límite inferior (a), límite superior (b), número de intervalos deseado  (N).
  3. El programa presenta el resultado y pregunta si se desea resolver otra integral, a lo cual se responde S (Si) o N (No)


METODO DE SIMPSON:
Este método fue dado a conocer por Thomas Simpson (Si bien ya era conocido antes ), por ésta razón es que recibe ese nombre.

Es una alternativa al método del trapecio que pretende aumentar la exactitud del cálculo, para lo cual en lugar de trapecios, se utilizan segmentos de parábolas. El número de subintervalos en que se divide el intervalo de integración debe ser un número par.  Debido a que la ecuación de una parábola vertical es de la forma y=Ax2+BX+C, es posible calcular el área para ese subintervalo integrando directamente. Posteriormente se suman las áreas de cada subintervalo para obtener el intervalo total.

En este método, el área total que se obtiene se calcula así:


Los coeficientes que multiplican a las f(x) son: 1,4,2,4,2.....2,4,1 ; el valor de
Δx= (b-a)/n  y  xi=a+iΔx y n es un número par.

Ejemplo: utilice el método de Simpson con n=10 para calcular la siguiente integral:



Δx=(2-1)/10= 0.1

El valor exacto de la integral es: Ln 2= 0.693147....

En general se puede decir que la aproximación que se obtiene con éste método es mejor que con el trapecio.

METODO DE CUADRATURA GAUSSIANA
Los métodos anteriores (trapecio y Simpson) se basan en el hecho de que los puntos a evaluar en la función están igualmente espaciados. Con el objeto de reducir el error, es posible escoger los valores de x para valuar tratando de optimizar su uso y reducir el error. En esto se bas el método de cuadratura gaussiana.  La integral puede aproximarse de la siguiente manera:



Aunque existen varias formas de cuadratura gaussiana, la más fácil de aplicar es la de polinomios de Legendre. Esta métodología es la siguiente:
1)            Se selecciona el grado del polinomio que se desea (2,3,4 o 5).
2)            Se escogen las raíces y los coeficientes apropiados para el polinomio de la siguiente tabla:

GRADO
RAICES
COEFICIENTES
2
0.577350
1.0

-0.577350
1.0
3
0.774596
0.555555

0.000000
0.888888

-0.774596
0.555555
4
0.861136
0.347854

0.339981
0.652145

-0.339981
0.652145

-0.861136
0.347854
5
0.906179
0.236926

0.538469
0.478628

0.000000
0.568888

-0.538469
0.478628

-0.906179
0.236926
3) Se aplica la siguiente transformación, para convertir el intervalo de integración a un nuevo intervalo [–1,1]



donde t=[1/(b-a)](2x-a-b)
Ejemplo: utilice cuadratura gaussiana con n=3 para calcular:


Inicialmente debe calcularse el valor de t=[1/(1.5-1)](2x-1.5-1)=4x-5
Entonces: x=(t+5)/4, x2=(t+5)2/16
Y dx= dt/4   (el valor de ¼ se puede sacar de la integral)

:


Implementación del método:
El programa que ejecuta este procedimiento es el número 11 del menú
Su uso es el siguiente:
1     Ingresar a Basic
2     Ejecutar el programa:  RUN “MENU”  (ENTER)
3     Seleccionar el método de cuadratura gaussiana: 11 ENTER
4     Ingresar la función a integrar: Ejemplo:
230 Y=1/(x2)  (ENTER)
5     Continuar el programa: RUN 100 (ENTER)
6     Pedir los datos básicos: límite inferior (a), límite superior (b), número de intervalos deseado  (N).
7     El programa presenta el resultado y pregunta si se desea resolver otra integral, a lo cual se responde S (Si) o N (No)

































No hay comentarios:

Publicar un comentario