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
- 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.
- Métodos para solución de ecuaciones de una
incógnita: Bisección, Newton, Secante, Punto Fijo. Ejemplos y ejercicios.
- 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
- Métodos para resolver integrales definidas:
Trapecio, Simpson, Cuadratura Gaussiana, Romberg.
- Métodos para resolver ecuaciones diferenciales:
Euler, Runge Kutta y Adams.
- 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:
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
- 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:
- Pedir datos iniciales: Aproximación inicial (p0),
tolerancia (T); número máximo de iteraciones (N0)
- Definir i=1
- 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
- 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:
- Ingresar a Basic
- Ejecutar el programa: RUN “MENU” (ENTER)
- Seleccionar el método del trapecio: 9 ENTER
- Ingresar la función a integrar: Ejemplo:
230
Y=1/(x2) (ENTER)
- Continuar el programa: RUN 100 (ENTER)
- Pedir los datos básicos: límite inferior (a),
límite superior (b), número de intervalos deseado (N).
- 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:
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