metodos numericos

254
Universidad Nacional Abierta y a Distancia CURSO ACADEMICO Métodos Numéricos Carlos Iván Bucheli Chaves

Upload: luzeddy

Post on 01-Jan-2016

432 views

Category:

Documents


10 download

TRANSCRIPT

Page 1: Metodos numericos

Universidad Nacional Abierta y a Distancia

CURSO ACADEMICO

Métodos Numéricos

Carlos Iván Bucheli Chaves

Page 2: Metodos numericos

COMITÉ DIRECTIVO

Jaime Alberto Leal Afanador Rector Roberto Salazar Ramos Vicerrector Académico Sejhifar Ballesteros Moreno Vicerrector Administrativo y Financiero Maribel Córdoba Guerrero Secretario General Edgar Guillermo Rodríguez Director de Planeación

Impresión:

UNAD 2007

2007

2007

Page 3: Metodos numericos

MODULO ACADEMICO Métodos Numéricos

2007

Page 4: Metodos numericos

TTTAAABBBLLLAAA DDDEEE CCCOOONNNTTTEEENNNIIIDDDOOO UUUNNNIIIDDDAAADDD III INTRODUCCIÓN A LOS MÉTODOS NUMÉRICOS 111...111... MMMAAAPPPAAA CCCOOONNNCCCEEEPPPTTTUUUAAALLL DDDEEE LLLOOOSSS MMMEEETTTOOODDDOOOSSS NNNUUUMMMEEERRRIIICCCOOOSSS 1.1.1 Introducción a los Métodos Numéricos. 111...222... EEEXXXCCCEEELLL PPPAAARRRAAA MMMEEETTTOOODDDOOOSSS NNNUUUMMMEEERRRIIICCCOOOSSS 1. 2.1. Conceptos fundamentales de programación. 111...333... CCCOOONNNCCCEEEPPPTTTOOOSSS BBBAAASSSIIICCCOOOSSS 1. 3.1. Exactitud y Precisión. 1. 3.2. Errores de redondeo. UUUNNNIIIDDDAAADDD IIIIII SOLUCIÓN DE ECUACIONES Y SISTEMAS LINEALES Y NO LINEALES POR MÉTODOS NUMÉRICOS 222...111 RRRAAAIIICCCEEESSS DDDEEE UUUNNNAAA EEECCCUUUAAACCCIIIOOONNN... 2.1.1 método grafico. 2.1.2 método de bisección. 2.1.3 método de la regla falsa. 2.1.4 método de la secante. 2.1.5 método de newton- raphson 2.1.6 método iteractivo de punto fijo. 2.1.7 método de muller para raíces complejas. 222...222 SSSIIISSSTTTEEEMMMAAA DDDEEE EEECCCUUUAAACCCIIIOOONNNEEESSS AAALLLGGGEEEBBBRRRAAAIIICCCAAASSS LLLIIINNNEEEAAALLLEEESSS YYY NNNOOO LLLIIINNNEEEAAALLLEEESSS 2.2.1 método de eliminación 2.2.2 método de eliminación de gauss. 2.2.3 método de gauss-jordán. 2.2.4 método de gauss-seidel. UUUNNNIIIDDDAAADDD IIIIIIIII INTERPOLACIÓN, AJUSTE DE CURVAS Y APROXIMACIÓN DE FUNCIONES 333...111 AAAJJJUUUSSSTTTEEE DDDEEE CCCUUURRRVVVAAASSS EEE IIINNNTTTEEERRRPPPOOOLLLAAACCCIIIOOONNN PPPOOOLLLIIINNNOOOMMMIIIOOOSSS 3. 1. 1. interpolación y el polinomio de lagrange. 3. 1. 2. diferencias divididas. 3. 1. 3. interpolación general de newton. 3.1. 4. Ajuste de curvas. 3. 1.5. Algoritmo de neville. 3. 1.6. Transformadas discretas de fourier. UUUNNNIIIDDDAAADDD IIIVVV DIFERENCIACIÓN E INTEGRACIÓN NUMÉRICA 444...111...DDDIIIFFFEEERRREEENNNCCCIIIAAACCCIIIÓÓÓNNN NNNUUUMMMÉÉÉRRRIIICCCAAA 4. 1. 1. Fórmulas de diferencia 444...222... IIINNNTTTEEEGGGRRRAAACCCIIIÓÓÓNNN NNNUUUMMMÉÉÉRRRIIICCCAAA 4. 2.1. Las reglas de Trapecio 4 .2.2. Reglas de Simpson. 4. 2. 3. Integración de Romberg

Page 5: Metodos numericos

UUUNNNIIIDDDAAADDD VVV ECUACIONES DIFERENCIALES CON MÉTODOS NUMÉRICOS. 555... 111... PPPRRROOOBBBLLLEEEMMMAAASSS DDDEEE VVVAAALLLOOORRR IIINNNIIICCCIIIAAALLL PPPAAARRRAAA EEECCCUUUAAACCCIIIOOONNNEEESSS DDDIIIFFFEEERRREEENNNCCCIIIAAALLLEEESSS 5. 1. 1. Método de Euler 5. 1. 2. Método de Runge Kutta 5. 1. 3. Métodos multipasos AAAUUUTTTOOOEEEVVVAAALLLUUUAAACCCIIIOOONNN BBBIIIBBBLLLIIIOOOGGGRRRAAAFFFIIIAAA

Page 6: Metodos numericos

AAALLLCCCAAANNNCCCEEE DDDEEELLL CCCUUURRRSSSOOO AAACCCAAADDDEEEMMMIIICCCOOO El estudiante comprenderá la importancia de los métodos numéricos y conocerá Las características operativas del software de cómputo numérico comercial. Implementará métodos de solución de ecuaciones algebraicas o trascendentales, con apoyo de un lenguaje de programación. Implementará los métodos numéricos de solución de sistemas de ecuaciones, con apoyo de un lenguaje de programación. Aplicará los métodos numéricos para la solución de problemas de diferenciación e integración numérica, usando un lenguaje de programación. Por ultimo, Aplicará los métodos numéricos para la solución de problemas de diferenciación e integración numérica, usando un lenguaje de programación. Por tanto al finalizar la lectura y comprensión de este modulo el estudiante estará en la capacidad de: • Analizar en grupo la importancia de los métodos numéricos en la ingeniería y en

las ciencias. • Analizar en grupo los conceptos de cifra significativa, precisión, exactitud, sesgo

e incertidumbre, así como los diferentes tipos de error: absoluto y relativo por redondeo por truncamiento numérico total humanos.

• Buscar y diferenciar las características de un software de cómputo numérico. • Exponer por equipos, las características de un software de cómputo numérico. • Realizar prácticas del uso de un software de cómputo numérico, apoyándose en

tutoriales y manuales correspondientes. • Buscar y analizar la interpretación gráfica de una raíz y la teoría de alguno de

los métodos iterativos. • Buscar y catalogar los diferentes métodos numéricos de solución de ecuaciones. • Diseñar e implementar los métodos numéricos catalogados, utilizando la

herramienta de cómputo numérico. • Resolver ejercicios aplicando los métodos implementados, validando sus

resultados. • Buscar y clasificar los fundamentos matemáticos de la solución de sistemas de

ecuaciones lineales. • Identificar gráficamente, los casos de sistemas de ecuaciones lineales mal

condicionadas y su relación matemática con el determinante. • Analizar en grupo la solución de sistemas de ecuaciones, empleando los

métodos iterativos de Jacobi y Gauss-Seidel.

Page 7: Metodos numericos

• Implementar y evaluar los métodos iterativos empleando un lenguaje de programación.

• Buscar y clasificar los fundamentos matemáticos de la solución de sistemas de ecuaciones no-lineales.

• Analizar en grupo la solución de sistemas de ecuaciones no-lineales, empleando métodos iterativos.

• Implementar y evaluar los métodos iterativos empleando un lenguaje de programación.

• Buscar y clasificar los métodos numéricos de diferenciación. • Representar gráficamente los métodos clasificados. • Analizar en grupo la diferenciación, empleando los métodos clasificados. • Diseñar e implementar los métodos de diferenciación numérica. • Diseñar e implementar los métodos de integración numérica. • Buscar y clasificar los métodos numéricos de integración. • Representar gráficamente los métodos clasificados. • Analizar en grupo la integración, empleando los métodos clasificados. • Buscar y clasificar los métodos numéricos de diferenciación. • Aplicar los métodos a la solución de ejercicios, empleando una calculadora. • Diseñar, implementar y evaluar los métodos numéricos de Euler y de Runge-

Kutta. • Investigar aplicaciones de estos métodos numéricos y mostrar resultados.

Page 8: Metodos numericos

UUUNNNIIIDDDAAADDD 111... IIINNNTTTRRROOODDDUUUCCCCCCIIIÓÓÓNNN AAA LLLOOOSSS MMMÉÉÉTTTOOODDDOOOSSS NNNUUUMMMÉÉÉRRRIIICCCOOOSSS

Page 9: Metodos numericos

111...111... MMMAAAPPPAAA CCCOOONNNCCCEEEPPPTTTUUUAAALLL DDDEEE LLLOOOSSS MMMEEETTTOOODDDOOOSSS NNNUUUMMMEEERRRIIICCCOOOSSS Una pregunta muy natural que surge al introducirse en el estudio de los métodos numéricos, es la siguiente: Por que sucedió todo esto? El precio que hay que pagar es el de cálculos cada vez más largos y tediosos y aquí es donde hace acto de presencia la poderosa herramienta computacional, que nos permite hacer cálculos largos y tediosos en poco tiempo y con mayor exactitud que si los hiciéramos a mano. Esta gran herramienta hace factible el camino de los métodos numéricos pues de otra forma, serían muy lentos los procesos y con mucho riesgo de cometer errores en cada paso. Por otro lado, cabe mencionar que para poder elaborar un buen programa de computación, aparte de manejar un lenguaje determinado, debemos saber realizar el proceso "a mano", ya que esto nos permitirá implementar un mejor programa que contemple todas las posibles piedras en el camino.

Page 10: Metodos numericos

111...111...111... MMMaaapppaaa CCCooonnnccceeeppptttuuuaaalll MMMééétttooodddooosss NNNuuummmééérrriiicccooosss

Definición de Método Numéricos

Métodos Numéricos

Resolver problemas Numéricos complejos

Ingeniería

¿De qué tipo?

ALGA Cálculo Diferencial Derivadas Parciales Cálculo Integral Interpolación Extrapolación Errores

SEL SENL Matrices

¿Con qué?

Operaciones aritméticas simples Característica común

Un número muy grande y tedioso de Cálculos aritméticos

¿A partir de qué? ¿Cómo?

Desarrollar y Evaluar Datos Almacenados o manuales

Análisis matemático cualitativo

¿Qué Herramientas?

Análisis matemático cuantitativo

Programa

Métodos o Algoritmos

Solución Aproximada

¿Qué ocurre en la construcción y análisis del método?

Page 11: Metodos numericos

Método, Algoritmo, Receta, proceso, procedimiento, Rutina: Es una secuencia ordenada

o pasos o consecutivos o lógicos o ordenados

para la solución de un problema dado.

Método o Algoritmo

Programa:

Programa

C, Matlab, Excel

¿Cómo?

¿Cómo?

Page 12: Metodos numericos

111... 222... EEExxxccceeelll pppaaarrraaa mmmééétttooodddooosss nnnuuummmééérrriiicccooosss Para la enseñanza de los distintos métodos y prácticas de laboratorio se ha utilizado los programas y algoritmos mediante macros, desde una hoja electrónica Excel. El Excel se encuentra instalado de forma casi generalizada en las computadoras personales y en los laboratorios de computadoras de la mayoría de instituciones de educación, se puede hacer uso de este tipo de soluciones a nivel de programación de algoritmos, sin necesidad de adquirir e instalar software adicional. Puede considerarse esta contribución como una primera versión, con muy poca programación de macros que harían más atractiva la aplicación, pero que requeriría de mayores destrezas de programación por parte del usuario, de tal forma que está dirigida a principiantes en el manejo de Excel como herramienta didáctica. Graficación de funciones Vamos a ilustrar una de las formas en que se puede graficar en una hoja electrónica Excel una función como f(x) = 5Cos(4x)+3, con x variando en el intervalo [-5,10]. Podemos hacerlo de tal forma que se puedan cambiar los límites inferior y superior de este intervalo y que la gráfica se actualice inmediatamente. Para empezar, es conveniente ubicar los valores a y b del intervalo en dos celdas específicas; por ejemplo, digitando el valor –5 en la celda B3 y el valor 10 en la celda B4. Al hacerlo de esta forma, toda operación que dependa de los valores a y b, incluyendo la gráfica de f(x) se actualizará cuando cambiemos estos valores. También es conveniente definir una longitud de paso h y un número n de puntos a evaluar para formar los puntos (xi, f(xi)), con xi = a+ih, para i=0, 1, ..., n, h = (b-a)/n. En este caso, se puede dejar n fijo en 100 y calcular h, editándolo en la celda B6, como +(B4-B3)/100. Ahora en la celda C5 iniciamos nuestro rango de valores de la variable x, editando el valor +B3. En la celda C6 editamos el valor +C6+B$6. El símbolo $ se utiliza para dejar fijo el número de fila. Esta celda se copia hacia abajo 100 veces o cualquier otra cantidad que se quiera, pero al hacerlo 100 veces estamos seguros de que vamos a graficar en el intervalo [a,b]. Una forma de introducir la función f(x) sería digitando la fórmula directamente en la celda D6: +5*COS(C6)+3. Luego se copia hacia abajo hasta completar la tabla de puntos (xi,f(xi)). La ventaja de introducir el criterio de f(x) de esta forma es que es más directa y asequible para el usuario habitual de Excel. La desventaja es que se

Page 13: Metodos numericos

introduce de una forma no tan cercana a la escritura matemática y puede resultar incómodo al tener que hacerlo en una celda, que aunque se extienda como renglón, ciertamente es un espacio muy reducido. Otra forma de introducir f(x) es mediante una caja de diálogo. A grandes rasgos, a la fórmula introducida se le aplica un corrector de sintaxis, seguido de un evaluador de funciones. Pero el enfoque que doy a continuación es mediante el uso de macros. En el contexto en que se programan los macros la edición de la función no se hace directamente en las celdas, sino en el editor de Visual Basic. Para definirla, se hace lo siguiente:

En la opción Herramientas del menú, seleccionar Macros. Luego se elige Editor de Visual Basic. En el menú Insertar, seleccionar Módulo y se escribe el siguiente código:

Function f(x) f = 5*Cos(x)+3

End Function Ahora se digita en la celda D6: +f(C6) en lugar de la forma en que se hizo antes, se copia hacia abajo, hasta completar el rango de puntos, produciendo exactamente el mismo efecto. Finalmente, marcamos el rango de puntos con sus dos coordenadas y hacemos uso del asistente para gráficos hasta obtener una gráfica como en la figura.

Fig. 1. Gráfica obtenida de f(x) = 5Cos(4x)+3. Como es bien sabido, el uso adecuado de los colores es muy importante para llamar la atención de los estudiantes y para crear ambientes de enseñanza y aprendizaje más lúdicos. En este caso, sin pretender que se ha hecho la mejor

Page 14: Metodos numericos

escogencia de colores, se ha seguido la forma habitual en Excel para celdas o rangos de celdas, así como para el formato para gráficas. La gráfica de esta función en particular, puede servir para tratar temas como periodicidad, amplitud, dominio, ámbito, traslaciones verticales y horizontales, crecimiento, decrecimiento, máximos, mínimos, ceros de f(x), haciendo las variaciones que se requieran. La visualización gráfica que tenemos de la función también nos permite localizar intervalos en los que se halla una solución de la ecuación f(x) = 0. Por ejemplo, puede notarse que en el intervalo [3,5] existe un cero p de f(x), por lo que se puede redefinir el intervalo [a,b] como [3,5] para focalizar la gráfica (Ver figura) y luego aplicar algún método numérico para calcular en forma aproximada el valor de p.

Gráfica de una función en un intervalo

-2

-1

0

1

2

3

4

5

6

0 2 4 6

x

f(x)

Fig. 2. Focalización de la gráfica de f(x) = 5Cos(4x)+3 en el intervalo [3,5]. Solución de ecuaciones en una variable: El método de bisección Si una función f(x) es continua en un intervalo [a,b], en caso de que f(a) y f(b) tengan signos opuestos, es bien conocido que el Teorema de los Valores Intermedios asegura la existencia de una raíz p de f(x) en el intervalo [a,b]. Por ser el algoritmo de bisección uno de los métodos más sencillos de cálculo aproximado de raíces de funciones, se ha escogido éste para ilustrar la forma en que se pueden resolver una ecuación, de manera aproximada, en Excel. Para

iniciar el proceso, se calcula el punto medio 2

bam += . Luego se verifica, tal y

como se hizo inicialmente para el intervalo [a,b], si el cambio de signo de f(x) ocurre en el intervalo [a,m] o en [m,b]. Si este cambio ocurre en el primer intervalo, se toma ahora el intervalo [a,b] como [a,m]; en caso contrario, se toma como [m,b]. Este proceso se repite sucesivamente, tomando como aproximación de la raíz el punto medio que se va obteniendo, hasta que el error de

Page 15: Metodos numericos

aproximación, que puede estimarse en la iteración enésima como n

ab2− , sea

menor que una tolerancia especificada. Algoritmo: Entrada: f(x) continua en [a,b], con f(a)f(b)<0. Una Tolerancia Tol. Repita:

i. 2

bam += .

ii. Si f(m)=0: . Salida: m. . Parar

iii. Si f(a)f(m)<0 redefina b = m. De otra forma, redefina a = m. Hasta que: b-a < Tol, Salida: m Parar. Implementación del método de bisección en Excel Vamos a ilustrar la forma en que se puede implementar en Excel el algoritmo de bisección con la función 2022)2ln(3)( 23 −−−++= xxxxxg en el intervalo [-1,3]. Esta función, como puede notarse, es continua en dicho intervalo. Justamente en este caso se justifica editar g(x) en un macro, debido a la extensión de esta fórmula, pues si lo hiciéramos directamente en la celda C6, habría que digitar: +3*LN(2+C5)+2*C5^3-C5^2-2*C5-20. En un macro, se escribe: Function g(x)

g = 3*Log(2+x)+2*x^3-x^2-2*x-20 End Function Para tener una idea de la gráfica de g(x) se procede a definir los extremos del intervalo, a=-1, b=3 y a evaluarla en las celdas correspondientes, tal y como se explicó para la función f(x).

Page 16: Metodos numericos

-30

-20

-10

0

10

20

30

-2 -1 0 1 2 3 4

x

g(x)

Fig. 3. Función 2022)2ln(3)( 23 −−−++= xxxxxg .

Al principio nuestra hoja electrónica luce más o menos así:

Fig 4. Hoja electrónica para implementar el método de bisección. Las celdas B5 y D5 contienen los valores extremos del intervalo [a,b] con que

inicia el algoritmo. La celda B2 contiene el punto medio 2

bam += , por lo que se

digita en esta celda +(B5+D5)/2. En la celda H5 se ha digitado la fórmula +(D5-C5)/2, que sirve como cota del error con que m aproxima al cero de g(x). En las celdas E5, F52 y G5 se ha digitado, respectivamente, +g(B5), +g(C5) y +g(D5), que corresponden a g(a), g(m) y g(b). Para decidir el nuevo intervalo en que queda encerrado el cero de g(x), cuyos extremos se van a escribir en las celdas B6 y D6:

Page 17: Metodos numericos

En la celda B6,se escribe: +SI(g(B5)*g(C5)<0,B5,C5). En la celda D6,se escribe: +SI(g(C5)*g(D5)<0,D5,C5). Luego se copian los cálculos de la fila 5 que faltan en la fila 6. Finalmente, se copia todo el contenido de la fila 6 hacia abajo, tantas veces como sea necesario, hasta lograr la precisión deseada, para obtener la siguiente tabla de aproximaciones:

Figura. Resultado del método de bisección para resolver la ecuación

02022)2ln(3 23 =−−−++ xxxx en el intervalo [-1,3].

En la figura se presentan los cálculos para la aproximación, finalizando con un error menor que 6X10-5. Una aproximación de un cero de g(x) sería el valor x=2.34466553, el cual se encuentra en la celda C20. Finalmente, cabe destacar que estas dos aplicaciones didácticas del Excel se han tomado a manera de ejemplo de la forma en que se puede utilizar la hoja electrónica en la enseñanza de muchos otros conceptos, no solamente a nivel universitario, sino también a nivel de enseñanza secundaria.

Microsof Excel es un software para el manejo de hojas electrónicas agrupadas en libros para cálculos de casi cualquier índole. Entre muchas otras aplicaciones, es utilizado en el tratamiento estadístico de datos, así como para la presentación gráfica de los mismos. La hoja electrónica Excel es ampliamente conocida, en forma generalizada, por profesionales y estudiantes en proceso de formación, pero hay una gran cantidad de usuarios que no conocen a profundidad su gran potencial y adaptabilidad a los diferentes campos del conocimiento.

Page 18: Metodos numericos

Para científicos e ingenieros, Excel constituye una herramienta computacional muy poderosa. También tiene gran utilidad para ser utilizado en la enseñanza de las ciencias y la Ingeniería, particularmente, en la enseñanza de los métodos numéricos. Pese a que existen en el mercado programas computacionales muy sofisticados, tales como MATLAB, MATHEMATICA, etc., no están tan disponibles como Excel, que usualmente forma parte del paquete básico de software instalado en las computadoras que funcionan bajo el sistema Windows de Microsoft.

A continuación se brinda al lector una breve introducción a algunas actividades de programación con macros en Visual Basic para Aplicaciones (VBA), definidos desde una hoja electrónica de Excel. Salvo pequeñas diferencias para versiones en inglés, el material puede ser desarrollado en cualquier versión.

Evaluación de Funciones

Funciones definidas por el usuario

A manera de ejemplo, vamos a evaluar la función

1. Como al evaluar , se debe recurrir a varias funciones básicas que se invocan desde Excel, se puede tener acceso a su sintaxis, pulsando el

ícono y seleccionar 'Matemáticas y Trigonométricas'.

iconosintexis

Page 19: Metodos numericos

Figura. Funciones predefinidas en Excel.

2. Para escribir una fórmula, seleccionamos una celda para escribir el valor a ser evaluado; por ejemplo, podemos digitar el valor (o 1,1 dependiendo de la configuración regional de su computador) en la celda B3. Ahora, en la celda C3 digitamos, de acuerdo a la sintaxis de la versión de Excel en español1, la fórmula:

=2*B3^3+LN(B3)-COS(B3)/EXP(B3)+SENO(B3)

Una vez que ha sido digitada, simplemente se pulsa la tecla 'Entrar' o 'Enter'.

Figura. Al evaluar fórmulas, a menudo se requiere evaluar varias funciones predefinidas.

Page 20: Metodos numericos

Errores comunes

Conforme vamos digitando nuestras primeras fórmulas, nos van apareciendo algunos errores que usualmente son debidos a un manejo inadecuado de la sintaxis o a la incompatibilidad con la configuración de la computadora. A continuación se describen algunas situaciones que pueden aparecer.

1. El valor de error #¿NOMBRE? aparece cuando Microsoft Excel no reconoce texto en una fórmula. Deber revisar la sintaxis de dicha fórmula.

2. El valor de error #¡VALOR! da cuando se utiliza un tipo de argumento (u operando) incorrecto. Este error se da por ejemplo, cuando evaluamos una función numérica en una celda que contiene algo que no sea un número (Por defecto, el contenido de una celda vacía es cero).

3. El valor de error #¡NUM! se aparece cuando hay un problema con algún número en una fórmula o función. Por ejemplo, si evaluamos una función logarítmica en cero o en un número negativo.

4. El valor de error #¡DIV/0! se produce cuando se divide una fórmula por 0 (cero).

5. El valor de error #¡REF! se da cuando una referencia a una celda no es válida.

6. Dependiendo de la forma en que esté configurado el sistema Windows, debe usarse punto o coma para separar la parte decimal de los números a evaluar. Para personalizarlo, se debe entrar al panel de control y en la 'Configuración regional' se selecciona 'Números'. En la primera cejilla, 'Símbolo Decimal' se selecciona el punto o la coma, según sea el caso. Finalmente, se presiona el botón 'Aplicar' y luego 'Aceptar'.

7. Una situación que a veces es confundida con un error se da cuando el sistema trabaja con poca precisión y se presentan valores numéricos no esperados. Por ejemplo, si el formato de una celda se ha definido para dos posiciones, entonces la operación +1.999+1 efectuado en dicha celda dará como resultado el valor 2, que no es otra cosa que el resultado de tal suma redondeado a dos decimales. El valor correcto se obtiene aumentado la precisión con el ícono correspondiente:

También se puede cambiar la precisión en el menú 'Formato-Celdas-Número-Posiciones decimales'.

Estos cambios son sólo de apariencia, pues, independientemente del número de dígitos que sean desplegados, Excel manipula los números con una precisión de hasta 15 dígitos. Si un número contiene más de 15 dígitos significativos, Excel convertirá los dígitos adicionales en ceros (0).

Page 21: Metodos numericos

Evaluando una función en varios tipos de parámetros

Muchas fórmulas a evaluar, tienen argumentos de distinto tipo, pues algunos argumentos varían a veces con un incremento determinado, mientras que otros permanecen constantes. Por lo general estos argumentos son tomados de celdas específicas, por lo que es importante saber manejar distintos escenarios para la evaluación de una función o fórmula.

Evaluación con argumentos variables

Continuando con el ejemplo que iniciamos en la sección 2.1, a partir de la celda B4 podemos continuar digitando valores, siempre en la columna B y con el cuidado de que estos números no se salgan del dominio de la función

, que en este caso es el conjunto de los

números reales positivos. Una vez hecho ésto, se evalúa la función en la celda C3, como se hizo previamente. Luego, seleccionamos esta misma celda C3 y se ubica el mouse en la esquina inferior derecha, arrastrándolo hasta la celda deseada. Otra posibilidad es hacer un doble clic en la esquina inferior derecha de la celda a copiar y esto realiza la copia automáticamente.

Figura. Copia de una fórmula en un grupo de celdas.

Evaluación con argumentos variables y/o constantes

Es común tener que evaluar funciones o fórmulas que dependen de varios parámetros, algunos de los cuales se mantienen fijos mientras que otros son

Page 22: Metodos numericos

variables. El siguiente ejemplo describe una función con dos parámetros y una variable.

La función , con , describe el tamaño de una población en el momento .

Aquí:

. es una constante de proporcionalidad que se determina

experimentalmente, dependiendo de la población particular que está siendo modelada,

. es la población inicial y

. Es una constante llamada capacidad de contención o capacidad

máxima que el medio es capaz de sostener.

Si queremos evaluar para distintos valores del tiempo en días, seguimos la siguiente secuencia de pasos:

1. Para empezar, es importante escribir encabezados en cada una de las columnas (o filas) donde vamos a escribir los datos que serán los argumentos de la función. En este caso, comenzando en la celda B3, escribimos las etiquetas

P0 K k t P (t)

2. A continuación escribimos los valores de los parámetros, comenzando en la celda B4

100 1000 0.08 0 P (t)

3. Ahora escribimos la fórmula de la función en la celda G4:

=C$4/(1+((C$4-B$4)/B$4)*EXP(-D$4*E4))

Como puede observarse, el único argumento variable es y nos interesa mantener a los otros argumentos constantes. Para mantener un valor (que se lea en una celda) constante, se le agrega el símbolo $ antes del número de fila, como por ejemplo C$4. En nuestro ejemplo, los argumentos constantes son los que están en las celdas B4, C4 y D4, mientras que el valor de en la celda E4, es variable.

Page 23: Metodos numericos

4. Finalmente, escribimos varios valores para en la columna E, seleccionamos la celda F4 y arrastramos para evaluar en el resto de valores de .

Figure. Evaluación con parámetros constantes y un parámetro con un incremento variable.

Nota: es la solución de la llamada ecuación logística

Construyendo rangos con un incremento fijo

A menudo necesitamos evaluar una función en una secuencia de valores igualmente espaciados, por lo que a continuación se explica cómo hacerlo, modificando el ejemplo previo de crecimiento de una población.

1. Podemos seleccionar la columna C para poner los valores fijos , , y el incremento . En este caso, por ejemplo, serviá como incremento entre un tiempo y el siguiente, iniciando con .

2. En la celda E4 escribimos el tiempo inicial y en la celda E5 se escribe el nuevo tiempo con el incremento :

=+E4+C$6

Page 24: Metodos numericos

Debemos usar C$6 para que el incremento se mantenga inalterado al copiar esta operación en otra fila celda situada en una fila diferente.

3. Ahora seleccionamos esta celda E5 y la arrastramos hacia abajo para obtener los nuevos tiempos con el respectivo incremento.

Figura. Evaluación con un parámetro de incremento fijo

Gráficas

Continuando con el ejemplo anterior en el que se ha evaluado la población en un conjunto de valores del tiempo , recordemos que en las columnas E y F se han escrito, respectivamente, los valores de y . Para graficar con respecto ha , podremos seguir los siguientes pasos:

1. Seleccionamos el rango en el cual se encuentran los valores de y . Este rango puede incluir las celdas que contienen los rótulos de las columnas.

2. Presionamos el icono , que activa el asistente para gráficos.

Hay varias opciones que podemos elegir para el gráfico y en nuestro caso podemos elegir el tipo Dispersión.

Page 25: Metodos numericos

Figura. Selección del tipo de gráfico.

3. Presionamos el botón y luego . Antes de finalizar se pueden escoger distintas opciones para personalizar el gráfico.

A continuación se muestra la salida del gráfico.

Figura. Curva obtenida para el modelo logístico de crecimiento de una población

La curva obtenida se llama curva logística o sigmoide, por la forma de `S' que tiene.

Page 26: Metodos numericos

Programación de Macros

El lenguaje Visual Basic para Aplicaciones (VBA), en el contexto de Excel, constituye una herramienta de programación que nos permite usar código Visual Basic para interactuar con las múltiples facetas de Excel y personalizar las aplicaciones que hagamos en esta hoja electrónica.

Las unidades de código VBA se llaman macros. Las macros pueden ser procedimientos de dos tipos:

- Funciones (Función)

- Subrutinas (Sub)).

Evaluación de funciones definidas por el usuario.

Una función tiene la siguiente sintaxis:

Function NombreFun (arg1, arg2,..., argn)

Declaración de Variables y constantes

Instrucción 1

Instrucción 2

...

Instrucción k

NombreFun = Valor de retorno.

End Function Una función puede que no tenga argumentos, pero es conveniente que retorne un valor. Observe que se debe usar el nombre de la función para especificar la salida: NombreFun = Valor de retorno Nota 1:

Al interior de las funciones, se pueden hacer comentarios utilizando (antes de éstos) la comilla (').

Nota 2: Para el uso de nombres de variables o de cualquier otra palabra reservada de VBA, no se discrimina entre el uso de letras mayúsculas y minúsculas.

Page 27: Metodos numericos

Ejemplo 1: implementar una función.

Vamos a implementar como una macro la función con la que se trabajó previamente:

Para su definición y utilización, se siguen los pasos:

1. Ingresamos al menú y en la opción Herramientas seleccionamos Macros. Luego se elige Editor de Visual Basic:

Figura. Primeros pasos para la definición de una macro.

2. Nuevamente, en el menú de la ventana que se abre, se elige Insertar, para luego seleccionar Módulo:

Figura. Se inserta un módulo en el que se escribirá el código de las macros.

Page 28: Metodos numericos

3. Ahora en la pantalla de edición del módulo, escribimos el siguiente código: 4. Function f(x) 5. f = 2 * x ^ 3 + Log(x) - Cos(x) / Exp(x) + Sin(x)

End Function

Figura. Escritura del código de una macro.

6. Una vez que ha sido editado el código del macro, se salva y salimos del ambiente de programación en Visual Basic para volver a la hoja electrónica de donde partimos. Esto se hace en el menú Archivo, seleccionando Cerrar y Volver a Excel.

7. Para evaluar la función en algunos valores que se localicen, por ejemplo, desde la fila 3 hasta la fila 6 de la columna B, nos situamos en una celda en la que nos interese dejar el resultado de dicha evaluación y se digita +f(B3). Luego se arrastra hasta C6 para copiar la fórmula, quedando:

Figura. Evaluación de una función definida por el usuario.

Page 29: Metodos numericos

Nota: Para conocer con detalle la sintaxis de las funciones matemáticas estándar que se pueden evaluar en Visual Basic, puede usarse la Ayuda del Editor de Visual Basic. Dicha sintaxis es un poco diferente a la que maneja Excel para las mismas funciones.

Ejemplo 2: lectura de parámetros en celdas

Una vez más vamos a trabajar con el modelo de crecimiento poblacional descrito anteriormente. La función

Con

Ahora evaluaremos para distintos valores del tiempo en días, pero esta vez haremos dicha evaluación mediante una macro para definir .

Los parámetros los vamos a leer desde unas celdas ubicadas en la columna C. Para hacer referencia a una celda, se usa el código

Cells (fila, columna) Pero escribiendo 'columna' en formato numérico. Por ejemplo, la celda C5 se invoca como Cells (5,3)

Lo primero que hacemos es escribir, en el editor de VBA, la fórmula de , luego la invocamos en la celda F3 (de nuestra hoja de ejemplo) y arrastramos. Para esto, se siguen los siguientes pasos:

1. En primer lugar, abrimos una hoja Excel, que se llame por ejemplo Poblacion.xls. Luego se escriben los valores de los parámetros, tal y como puede observarse en la siguiente figura:

Page 30: Metodos numericos

Figura. Ubicación inicial de los parámetros.

2. Ahora ingresamos al menú y en la opción Herramientas seleccionamos Macros. Luego se elige Editor de Visual Basic.

Nuevamente, en el menú de la ventana que se abre, se elige Insertar, para luego seleccionar Módulo y escribir el siguiente código:

Function P (t) P0 = Cells (2, 3) 'P0 está en la celda C2 LimPobl = Cells (4, 3) 'K está en la celda C4, K y k son indistinguibles k = Cells (5, 3) 'k está en la celda C5 A = (LimPobl - P0) / P0 P = LimPobl / (1 + A * Exp (-k * t)) End Function

De esta forma, la ventana de edición de Visual Basic, quedaría así:

Page 31: Metodos numericos

Figura. Captura de algunos parámetros constantes de las celdas de la hoja.

3. Una vez que ha sido editado el código de la macro, se guarda y salimos del ambiente de programación en Visual Basic para volver a la hoja electrónica de donde partimos. Este retorno se hace siguiendo el menú Archivo y seleccionando Cerrar y Volver a Excel.

4. Para evaluar la función en los valores de que están en la fila que inicia en F2, nos situamos en la celda F3 y se digita +P (F2). Luego se arrastra hasta J2 para copiar la fórmula, quedando:

Figura. Resultado final al evaluar la macro del modelo poblacional.

Creando un graficador sencillo

En estas secciones se mostrará cómo hacer uso de cuadros de controles para regular el valor de algunos parámetros que típicamente intervienen en las funciones. Por ejemplo, en la función lineal intervienen los parámetros de pendiente de la recta y la intersección con el eje vertical, por lo que es interesante disponer de un graficador en el que el usuario pueda, de una forma gráfica, manipular dichos parámetros arrastrando el control y ver el efecto inmediato que se produce en la recta.

Graficación de una función lineal.

Para comenzar, en un archivo, llamado por ejemplo Graficador.xls. Como siempre, es importante escribir alguna información relacionada con la aplicación, tal y como aparece en la figura.

Page 32: Metodos numericos

Para evaluar la función lineal en los extremos del intervalo, aunque es elemental, se puede recurrir a una macro que, aparte de la variable independiente , también dependa de los parámetros y . Por supuesto que ésta no es la única forma de hacerlo ni la más sencilla, pero sirve de base para otras funciones más complicadas. A continuación se presenta la macro correspondiente: Function FLineal (m, b, x) FLineal = m * x + b End Function

El libro Excel que estamos iniciando nos servirá para varios tipos de funciones y una forma de organizarlas es trabajando en cada hoja electrónica un solo tipo de funciones. De esta forma, podemos cambiar el nombre de la primera hoja pulsando doble clic en la cejilla inferior de la hoja, escribiendo el nombre Funciones Lineales en lugar de Hoja1.

En la columna D, filas 24 y 26 escribimos, respectivamente, la pendiente de la recta y la intersección con el eje vertical. Como es bien sabido, con dos puntos es suficiente para graficar la recta, por lo que en la tabla de valores a graficar, es

suficiente formar dos puntos , donde los valores se toman de los

extremos del intervalo de graficación y el valor de la fórmula . Los pasos restantes para la graficación son los mismos descritos en secciones anteriores. Una forma de hacer variar los dos parámetros de la función lineal es escribiendo manualmente nuevos valores y ver cómo esta variación se refleja en la gráfica. Otra forma es usando BARRAS DE DESPLAZAMIENTO (scrollbars). Esta forma de hacerlo es más gráfica e interactiva, pues se puede notar el cambio en las rectas casi en tiempo real a medida que el usuario mueve alguna de las barras de desplazamiento correspondiente a la pendiente de la recta o a la intersección con el eje vertical.

- Si el cuadro de controles no está a la vista, podemos ir al Menú y en Ver, seleccionamos Barras de Herramientas y una vez hecho ésto, seleccionamos Cuadro de controles.

- Ahora elegimos en el cuadro de controles una barra de desplazamiento para manejar la pendiente de la recta y otra para el intercepto con el eje vertical. La ubicación y tamaño de estas barras pueden ser fácilmente cambiadas para ajustarlo a nuestros gustos.

Page 33: Metodos numericos

-

Antes de continuar tenemos que asegurarnos de estar en el modo diseño, para lo cual, debe estar presionado el icono includegraphics [width=0.75cm, height=0.5cm] IconoModoDiseno.eps.

- Dando clic con el botón derecho del Mouse sobre la barra correspondiente a la pendiente de la recta, seleccionamos Propiedades y se abre una pantalla con algunas especificaciones para esta barra. Podemos cambiar algunas de las propiedades a nuestra conveniencia, empezando por el nombre de la barra, que se puede renombrar como ''Pendiente", en lugar de ''Scrollbar1". También se puede cambiar el color de la barra, el máximo y el mínimo valor que le permitimos tomar a este parámetro, y otros cambios que sirvan para personalizarlo.

Nótese que una de las propiedades es SmallChange, que mide la cantidad mínima de cambio del parámetro y cuyo valor por defecto es 1, y puede cambiarse a algún entero mayor que uno, pero no admite decimales. Esta constituye una limitación que tiene el uso de barras, pero para efectos didácticos y dentro del plano de la intuición geométrica, es posible que sea suficiente saltos de una unidad de una pendiente a otra. No obstante el poco efecto que pueda tener esta limitación, es importante que el usuario que está utilizando el graficador para aprender o mostrar conceptos sobre funciones lineales, sea consciente de que la pendiente de una recta no solamente admite valores enteros.

Figura. Personalización de las propiedades de una barra de desplazamiento.

Page 34: Metodos numericos

Ahora presionamos doble clic sobre la barra de desplazamiento y ésto nos lleva a la programación en Visual Basic para programar una subrutina que asocie los cambios que ocurren en la barra con cambios en la pendiente de la recta que, como se recordará, está en la celda D24. Debe escribirse el siguiente código: Private Sub Pendiente_Change () Sheets ("Funciones Lineales").Range ("D24") = Str (Pendiente.Value) End Sub

Para asociar la otra barra de desplazamiento al parámetro de intersección con el eje vertical se procede de manera análoga a la forma en que se manejó la pendiente. Suponiendo que a esta barra le hayamos puesto el nombre de Intersección, la subrutina correspondiente sería: Private Sub Intersecc_Change () Sheets ("Funciones Lineales").Range ("D26") = Str (Intersecc.Value) End Sub

En la figura se observa la forma en que queda la gráfica con las barras de desplazamiento.

Page 35: Metodos numericos

Figura. Gráfica de una función lineal usando barras de desplazamiento.

Para que pueda notarse un poco más el cambio de pendiente que se produce con la barra de la pendiente, le damos doble clic a los valores del eje vertical y en la parte de Escala le inhabilitamos el ajuste automático del mínimo y el máximo valor para este eje. Así se evita que con el cambio de pendiente, se ajuste la escala en el eje Y, de acuerdo con el tamaño de las imágenes de la función en los extremos del intervalo.

Graficación de una función cuadrática

Vamos a realizar esta aplicación en una nueva hoja electrónica dentro del mismo libro Excel, nombrando a esta hoja Funciones Cuadráticas. En este caso necesitamos definir tres barras de desplazamiento; una para manipular el valor del parámetro , otra para el y otra para el . A continuación se presentan, en forma resumida, los pasos para la graficación de la parábola.

Tal y como se hizo con las barras de desplazamiento de la sección precedente, cambiamos el nombre de cada una de las tres barras por nombres más significativos para esta aplicación, como , y .

Además, definimos un macro, que puede llamarse que nos permita evaluar la función cuadrática, de la siguiente forma: Function FCuadr (a, b, c, x) FCuadr = a * x ^ 2 + b * x + c End Function

- También se asocia el valor presente en la barra de desplazamiento con su correspondiente valor ( , o ) al que representa:

Private Sub a_Change ()

Sheets ("Funciones Cuadráticas").Range ("D24") = Str (a. Value)

End Sub

Private Sub b_Change () Sheets ("Funciones Cuadráticas").Range ("D25") = Str (b.Value) End Sub

Page 36: Metodos numericos

Private Sub c_Change () Sheets ("Funciones Cuadráticas").Range ("D26") = Str (c.Value) End Sub

Tal y como se sugirió en la graficación de funciones lineales, si se quiere visualizar el movimiento de la parábola resultante de la variación de los coeficientes, es conveniente inactivar el reconocimiento automático del máximo y mínimo en el eje vertical de la gráfica.

En la gráfica siguiente se muestra la forma en que queda la aplicación.

Figura. Graficación de una función cuadrática usando barras de desplazamiento.

Graficación de funciones (continuas) definidas a trozos

Para definir una función a trozos, suele ser útil una función escalón unitario, de parámetro , definida como:

Page 37: Metodos numericos

Estas funciones pueden definirse como una macro que dependa de dos variables, el parámetro y la variable .

La siguiente función definida a trozos:

Se puede definir como una combinación de varias funciones en la que interviene la función salto unitario:

Donde:

Usando macros, se define: Function U(a, t) If t > a Then U = 1 Else U = 0 End If End Function Function F(x) F = Sin (3.14159265358 * x) End Function Function G(x) G = 2 * x - 6 End Function Function H(x) H = F(x) + U (3, x) * (G(x) - F(x)) End Function

Page 38: Metodos numericos

Al graficar esta función en el intervalo , se obtiene:

Figura. Graficación de una función definida a trozos.

Elementos de programación en VBA.

Un programa computacional escrito mediante cualquier lenguaje de programación puede verse a grandes rasgos como un flujo de datos, algunos jugando el papel de datos de entrada, otros son datos que cumplen alguna función temporal dentro del programa y otros son datos de salida. A lo largo del programa es muy frecuente que sea necesaria la entrada en acción de otros programas o procesos. A mayor complejidad del problema que resuelve el programa, mayor es la necesidad de programar por aparte algunos segmentos de instrucciones que se especializan en una tarea o conjunto de tareas.

Hay tres tipos de estructuras básicas que son muy utilizadas en la programación de un algoritmo, a saber, la estructura secuencial, la estructura condicional y la repetitiva.

A continuación se explica, con ejemplos programados como macros de Excel, estas estructuras. También se incluyen los programas en seudocódigo y diagramas de flujo para explicar de un modo más gráfico la lógica del programa. El uso de estos últimos es cada vez menor, pues el seudocódigo por lo general es suficientemente claro y se escribe en lenguaje muy cercano al lenguaje natural.

Flujo Secuencial

El flujo secuencial consiste en seguir una secuencia de pasos que siguen un orden predeterminado. Por ejemplo, un programa que a partir de un número N de días,

Page 39: Metodos numericos

calcula la cantidad de segundos que hay en esta cantidad de días. Este programa se puede ver como una secuencia de varios pasos:

• Inicio: Ingresa el número N de días • Paso 1: H = 24*N, para determinar la cantidad de horas • Paso 2: M = 60*H, para determinar la cantidad de minutos. • Paso 3: S = 60*M, para determinar la cantidad de segundos. • Paso 4: Retorne S. • Fin.

La macro correspondiente a esta secuencia de cálculos puede escribirse como sigue:

Function CalculeSegundos (Días) CantHoras = 24 * Días CantMinutos = 60 * CantHoras CalculeSegundos = 60 * CantMinutos End Function

Figura. Flujo secuencial

Page 40: Metodos numericos

Flujo condicional

Un flujo condicional se presenta en un programa o procedimiento que debe escoger una acción o proceso a ejecutar, dependiendo de condiciones que puedan cumplirse.

El caso más sencillo ocurre cuando el programa chequea si una condición se cumple y en caso de ser verdadera ejecuta un proceso, en tanto que si es falsa ejecuta otro proceso.

En VBA tenemos la instrucción

If...Then...Else

Ejecuta condicionalmente un grupo de instrucciones, dependiendo del valor de una expresión.

Sintaxis

If condición Then

[Instrucciones]

[Else instrucciones-else]

Puede utilizar la siguiente sintaxis en formato de bloque:

If condición Then [instrucciones]

ElseIf condición Then [instrucciones-elseif] ...

[Else [instrucciones-else]]

End If

En el siguiente ejemplo, veremos cómo usar la instrucción If...Then...Else

Ejemplo: Obtener un programa que calcule aproximaciones de , sabiendo

que la sucesión converge a , definida en forma recurrente mediante la relación:

Page 41: Metodos numericos

El programa deberá estimar el error absoluto de las aproximaciones y será capaz de escribir un mensaje de éxito o de fracaso, dependiendo de si el error absoluto es o no menor que una tolerancia dada.

Figura. Resultado de la aproximación de .

Para los resultados que aparecen en la gráfica anterior pueden programarse las siguiente macros para ser evaluadas en cada columna:

Function AproxDeRaiz(x) AproxDeRaiz = (1 / 2) * (x + 2 / x) End Function Function CalculoElError (Aproximacion, ValorExacto) CalculoElError = Abs (Aproximacion - ValorExacto) End Function Function verificaTol (Error, Tol) If (Error < Tol) Then VerificaTol = "EXITO" Else VerificaTol = "FRACASO" End If End Function

Page 42: Metodos numericos

El diagrama siguiente ilustra la forma en que esta última función de verificación actúa con base en el valor de sus dos parámetros de entrada:

Figura. Diagrama de flujo condicional para verificar si se alcanzó la tolerancia.

Flujo repetitivo

El flujo repetitivo se presenta en un algoritmo cuando se requiere la ejecución de un proceso o parte de un proceso sucesivamente, hasta que ocurra una condición que permita terminar.

Este tipo de flujos repetitivos se presentan en tres formas que obedecen a maneras diferentes de razonarlos pero que en el fondo hacen lo mismo:

• Utilizar un contador que empiece en un número y termine en otro, ejecutando el proceso cada vez que el contador tome un valor distinto.

• Mientras una condición sea verdadera, ejecutar un proceso y regresar a la condición.

• Ejecutar un proceso, hasta que una condición deje de cumplirse.

En VBA tenemos las siguientes instrucciones para realizar procesos iterativos:

1. For ... Next

Repite un grupo de instrucciones un número especificado de veces.

Sintaxis

For contador = principio To fin [Step incremento]

Page 43: Metodos numericos

[Instrucciones]

[Exit For]

[Instrucciones]

Next (contador)

2. While...Wend

Ejecuta una serie de instrucciones mientras una condición dada sea True.

Sintaxis

While condición

[Instrucciones]

Wend

Para ilustrar estas formas de realizar un flujo repetitivo, vamos a resolver el siguiente problema de aproximación numérica mediante las primeras dos formas.

El problema consiste en que, dada una tolerancia TOL (donde es una cantidad positiva, como , , etc.), realizar la suma:

con una cantidad de términos lo suficientemente grande para que

La cantidad juega en este problema el papel de una cota del error, al aproximar la serie correspondiente hasta el término N-ésimo3.

1. Primera solución:

Dado que hay que sumar hasta el término N-ésimo tal que , en este caso es posible despejar el entero positivo , quedando:

Page 44: Metodos numericos

Tomamos como la parte entera superior de , por lo que se calcula:

Los pasos a seguir para programar la suma a partir de la tolerancia dada, son los siguientes:

o Inicio: Ingresa la tolerancia con que se hará la aproximación.

o Paso 1: Calcular o Paso 2: Acum = 0 (Se iniciliza el acumulador para la suma). o Paso 3: Para k = 1 ...N:

Acum = Acum +

o Paso 4: Retorne Acum. o Fin.

Observe que en cada sumando, se incluye el factor , que en la práctica, más que una potencia, lo que indica es el cambio de signo en los términos sucesivos. Para evitarle al programa cálculos innecesarios,

podemos inicializar una variable en y en cada paso de la instrucción repetitiva se cambia al signo contrario. La macro correspondiente a este programa puede escribirse como sigue:

Function Suma Parcial (Tol) Acum = 0 signo = -1 N = Int (1 / Sqr (Tol))

Page 45: Metodos numericos

For k = 1 To N Acum = Acum + signo * 1 / k ^ 2 Signo = -signo Next k Suma Parcial = Acum End Function

Figura. Diagrama de flujo correspondiente a la primera solución

La siguiente figura muestra la evaluación de esta macro para algunos valores de la tole-rancia.

Page 46: Metodos numericos

Figura. Resultados calculados mediante la primera solución.

1. Segunda solución:

En esta solución no es necesario calcular el valor de , sino que se suman los términos mientras no se haya alcanzado la tolerancia. El programa en seudocódigo se puede escribir como sigue:

o Inicio: Ingresa la tolerancia con que se hará la aproximación. o Paso 1: Iniciar con . o Paso 2: Acum = -1 (Se iniciliza el acumulador para la suma con el

primer término).

o Paso 3: Mientras :

Acum = Acum +

o Paso 4: Retorne Acum. o Fin.

Page 47: Metodos numericos

Figura. Diagrama de flujo correspondiente a la segunda solución.

Function Suma Parcial 2(Tol) N = 1 Acum = -1 signo = 1 While (1 / (N + 1) ^ 2 > Tol)

N = N + 1 Acum = Acum + signo * 1 / N ^ 2 Signo = -signo Wend SumaParcial2 = Acum End Function

Un programa un poco más complejo

Al calcular el promedio de notas obtenidas en evaluaciones cortas que se hacen a los estudiantes es muy frecuente que se haga el cálculo eliminando la nota más baja e inclusive hay casos en que se eliminan las dos notas más bajas. El primer caso es bastante sencillo de programar que el segundo. Este caso es el que resuelve el siguiente programa.

Page 48: Metodos numericos

A partir de las notas que han sido digitadas en un rango R de una fila que ha sido seleccionado con el Mouse, la función PromedioQ calcula el promedio de notas, excluyendo las dos más bajas.

Function PromedioQ(R As Range) As Double Dim n, i, Imin1, Imin2 As Integer n = R.EntireColumn.Count ReDim RA(1 To 1, 1 To n) As Double For i = 1 To n RA (1, i) = R (1, i) Next i For Each x In R Suma = Suma + x Next x Imin1 = 1 For i = 1 To n If RA (1, i) < RA (1, Imin1) Then Imin1 = i End If Next i Imin2 = 1 If Imin1 = 1 Then Imin2 = 2 End If For i = 1 To n If (RA (1, i) < RA (1, Imin2)) And (i <> Imin1) Then Imin2 = i End If Next i PromedioQ = (Suma - RA (1, Imin1) - RA (1, Imin2)) / (n - 2) End Function

En la siguiente figura se muestra una situación hipotética de cinco notas para los estudiantes Pedro Pérez, Ana Pereira y Victoria Sing. La macro PromedioQ se ha evaluado en las celdas H4, H5 y H6, tomando los rangos C4:G4, C5:G5 y C6:G6, como parámetros de esta macro.

Page 49: Metodos numericos

Figura. Promedio de notas, eliminando las dos más bajas.

Subrutinas

Las subrutinas o procedimientos es otro de los tipos básicos de programas en Visual Basic. Una descripción de la sintaxis de una subrutina que no es completa, pero sí suficiente para los alcances de este material es la siguiente:

Sintaxis

Private Public] [Static] Sub Nombre-de-Subrutina [(lista-argumentos)]

[Instrucciones]

[Exit Sub]

[Instrucciones]

End Sub

Los corchetes que encierran algunas partes, indican que son opcionales. Además:

Public Es opcional. Indica que la subrutina puede ser llamada por todas las demás subrutinas sin importar el módulo en que se encuentre.

Private Es opcional. Indica que la subrutina puede ser llamada solamente por otras subrutinas que se encuentren en el mismo módulo.

Static Es opcional. Indica que las variables locales de la subrutina se mantienen constantes de una llamada a otra. El ámbito de acción de esta declaración no incluye a variables declaradas fuera de la subrutina.

Page 50: Metodos numericos

Nombre-De-Subrutina Es requerido. Indica el nombre de la subrutina.

lista-argumentos Es opcional e indica las variables que conforman los argumentos con que una subrutina es llamada. Para separar una variable de otra se escribe una coma.

Instrucciones Es opcional y conforma el conjunto de instrucciones que son ejecutadas a lo largo de la subrutina.

La siguiente subrutina calcula el centro de gravedad de un conjunto o nube de puntos, cada uno con un peso relativo respecto a los demás. Esta subrutina actúa

sobre un rango de tres columnas en el que se han escrito las coordenadas de dichos puntos, así como sus pesos. Puede correrse el programa una vez que se ha seleccionado el rango completo en que se ubican los puntos y sus pesos.

Para correrlo, se pulsa el icono desde el editor de Visual Basic. A continuación aparece el código del programa.

Sub CentroDeGravedad () Dim R As Range Dim n, i As Integer Dim x (1 To 100) As String Dim y (1 To 100) As String Dim p (1 To 100) As String Dim Sumapesos, Gx, Gy As Double 'En el rango R guardamos el rango seleccionado: Set R = Selection n = R.Rows.Count If (n > 100) Then MsgBox ("Ha sobrepasado la cantidad de 100 datos permitida") Exit Sub End If Sumapesos = 0 Gx = 0 Gy = 0 For i = 1 To n X (i) = R (i, 1) y (i) = R (i, 2) P (i) = R (i, 3)

Page 51: Metodos numericos

Sumapesos = Sumapesos + p (i) Gx = Gx + x (i) * p (i) Gy = Gy + y (i) * p (i) Next i Gx = Gx / Sumapesos Gy = Gy / Sumapesos Cells (3, 4) = Gx Cells (3, 5) = Gy End Sub

En la figura puede observarse la aplicación del programa a un conjunto de 11 puntos del plano:

Figura. Centro de gravedad de una nube de puntos.

Ejecución de un programa mediante un botón

Otra posibilidad bastante práctica para ejecutar un programa o subrutina como el presentado en la sección precedente es mediante un botón de comando.

Para formarlo, se inserta en la hoja un botón de comando tomado de la barra de herramientas correspondiente a Cuadro de controles.

Para asociarle al botón la macro encargada de calcular el centro de gravedad del conjunto de puntos, un doble clic izquierdo nos lleva al código de ejecución para este botón. Lo que hacemos es invocar la subrutina CentroDeGravedad, tal y como se indica a continuación:

Page 52: Metodos numericos

Private Sub CommandButton1_Click () CentroDeGravedad End Sub

Para personalizar algunas propiedades del botón, tales como el color de fondo, el color de la letra y otras, seleccionamos con el click derecho Propiedades y una vez que estemos en esta pantalla, hacemos los cambios de apariencia que consideremos importantes.

A continuación se presenta la forma en que queda la misma aplicación del cálculo del centro de gravedad, una vez que hayamos incluido el botón de comando que dispara este procedimiento:

Figura. Centro de gravedad de una nube de puntos calculado desde un botón de comando.

Inclusión de procedimientos de borrado

En ocasiones es necesario borrar alguna información que ha sido escrita en una hoja electrónica, por lo que es importante conocer una forma de incorporarle a la aplicación un procedimiento de borrado.

Como ejemplo de una forma en que se puede hacer ésto, presentamos a continuación un programa que, a partir de un número construye el triángulo de

Page 53: Metodos numericos

Pascal de N niveles. También se incluye un programa que funciona como borrador o destructor del triángulo.

En cada nivel del triángulo hay un uno en los extremos y, a partir del tercer nivel, cada número, salvo los extremos, es la suma de los dos de arriba. Concretamente, el triángulo de Pascal es un arreglo triangular de números de la forma:

Figura. Triángulo de Pascal.

Por simplicidad, presentamos un programa que lee el número de niveles del triángulo de Pascal en la celda E1 y lo despliega de la forma:

1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 ...

El procedimiento para borrar el triángulo también lee el número de niveles del triángulo de la celda E1.

Tanto la construcción del triángulo como su destrucción pueden ser activados mediante botones. Las instrucciones que realizan estos procedimientos también pueden ser incluidas directamente en el código de los botones, tal y como se detalla a continuación.

El código para la construcción del triángulo quedaría así:

Page 54: Metodos numericos

Private Sub EjecucionDePascal_Click () ‘Lectura de la cantidad de niveles: N = Cells (1,5) ‘Llenar unos: For i = 1 To N Cells (i, 1) = 1 Cells (i, i) = 1 Next i ‘Llenar el resto: If N > 2 Then For i=3 To N For j=2 To i-1 Cells (i, j) = Cells (i-1, j) + Cells (i-1, j-1) Next j Next i End If End Sub

El procedimiento para borrar el triángulo también lee el número de niveles y hace el mismo recorrido de celdas que hizo el constructor y en cada celda escribe un valor nulo.

Private Sub Borrador_Click () N = Cells (1, 5).Value For i = 1 To N For j = 1 To i Cells (i, j).Value = Null Next j Next i End Sub

Page 55: Metodos numericos

Figura. Triángulo de Pascal construido con 10 niveles.

Programación de Métodos Numéricos

En esta sección presentamos una forma de aprovechar la hoja electrónica Excel, junto con los macros, como ambiente de programación para métodos numéricos. Ante la relevancia que ha cobrado esta materia en los planes de estudio de las Ingenierías y, debido a que constituyen formas concretas de materializar o aproximar muchos de los cálculos que enseñamos en las universidades, hemos considerado muy oportuno dedicar una parte de este documento a los métodos numéricos.

La experiencia en los laboratorios de computadoras al enseñar esta disciplina nos ha indicado que es más probable tener el Excel funcionando adecuadamente en todas o la mayoría de las computadoras, que cualquier otro software especializado y con una licencia que permite sólo una cantidad limitada de usuarios. Por otro lado, el estudiante de métodos numéricos no necesita instalar un software adicional en su casa o lugar de trabajo para programar las tareas y prácticas que le han sido encomendadas.

Solución de ecuaciones de una variable

El algoritmo de bisección es uno de los algoritmos más sencillos, aunque no el

más eficiente, para calcular aproximaciones de raíces de una función , en un

intervalo en el que es continua, sabiendo que dicha función tiene signos

opuestos en los extremos del intervalo ( ).

Page 56: Metodos numericos

Se sabe con certeza que existe un en que cumple , por lo que

con toda seguridad, la ecuación tiene al menos una solución en el

intervalo .

El método consiste en lo siguiente:

Calculamos el punto medio del intervalo . Luego, calculamos . En

caso de que sea igual a cero, ya hemos encontrado la raíz buscada. En caso de que no lo sea, verificamos si tiene signo opuesto con o con

. Se redefine el intervalo como o según se haya determinado en cuál de estos intervalos ocurre un cambio de signo. Con este nuevo intervalo se continúa sucesivamente encerrando la solución en un intervalo cada vez más pequeño, hasta alcanzar la precisión deseada. En la siguiente gráfica se ilustra el procedimiento descrito.

Figura. Método de bisección.

Page 57: Metodos numericos

En la primera iteración del algoritmo de bisección, es claro que la raíz se halla a

una distancia del punto medio menor o igual que , pues con toda seguridad se

encuentra en alguno de los dos intervalos de tamaño , separados por el punto medio del intervalo . En la segunda iteración, el nuevo intervalo mide

y de nuevo la distancia entre el nuevo punto medio y es menor o igual que

. Se forman así tres sucesiones de valores , y , y puede mostrarse fácilmente por inducción que en la n-ésima iteración, al

aproximar con se tiene que

De esta forma, si queremos estimar el número de iteraciones necesarias para que, al aproximar la solución de la ecuación mediante el punto medio, el error de aproximación sea menor que un parámetro , de la desigualdad anterior se concluye que deben hacerse al menos .

Por ejemplo, al aplicar el algoritmo de bisección a una función en el intervalo

, si queremos que el error de aproximación sea menor o igual que , el número de iteraciones debe cumplir

, por lo que deben realizarse al menos 16 iteraciones.

Algoritmo

Entrada: Una función continua definida en un intervalo , con

y de signos opuestos. Parámetros:

= Nivel de precisión respecto a la solución exacta. .

Inicio .

Defina

Page 58: Metodos numericos

.

Defina .

Mientras : .

Defina . .

Si . Salida: . . Parar . Si redefina . De otra forma, redefina . . Recalcule .

. Salida: .

. Parar.

Vamos a ilustrar la forma en que se puede implementar en Excel el algoritmo de bisección con la función en el intervalo .

En la figura se ilustra la gráfica de en dicho intervalo. Al ser una función

continua en , el algoritmo de bisección es aplicable ya que tiene signo opuesto en los extremos del intervalo.

Page 59: Metodos numericos

Figure 31: Gráfica de en el intervalo .

Iniciamos entonces la definición de la función

Function f(x)

f = Exp (2*x) + x -3 End Function

Donde las celdas A2 y C2 contienen los valores y del intervalo con que arranca el método. La celda B2 contiene el punto medio del intervalo, por lo que el valor que le damos a esta celda es + (A2+C2)/2. Este valor servirá como aproximación de una raíz de la ecuación . Debido a ésto, la distancia

entre la solución exacta y la aproximación es menor o igual que . Así, en la celda G2 se ha calculado el error de aproximación siguiendo la fórmula

+ (C2-A2)/2.

En las celdas D2, E2 y F2 se encuentran, respectivamente, los valores

, y , calculados como +f (A2), +f (B2) y +f(C2). El momento clave del algoritmo de bisección ocurre en el siguiente paso, al decidir el nuevo intervalo

, escribiendo en las celdas A3 y C3 las operaciones de decisión:

En la celda A3: +SI (D2*E2<0, B2, A2)

En la celda C3: +SI (E2*F2<0, C2, B2)

Ahora se copian los cálculos de la fila 2 que faltan en la fila 3. Finalmente se copia la fila 3 hacia abajo tantas veces como sea necesario hasta lograr la precisión que se quiera.

A B C D E F G

1 a m b f(a) f(m) f(b) 2 -2 -0.5 1 -4.981684361 -3.13212 5.38906 1.50000 3 -0.5 0.25 1 -3.132120559 -1.10128 5.38906 0.75000 4 0.25 0.625 1 -1.101278729 1.11534 5.38906 0.37500 5 0.25 0.4375 0.625 -1.101278729 -0.16362 1.11534 0.18750 6 0.4375 0.53125 0.625 -0.163624706 0.42485 1.11534 0.09375 7 0.4375 0.484375 0.53125 -0.163624706 0.11902 0.42485 0.04688 8 0.4375 0.4609375 0.484375 -0.163624706 -0.02506 0.11902 0.02344 9 0.4609375 0.47265625 0.484375 -0.025062777 0.04627 0.11902 0.01172 10 0.4609375 0.466796875 0.47265625 -0.025062777 0.01043 0.04627 0.00586

Page 60: Metodos numericos

11 0.4609375 0.463867188 0.466796875 -0.025062777 -0.00736 0.01043 0.00293 12 0.463867188 0.465332031 0.466796875 -0.007359382 0.00152 0.01043 0.00146 13 0.463867188 0.464599609 0.465332031 -0.007359382 -0.00292 0.00152 0.00073 14 0.464599609 0.46496582 0.465332031 -0.002919988 -0.00070 0.00152 0.00037 15 0.46496582 0.465148926 0.465332031 -0.000698254 0.00041 0.00152 0.00018 16 0.46496582 0.465057373 0.465148926 -0.000698254 -0.00014 0.00041 0.00009 17 0.465057373 0.465103149 0.465148926 -0.000142608 0.00014 0.00041 0.00005

Cabe notar que en la fila 17 de la hoja se encuentra la interacción número 16 y

que una aprox.- mación para la solución de es . Al tener un error estimado de tenemos la seguridad de que esta

estimación de la raíz de tiene 4 decimales de precisión.

Integración Aproximada

Existen varios métodos alternativos para calcular en forma aproximada la integral

definida de una función :

Cuando en todo el intervalo , la integral definida se puede interpretar geométricamente como el área bajo la curva.

Con el fin de mostrar la forma en que se puede aprovechar el Excel para programar los distintos métodos, presentamos dos de éstos: La regla del trapecio y la regla de Simpson.

REGLA DEL TRAPECIO Este primer método se basa en la fórmula para calcular

el área de un trapecio. Si es una función continua en , al unir los puntos extremos de la gráfica mediante un segmento de recta, se forma un trapecio que, en caso de que la función sea no negativa en el intervalo, su área sirve como una primera aproximación para el área bajo la curva.

Figura. El área del trapecio aproxima al área bajo la curva.

Page 61: Metodos numericos

Así:

Dada una partición del intervalo en subintervalos de tamaño

, al aplicar la regla del trapecio en cada uno de dichos subintervalos, se obtiene la Regla del Trapecio Compuesta:

A manera de ejemplo, un programa Excel para calcular la integral

Se puede obtener mediante las siguientes macros:

Function f(x As Double) As Double

f = x + Log(x) End Function Function Trapecio (a As Double, b As Double, n As Double) As Double Dim h As Double Dim Suma As Double Dim i As Long h = (b - a) / n Suma = 0 For i = 1 To n - 1 Suma = Suma + f (a + i * h) Next i Trapecio = (h / 2) * (f(a) + 2 * Suma + f(b)) End Function

Tras aplicar la regla del trapecio compuesta para distintos valores de , se obtiene la siguiente tabla de aproximaciones de la integral:

Page 62: Metodos numericos

Figura. Resultados de la regla del trapecio compuesta.

Regla de Simpson

Para este método se divide el intervalo en dos sub.-intervalos del mismo tamaño . Luego se calcula la integral definida al polinomio de grado menor o igual que 2 que pasa por los tres puntos7 , y

, donde , y es el punto medio entre y , para obtener la fórmula de aproximación:

Con

Figura. Regla de Simpson simple.

Page 63: Metodos numericos

Si dividimos el intervalo en un número par de subintervalos de tamaño

y aplicando la regla de Simpson a cada dos subintervalos,

, , , , se obtiene la regla de Simpson compuesta:

A continuación se presenta la implementación de la regla de Simpson para una

función que también ha sido definida como una macro:

Function Simpson(a As Double, b As Double, n As Long) As Double Dim h As Double Dim SumaI As Double Dim SumaP As Double Dim i As Long If (n Mod 2 > 0) Then Msgbox "La cantidad de subintervalos debe ser par" Exit Function End If h = (b - a) / n SumaP = 0 SumaI = 0 For i = 1 To n - 1 Step 2 ' i aumenta de 2 en 2 SumaI = SumaI + f(a + (i + 1) * h) Next i For i = 2 To n - 2 Step 2 SumaP = SumaP + f(a + i * h) Next i Simpson = (h / 3) * (f(a) + 4 * SumaI + 2 * SumaP + f(b)) End Function

Una vez que se ha corrido con distintos valores de para la función en el intervalo , se obtiene la tabla de aproximaciones:

Page 64: Metodos numericos

Figura. Resultados de la regla de Simpson compuesta.

111...333... CCCooonnnccceeeppptttooosss bbbááásssiiicccooosss

Errores Los errores numéricos se generan con el uso de aproximaciones para representar cantidades y/o operaciones. Esto da lugar a dos tipos de errores: Truncamiento Errores

Redondeo Los errores de truncamiento, resultan de representar aproximadamente un procedimiento matemático exacto. Por ejemplo, en la solución numérica al problema del objeto en caída libre, usamos una aproximación al proceso de derivación, el cual es un procedimiento matemático exacto.

Esto genera errores de truncamiento durante el procedimiento. Los errores de redondeo resultan de representar aproximadamente números que son exactos. Por ejemplo, aún en la "solución exacta" al problema del objeto en

Page 65: Metodos numericos

caída libre, los resultados impresos en la tabla de velocidades no son totalmente exactos puesto que el numero e es un número irracional y por lo tanto su extensión decimal es infinita y no periódica lo que nos impide escribirlo de forma completamente exacta. Usando 5 decimales, tenemos:

Esto genera errores de redondeo durante los cálculos. En ambos casos tenemos que: Valor verdadero = valor aproximado + error Definición. Definimos el error absoluto como:

= valor verdadero - valor aproximado Esta definición de error tiene un pequeño defecto, como veremos en el siguiente: Ejemplo Al medir la longitud de una varilla para construcción se obtiene el resultado aproximado de 19,999 cms. mientras que al medir la longitud de un clavo, se obtiene el resultado de 9 cms. Suponiendo que los valores verdaderos de la varilla y el clavo son de 20,000 cms. y 10 cms. respectivamente, calcular el error absoluto en ambos casos. Solución. Tenemos los siguientes resultados: Para el caso de la varilla, el error absoluto se calcula como:

Para el caso del clavo, el error absoluto se calcula como:

En ambos casos, el error absoluto es igual!, pero obviamente tiene mayor trascendencia el error en el caso del clavo que en el caso de la varilla, es decir, necesitamos comparar el error absoluto contra el valor verdadero y esto da lugar a las siguiente definición. Existen dos preguntas en cálculos numéricos de suma importancia como son: 1) El optimista pregunta ¿qué tan precisos son los resultados calculados?; 2) El pesimista pregunta ¿qué tanto error se ha introducido? Desde luego, las dos preguntas corresponden a lo mismo. Sólo en raras ocasiones los datos proporcionados serán correctos, puesto que suelen originarse errores en el proceso de medida. De modo que hay un error probable en la información de entrada. Además, el propio algoritmo introduce error, quizá

Page 66: Metodos numericos

redondeos inevitables. La información de salida contendrá entonces error generado por ambas fuentes. Dígitos Significativos: Son aquellos números diferentes de cero, en una cifra o guarismo, leyendo de izquierda a derecha; empiezan con el primer dígito diferente de cero y terminan con el tamaño que permitan las celdas que guardan la mantisa. Exactitud: Se refiere a la cercanía de un número o de una medida al valor verdadero que se supone representa. Precisión: Se refiere al número de cifras significativas que representan una cantidad, a esto se refiere cuando se habla de doble precisión, dependiendo de la máquina que estemos utilizando. Errores Inherentes o Heredados: Son errores en los valores numéricos con que se va a operar, pueden deberse a dos causas: sistemáticos o accidentales. Errores Sistemáticos: Debidos a la imprecisión de los aparatos de medición. Errores Accidentales: Debidos a la apreciación del observador y otras causas. Errores de Truncamiento: Se debe a la interrupción de un proceso matemático antes de su terminación. Sucede cuando se toman sólo algunos términos de una serie infinita o cuando se toma sólo un número finito de intervalos. Un caso adicional de error de truncamiento ocurre cuando una calculadora poco sofisticada sólo toma en cuenta los dígitos que caben en la pantalla y no analiza el primer dígito perdido. Error de Redondeo: Se ocasiona debido a las limitaciones propias de la máquina para representar cantidades que requieren un gran número de dígitos. Dependiendo de como se redondea puede ser de dos formas. Error de Redondeo Inferior: Se desprecian los dígitos que no pueden conservarse dentro de la localización de memoria correspondiente (pensando de una manera estricta, este caso puede considerarse como un error de truncamiento).

Page 67: Metodos numericos

Error de Redondeo Superior: Este caso tiene dos alternativas, según el signo del número en particular. a) Para números positivos, el último que puede conservarse en la localización de memoria se incrementa en una unidad si el primer dígito despreciado es � 5. b) Para números negativos, el último dígito que puede conservarse en la localización de memoria se reduce en una unidad si el primer dígito despreciado es 5. Error de desbordamiento de información o derrame de información Overflow: Este error recibe también el nombre de “sobreflujo”. En el lenguaje técnico de computación se acostumbra emplear el anglicismo “overflow”, ya que las traducciones posibles no proporcionan una idea clara de su significado. Se dice que existe overflow o sobreflujo o derrame de información cuando dentro de una localización de almacenamiento no cabe un número, debido a que es mayor que la capacidad de la mencionada localización de almacenamiento. Error de desbordamiento de información o derrame de información Underflow: Este error recibe también el nombre de “subflujo”. En el lenguaje técnico de computación se acostumbra emplear el anglicismo “underflow”, ya que las traducciones posibles no proporcionan una idea clara de su significado. Se dice que existe underflow o subflujo o desbordamiento de información cuando dentro de una localización de almacenamiento no se puede representar un número positivo muy pequeño, debido a que éste es menor que la capacidad de la mencionada localización de almacenamiento. Más Errores Existen mas errores, pero los tipos de error que estudiaremos a fondo serán:

1) Error absoluto 2) Error relativo

3) Error relativo Aproximado 4) Error aritmético de la computadora 5) Error por redondeo 6) Error por truncamiento

Page 68: Metodos numericos

Error absoluto Si p* es una aproximación de p, y si p es el valor real, entonces: Error Absoluto = O sea el valor absoluto de p menos p*. Debido a que la ecuación se dio en términos del valor absoluto, el error absoluto no es negativo. Así pues, una colección (suma) de errores siempre se incrementan juntos, sin reducirse. Este es un hecho demasiado pesimista, dado que el redondeo y otros errores rara vez están en la misma dirección, es posible que la suma ("algebraica") de errores sea cero, con aproximadamente la mitad de los errores positiva y la otra mitad negativa. Pero también es demasiado optimista esperar que errores con signo sumen cero a menudo. Un enfoque realista es suponer que los errores, en especial el redondeo, están estadísticamente distribuidos. Error relativo Si p* es una aproximación de p, y si p es el valor real, entonces, el Error relativo se define como:

Error relativo = con la condición de p 0. Generalmente el denominador es una de tres elecciones; la magnitud del valor exacto o real, la magnitud del valor calculado o aproximado o el promedio de estas dos cantidades. La mayoría de las veces se usa como el valor real, por lo que se usará esta opción. El Error Relativo es una mejor medida del error que el error absoluto, en especial cuando se utilizan sistemas numéricos de punto flotante. Puesto que los elementos de un sistema de punto flotante no están distribuidos de manera uniforme, la cantidad de redondeos posibles depende de la magnitud de los números que se redondean. El denominador de está ecuación compensa este efecto. Ejemplo

Page 69: Metodos numericos

Ejemplo p=0.3x10-3 p*=0.31x10-3 Calcular el error absoluto y el error relativo.

Ejemplo p=0.3x104 p*=0.31x104 Calcular el error absoluto y el error relativo.

Conclusión: Como una medida de precisión el error absoluto puede ser engañoso y el error relativo es más significativo. Error relativo aproximado Definiciones 1) Error relativo aproximado = ERA Valor actual - Valor anterior ERA = (-----------------------------------------) * 100% Valor actual 2) Tolerancia = (0.5x102-n) % Donde n = número de cifras significativas 3) Término de convergencia permite finalizar los cálculos. Es la desigualdad: ERA < Tolerancia Ejemplo Usando la serie de Taylor con xo=0

Page 70: Metodos numericos

Encontrar e1.5 con tres cifras significativas. Se desea saber también: ¿En cuántas iteraciones se cumple el término de convergencia? SOLUCION: Como n = 3, entonces: Tolerancia = (0.5x102-3) % = 0.05% Término de convergencia: ERA < Tolerancia ERA = ((Valor actual - Valor anterior)/ Valor actual) 100%

Page 71: Metodos numericos

Aquí mi ERA < Tolerancia e1.5 = 4.48 (con tres cifras significativas y 9 iteraciones).

Page 72: Metodos numericos

EJEMPLO Encontrar cos (pi / 6) con n = 2 (2 cifras significativas), donde pi =180o = 3.1416 radianes Usando la serie de Taylor:

Por lo tanto, necesitamos un error relativo aproximado menor a 0.5% trabajando en radianes. Para i=1 Cos pi / 6 = 1 i=2 Cos pi / 6 = 1- (pi /6)2 / 2!=0.86292152

Page 73: Metodos numericos

Se muestra a continuación el diagrama de flujo del algoritmo de solución de este EJEMPLO:

Diagrama de flujo del Error relativo aproximado para ex Ejemplo Usar el siguiente resultado de series,

Para aproximar el número irracional hasta 4 cifras significativas.

SOLUCION. Primero calculamos el valor de como sigue:

En seguida, usamos la serie, agregando un término cada vez, para obtener

nuevas aproximaciones hasta que se logre que . En el primer paso, tenemos simplemente un término:

En el segundo paso, tenemos la suma de dos términos:

Page 74: Metodos numericos

Aquí, podemos calcular el primer error aproximado:

Seguimos agregando términos de la serie puesto que no se ha cumplido el objetivo: Tenemos que,

Y calculamos el error aproximado correspondiente:

El proceso se continúa hasta lograr la meta. Resumimos los resultados en la siguiente tabla:

# términos

Aprox. al valor e

Error aproximado

1 1

2 2 50%

3 2.5 20%

4 2.666666667 6.25%

5 2.708333333 1.54%

6 2.716666667 0.307%

7 2.718055556 0.051%

8 2.718253968 0.007%

9 2.718278770 0.0009%

Así pues, el resultado que se obtiene es:

Page 75: Metodos numericos

Que en realidad tiene 8 cifras significativas. La cota impuesta por , nos asegura que tendremos al menos n cifras significativas; en este ejemplo, obtuvimos 4 cifras significativas más. Error de redondeo y aritmético de computadora El error de redondeo se origina porque una máquina involucra números con sólo un número finito de dígitos; por lo tanto, los cálculos se realizan con representaciones aproximadas de los números verdaderos. Dicho de otra manera, el error de redondeo se debe a la naturaleza discreta del sistema numérico de máquina de punto flotante, el cual a su vez se debe a su longitud de palabra finita. Cada número (real) se reemplaza por el número de máquina más cercano. Esto significa que todos los números en un intervalo local están representados por un solo número en el sistema numérico de punto flotante. En una computadora se almacena una parte fraccionaria llamada la mantisa junto con una parte exponencial llamada característica; además de un espacio para el signo. Error de redondeo Es el que resulta de reemplazar un número por su forma de punto flotante. Cualquier número real positivo puede ser normalizado para que adquiera la forma:

La forma de punto flotante fl(y), se obtiene terminando (recortando) la mantisa de y en k dígitos decimales. Existen dos métodos de terminar: a) Cortando los dígitos b) Redondeando el número Error de truncamiento Este tipo de error ocurre cuando un proceso que requiere un número infinito de pasos se detiene en un número finito de pasos. Generalmente se refiere al error involucrado al usar sumas finitas o truncadas para aproximar la suma de una serie infinita. Note que el error de truncamiento, a diferencia del error de redondeo, no depende directamente del sistema numérico que se emplee.

Page 76: Metodos numericos

Que es el polinomio de Taylor de grado n para la función f alrededor de xo.

Que es el residuo o error de truncamiento asociado con Pn. f(x)=Pn(x)+Rn(x) En el caso específico de que xo=0 el polinomio de Taylor se conoce como el polinomio de Maclaurin y la serie de Taylor se conoce como la serie de Maclaurin. Ejemplo Determine el polinomio de Taylor de segundo grado y también el de tercer grado para f(x)=cos(x) respecto a xo=0 y use este polinomio para aproximar cos (0.01) SOLUCION: Polinomio de Taylor de segundo orden.

Calculando derivadas:

Page 77: Metodos numericos

Donde a lo más es 1 por lo que

Page 78: Metodos numericos

Donde a lo más es 1 por lo que

Conclusión: Las dos primeras partes del ejemplo ilustran los 2 objetivos de los métodos numéricos. El primero es obtener una aproximación que los polinomios de Taylor ofrecen en ambas partes. El segundo objetivo consiste en determinar la exactitud de la aproximación (error de truncamiento). En este caso el polinomio de tercer grado proporciona una exactitud mayor o un error de truncamiento menor. Ejemplo Sea f(x)=x3 a) Encontrar el polinomio de Taylor de segundo grado para xo=0 y el error de truncamiento para cuando x=0.5.

Page 79: Metodos numericos

SOLUCION:

Nota: � (x) en el # que no conozco y que tiene que escribir si hay x

Ejemplo Calcular f(x)=x3 para un polinomio de Taylor de segundo grado con xo=1.

Page 80: Metodos numericos

Es el Error de Truncamiento

Page 81: Metodos numericos

UUUNNNIIIDDDAAADDD 222... SSSOOOLLLUUUCCCIIIÓÓÓNNN DDDEEE EEECCCUUUAAACCCIIIOOONNNEEESSS YYY SSSIIISSSTTTEEEMMMAAASSS LLLIIINNNEEEAAALLLEEESSS YYY

NNNOOO LLLIIINNNEEEAAALLLEEESSS PPPOOORRR MMMÉÉÉTTTOOODDDOOOSSS NNNUUUMMMÉÉÉRRRIIICCCOOOSSS

Page 82: Metodos numericos

222...111... RRRAAAIIICCCEEESSS DDDEEE UUUNNNAAA EEECCCUUUAAACCCIIIOOONNN...

Métodos preliminares

Los métodos numéricos para tratar los problemas relacionados con raíces de una ecuación, sirven para obtener aproximaciones a las soluciones de ecuaciones de las cuales no es posible obtener respuesta exacta con métodos algebraicos (Solo respuestas aproximadas). Por ejemplo, la ecuación:

1564000=1000000*e� + (435000/�)*(e� -1)

De la cual se deseará obtener ¨� ¨. Uno de los problemas básicos de la aproximación numérica, es el problema de la búsqueda de las raíces.

Raíces de ecuaciones no lineales

Una raíz de una función )(xf es un número 0x tal que 0)( 0 =xf . También se

dice que 0x es una raíz de la ecuación 0)( 0 =xf . En este curso, consideraremos solamente raíces reales. Geométricamente, una raíz de una función representa un punto donde la gráfica de )(xf cruza al eje x ,

En esta gráfica, vemos que la raíz es 1=x .

Ejemplos. 1. Las raíces de 9)( 2 −= xxf son 3=x y 3−=x .

2. La función 1)( 24 ++= xxxf no tiene raíces.

Page 83: Metodos numericos

3. La función senxxf −= 5)( no tiene raíces.

4. Las raíces de )7)(3)(1()( +−+= xxxxf son ,1−=x 3=x y 7−=x .

Estudiaremos varios métodos numéricos para aproximar raíces de ecuaciones.

222...111...111... MMMééétttooodddooo gggrrráááfffiiicccooo

Este método básicamente se usa para localizar un intervalo donde la función tiene alguna raíz.

Ejemplo 1

Localizar un intervalo donde la función xexf x ln)( −= − tenga una raíz.

SOLUCION Para calcular la raíz de )(xf hacemos 0)( =xf , de donde xe x ln=− . Por lo tanto, el problema equivale a encontrar el punto de intersección de las funciones

xexg −=)( y xxh ln)( = .

Conocemos bien estas gráficas:

De lo cual, concluimos que un intervalo donde se encuentra la única raíz es [ ]5.1,1 . En realidad, no nos interesa ser más finos en la búsqueda del intervalo, ya que posteriormente aplicaremos métodos más sistemáticos para aproximar mejor la raíz. Digamos que la utilidad del método gráfico radica en proveernos de un intervalo con el cual comencemos a trabajar.

Ejemplo

Page 84: Metodos numericos

Localizar un intervalo donde la función 1arctan)( −+= xxxf tenga una raíz.

SOLUCION Nuevamente, para calcular la raíz de )(xf hacemos 01arctan =−+ xx , de donde tenemos xx −= 1arctan . Así, el problema equivale a encontrar el punto de intersección de las gráficas de las funciones xxg arctan)( = y xxh −= 1)( .

Conocemos bien las gráficas de estas funciones:

De donde vemos claramente que un intervalo donde se encuentra la única raíz es el intervalo [ ]1,0 .

222...111...222... MMMééétttooodddooo dddeee bbbiiissseeecccccciiióóónnn

El método de bisección se basa en el siguiente teorema de Cálculo:

Teorema del Valor Intermedio

Sea )(xf contínua en un intervalo [ ]ba, y supongamos que )()( bfaf < .

Entonces para cada z tal que )()( bfzaf << , existe un ( )bax ,0 ∈ tal que zxf =)( 0 . La misma conclusión se obtiene para el caso que )()( bfaf > .

Page 85: Metodos numericos

Básicamente el Teorema del Valor Intermedio nos dice que toda función contínua en un intervalo cerrado, una vez que alcanzó ciertos valores en los extremos del intervalo, entonces debe alcanzar todos los valores intermedios.

En particular, si )(af y )(bf tienen signos opuestos, entonces un valor intermedio es precisamente 0=z , y por lo tanto, el Teorema del Valor Intermedio

nos asegura que debe existir ( )bax ,0 ∈ tal que 0)( 0 =xf , es decir, debe haber por lo menos una raíz de )(xf en el intervalo ),( ba .

El método de bisección sigue los siguientes pasos:

Sea )(xf continua,

i) Encontrar valores iniciales ax , bx tales que )( axf y )( bxf tienen signos opuestos, es decir,

ii) La primera aproximación a la raíz se toma igual al punto medio entre ax y bx :

iii) Evaluar )( rxf . Forzosamente debemos caer en uno de los siguientes casos:

En este caso, tenemos que )( axf y )( rxf tienen signos opuestos, y

por lo tanto la raíz se encuentra en el intervalo [ ]ra xx , .

Page 86: Metodos numericos

En este caso, tenemos que )( axf y )( rxf tienen el mismo signo, y

de aquí que )( rxf y )( bxf tienen signos opuestos. Por lo tanto, la raíz

se encuentra en el intervalo [ ]br xx , .

En este caso se tiene que 0)( =rxf y por lo tanto ya localizamos la raíz.

El proceso se vuelve a repetir con el nuevo intervalo, hasta que:

Es decir,

En otras palabras:

Este es uno de los problemas de aproximación más antiguos y sin embargo la investigación correspondiente todavía continúa.

Supongamos que f(x) es una función continúa definida en el intervalo [a, b] con f(a) y f (b) de signos diferentes.

El método de bisección nos dice que de acuerdo al teorema del valor intermedio existe un número p en a, b tal que f(p)=0.

Aunque el procedimiento en el caso en que f(a) y f(b) tengan signos diferentes y exista más de una raíz en el intervalo (a,b), por razones de simplicidad suponemos que la raíz de este intervalo es única.

El método de bisección requiere dividir varias veces a la mitad los subintervalos de [a,b] y, en cada paso, localizar la mitad que contenga a p. Para empezar se supone que a1=a y b1=b y que sea p1 el punto medio de f(a1) y f(b1), es decir:

Page 87: Metodos numericos

Figura. f (p1) tiene signo diferente a f(a1) entonces acá está la raíz; f(p1) tiene signo igual a f(b1) entonces esta mitad se elimina.

si f(p1)=0 entonces p=p1 si f(p1) y f(a1) tienen el mismo signo, entonces p � (p1,b1) y a2=p1 y b2=b1 si f(p1) y f(a1) tiene signos opuestos entonces p � (a1,p1) y a2=a1 y b2=p1

Figura. Áreas de eliminación.

Después volvemos a aplicar el proceso al intervalo [a2, b2]. Así se continúa hasta alcanzar algún criterio de convergencia. Un buen criterio de convergencia es el que hace referencia al error relativo aproximado (ERA).

Para pN0

Donde � representa la tolerancia permitida con respecto al error relativo. Al trabajar programas de computadora conviene fijar el número máximo de iteraciones que se efectuaron.

En la figura se ilustra gráficamente el método de bisección.

Page 88: Metodos numericos

Figura. Método de bisección

EJEMPLO:

Aproximar la raíz de xexf x ln)( −= − hasta que %1<∈a .

SOLUCION

Sabemos por lo visto en el ejemplo 1 de la sección anterior, que la única raíz de )(xf se localiza en el intervalo [ ]5.1,1 . Así que este intervalo es nuestro punto de

partida; sin embargo, para poder aplicar el método de bisección debemos chequear que )1(f y )5.1(f tengan signos opuestos.

En efecto, tenemos que

mientras que

Cabe mencionar que la función )(xf sí es contínua en el intervalo [ ]5.1,1 . Así pues, tenemos todos los requisitos satisfechos para poder aplicar el método de bisección. Comenzamos:

i) Calculamos el punto medio (que es de hecho nuestra primera aproximación a la raíz):

Page 89: Metodos numericos

ii) Evaluamos 00636.0)25.1ln()25.1( 25.1 >=−= −ef

iii) Para identificar mejor en que nuevo intervalo se encuentra la raíz, hacemos la siguiente tabla:

Por lo tanto, vemos que la raíz se encuentra en el intervalo [ ]5.1,25.1 .

En este punto, vemos que todavía no podemos calcular ningún error aproximado, puesto que solamente tenemos la primera aproximación. Así, repetimos el proceso con el nuevo intervalo [ ]5.1,25.1 .

Calculamos el punto medio (que es nuestra segunda aproximación a la raíz):

Aquí podemos calcular el primer error aproximado, puesto que contamos ya con la aproximación actual y la aproximación previa:

Puesto que no se ha logrado el objetivo, continuamos con el proceso.

Evaluamos 006561.0)375.1ln()375.1( 375.1 <−=−= −ef , y hacemos la tabla:

Page 90: Metodos numericos

Así, vemos que la raíz se encuentra en el intervalo [ ]375.1,25.1 .

Calculamos el punto medio,

Y calculamos el nuevo error aproximado:

El proceso debe seguirse hasta cumplir el objetivo.

Resumimos los resultados que se obtienen en la siguiente tabla:

Aprox. a la raíz Error aprox.

1.25 1.375 9.09% 1.3125 4.76% 1.28125 2.43% 1.296875 1.20% 1.3046875 0.59%

Así, obtenemos como aproximación a la raíz

Ejemplo:

Encontrar la raíz de: f(x) = x3+4*x2 -10 [1,2] usando el método de Bisecciones sucesivas en el intervalo [1,2], se sugiere trabajar con cuatro cifras significativas después del punto decimal. Y usar a. � =10-4 �� =0.0001 o sea que el error relativo sea menor a 0.0001.

En resumen:

N an bn pn f(pn)

Page 91: Metodos numericos

1 1 2 1.5 2.375 2 1 1.5 1.25 -1.7068 3 1.25 1.5 1.375 0.16214 4 1.25 1.375 1.3125 -0.8483 5 1.3125 1.375 1.343 -0.333 6 1.343 1.375 1.359 -0.102 7 1.359 1.375 1.367 0.029 8 1.359 1.367 1.363 -0.036 9 1.363 1.367 1.365 -0.0037 10 1.365 1.367 1.366 - 11 1.365 1.366 1.3655 0.0044 12 1.365 1.3655 1.36525 0.0003 13 1.365 1.36525 1.36515 -0.0021 14 1.36515 1.36525 1.36517 -0.0009

Ejemplo:

Aproximar la raíz de 1arctan)( −+= xxxf hasta que %1<∈a .

SOLUCION

Como vimos en el ejemplo 2 de la sección anterior, la única raíz de )(xf se localiza en el intervalo [ ]1,0 . Para poder aplicar el método de bisección, es importante checar que sí se cumplen las hipótesis requeridas.

Sabemos que )(xf es contínua en el intervalo [ ]1,0 , y checamos que )0(f y )1(f tengan signos opuestos.

En efecto,

Mientras que,

Por lo tanto, sí podemos aplicar el método de bisección.

Page 92: Metodos numericos

Calculamos el punto medio del intervalo [ ]1,0 ,

Que es la primera aproximación a la raíz de )(xf .

Evaluamos 00363.015.0)5.0arctan()5.0( <−=−+=f .

Y hacemos nuestra tabla de signos,

Puesto que )5.0(f y )1(f tienen signos opuestos, entonces la raíz se localiza en el intervalo [ ]1,5.0 .

En este punto, solo contamos con una aproximación, a saber, 5.01

=rx , que es el primer punto medio calculado. Repetimos el proceso, es decir, calculamos el punto medio ahora del intervalo [ ]1,5.0 ,

Que es la nueva aproximación a la raíz de )(xf .

Aquí podemos calcular el primer error aproximado:

Puesto que no se cumple el objetivo, continuamos con el proceso.

Evaluamos 03935.0175.0)75.0arctan()75.0( >=−+=f .

Y hacemos la tabla de signos:

Page 93: Metodos numericos

Puesto que )5.0(f y )75.0(f tienen signos opuestos, entonces la raíz se localiza en el intervalo [ ]75.0,5.0 .

Calculamos el punto medio,

Y el nuevo error aproximado:

El proceso se debe continuar hasta que se logre el objetivo.

Resumimos los resultados que se obtienen en la siguiente tabla:

Aprox. a la raíz Error aprox.

0.5 0.75 33.33% 0.625 20% 0.5625 11.11% 0.53125 5.88% 0.515625 3.03% 0.5234375 1.49% 0.51953125 0.75%

De lo cual, vemos que la aproximación buscada es 51953125.08

=rx

El método de bisección por lo general es lento, y en casos como el de la siguiente gráfica, puede ser demasiado lento.

Page 94: Metodos numericos

En un caso como éste, el proceso de bisección comienza a acercarse a la raíz de forma muy lenta, ya que el método solamente toma en cuenta que la raíz se encuentra dentro del intervalo, sin importar si se encuentra más cerca de alguno de los extremos del intervalo. Sería bueno implementar un método que tome en cuenta este detalle.

Esto da lugar al siguiente método de aproximación de raíces.

Page 95: Metodos numericos

Diagramas de flujo de bisecciones sucesivas

222...111...333... RRReeeggglllaaa fffaaalllsssaaa

Se trata de encontrar la raíz de una ecuación. La ecuación tiene la forma f(x), es decir, es una función de x. Además, f(x) esta definida en el intervalo [a, b].

Figura. Intervalo de f(x).

El método de la interpolación lineal inversa, requiere varias condiciones: 1.- f(a)*f(b) < 0 Es decir, que el producto de la función de x, f(x), evaluada en a, f(a), multiplicada por la función de x, f(x), evaluada en b, f(b), sea negativo (menor a cero). 2.- Que la función f(x) se aproxime por otra función L(x).

Page 96: Metodos numericos

f(x) es aproximadamente igual a L(x)

Por tanto encontramos un punto falso c

Donde C es la raíz que se anda buscando

Después se calcula f(C) para ver su valor. Si se obtiene cero, no se debe avanzar más, pero en caso de no ser así, se realiza lo siguiente: Se calcula f(C)*f(a) si este producto es menor a cero (negativo), entonces ahora C equivaldrá a b, y se repite el cálculo para encontrar una nueva C. En el caso de que f(C)*f(b) sea la que haya dado el producto menor a cero, o sea negativo, entonces ahora a equivaldrá a c, y se repite el cálculo para encontrar una nueva C. A este método, se le conoce como: Método de la falsa posición.

EJEMPLO: Encontrar la raíz de f(x)=cosx por el método de la falsa posición en el intervalo [1,2] y � =0.001.

SOLUCION: a=1, b=2 f(a=1)=cos 1 = 0.5403 f (b=2)=cos 2 = -0.4161 f(a)*f (b) < 0 (0.5403)*(-0.4161) < 0 si � hay raíz C_ant= 99999 para arrancar Itera=0 � = 0.001 Encontrado= False

fa=f(a=1)=0.5403 fb=f(b=2)=-0.4161

fc=f(Cact=1.5649)= cos(1.5649)= 0.005896 f(Cact)= 0.005896 ¿no es igual a 0? no ERA (Cact=1.5649, C_ant = 99999)= 1.5649 - 99999 / 1.5649 � no es menor a � fC*f(a) < 0 (0.005896)*(0.5403) � es diferente a cero �

Page 97: Metodos numericos

a = Cact= 1.5649 b = 2 Itera = 1 C_ant <-- Cact = 1.5649

fa=f(a=1.5649)=0.005896 fb=f(b=2)= -0.4161

f(Cact=1.5709)= cos(1.5709)= - 0.0001036 f(C)= - 0.0001036 no es igual a 0 ERA (C_act=1.5709, C_ant = 1.5649)= (1.5709 - 1.5649) / 1.5709 = 0.0038194 � no es menor a � fC*f(a) < 0 (-0.0001036)*(0.005896) � sí es menor a cero � a = a =1.5649 b = Cact = 1.5709 Itera = 2 C_ant = 1.5709

f(a=1.5649) = 0.005896 f(b=1.5709)=cos 1.5709 = -0.0001036

f(Cact=1.5707)=cos (1.5707)= -0.00000006629 f(Cact)*f(a) ¿ es igual? no

Raíz = 1.5707

Otra Manera de ver el método:

Como mencionamos anteriormente, sería bueno considerar si la raíz de una ecuación está localizada más cerca de alguno de los extremos del intervalo. Consideremos nuevamente una gráfica como la anterior,

Page 98: Metodos numericos

Donde hemos agregado la línea recta que une los puntos extremos de la gráfica en el intervalo [ ]ba, .

Es claro que si en lugar de considerar el punto medio del intervalo, tomamos el punto donde cruza al eje x esta recta, nos aproximaremos mucho más rápido a la raíz; ésta es en sí, la idea central del método de la regla falsa y ésta es realmente la única diferencia con el método de bisección, puesto que en todo lo demás los dos métodos son prácticamente idénticos.

Supongamos que tenemos una función )(xf que es contínua en el intervalo [ ]ba xx , y además, )( axf y )( bxf tienen signos opuestos.

Calculemos la ecuación de la línea recta que une los puntos ))(,( aa xfx , ))(,( bb xfx . Sabemos que la pendiente de esta recta esta dada por:

Por lo tanto la ecuación de la recta es:

Para obtener el cruce con el eje x , hacemos 0=y :

Page 99: Metodos numericos

Multiplicando por ab xx − nos da:

Finalmente, de aquí despejamos x :

Este punto es el que toma el papel de rx en lugar del punto medio del método de bisección.

Así pues, el método de la regla falsa sigue los siguientes pasos:

Sea )(xf continua,

i) Encontrar valores iniciales ax , bx tales que )( axf y )( bxf tienen signos opuestos, es decir,

ii) La primera aproximación a la raíz se toma igual a:

iii) Evaluar )( rxf . Forzosamente debemos caer en uno de los siguientes casos:

En este caso, tenemos que )( axf y )( rxf tienen signos opuestos, y

por lo tanto la raíz se encuentra en el intervalo [ ]ra xx , .

Page 100: Metodos numericos

En este caso, tenemos que )( axf y )( rxf tienen el mismo signo, y

de aquí que )( rxf y )( bxf tienen signos opuestos. Por lo tanto, la raíz

se encuentra en el intervalo [ ]br xx , .

En este caso se tiene que 0)( =rxf y por lo tanto ya localizamos la raíz.

El proceso se vuelve a repetir con el nuevo intervalo, hasta que:

Ejemplo Usar el método de la regla falsa para aproximar la raíz de xexf x ln)( −= −

,

comenzando en el intervalo [ ]2,1 y hasta que %1<∈a .

SOLUCION Este es el mismo ejemplo 1 del método de la bisección. Así pues, ya sabemos que

)(xf es contínua en el intervalo dado y que toma signos opuestos en los extremos de dicho intervalo. Por lo tanto podemos aplicar el método de la regla falsa.

Calculamos la primera aproximación:

Page 101: Metodos numericos

Puesto que solamente tenemos una aproximación, debemos seguir con el proceso.

Así pues, evaluamos

Y hacemos nuestra tabla de signos:

De donde vemos que la raíz se encuentra en el intervalo [ ]397410482.1,1 . Con este nuevo intervalo, calculamos la nueva aproximación:

En este momento, podemos calcular el primer error aproximado:

Puesto que no se cumple el objetivo seguimos con el proceso.

Evaluamos 0011654346.0)321130513.1()(2

<−== fxf r , y hacemos la tabla de signos:

De donde vemos que la raíz se encuentra en el intervalo [ ]321130513.1.1 , con el cual, podemos calcular la nueva aproximación:

Page 102: Metodos numericos

Y el error aproximado:

Como se ha cumplido el objetivo, concluimos que la aproximación buscada es:

Observe la rapidez con la cual converge el método de la regla falsa a la raíz, a diferencia de la lentitud del método de la bisección.

Ejemplo:

Usar el método de la regla falsa para aproximar la raíz de 1arctan)( −+= xxxf ,

comenzando en el intervalo [ ]1,0 y hasta que %1<∈a .

SOLUCION Este es el mismo ejemplo 2 del método de la bisección. Así pues, ya sabemos que se cumplen las hipótesis necesarias para poder aplicar el método, es decir, que )(xf sea contínua en el intervalo dado y que )(xf tome signos opuestos en los extremos de dicho intervalo.

Calculamos pues, la primera aproximación:

Como solamente tenemos una aproximación, debemos avanzar en el proceso.

Evaluamos 0070662953.05600991535.0)5600991535.0arctan()(1

>=+=rxf

Y hacemos nuestra tabla de signos:

Page 103: Metodos numericos

De lo cual vemos que la raíz se localiza en el intervalo [ ]5600991535.0,0 .

Así pues, calculamos la nueva aproximación:

Y calculamos el error aproximado:

Puesto que no se cumple el objetivo, seguimos avanzando en el proceso.

Evaluamos 000511533.015231330281.0)5231330281.0arctan()(2

>=−+=rxf .

Y hacemos nuestra tabla de signos:

De los cual vemos que la raíz se localiza en el intervalo [ ]5231330281.0,0 , con el cual podemos calcular al siguiente aproximación:

Y el siguiente error aproximado:

Como se ha cumplido el objetivo, concluimos que la aproximación buscada es:

Page 104: Metodos numericos

Nuevamente observamos el contraste entre la rapidez del método de la regla falsa contra la lentitud del método de la bisección.

Por supuesto que puede darse el caso en el que el método de la regla falsa encuentre la aproximación a la raíz de forma más lenta que el método de la bisección. Como ejercicio, el estudiante puede aplicar ambos métodos a la función

1)( 6 −= xxf , comenzando en el intervalo [ ]5.1,0 , donde notará que mientras que

el método de bisección requiere de 8 aproximaciones para lograr que %1<∈a , el método de la regla falsa necesita hasta 16 aproximaciones.

Figura. Diagramas de flujo de la Interpolación lineal inversa

Page 105: Metodos numericos

222...111...444... MMMééétttooodddooo dddeee lllaaa ssseeecccaaannnttteee

Este método se basa en la fórmula de Newton-Raphson, pero evita el cálculo de la derivada usando la siguiente aproximación:

(Recuérdese la solución numérica al problema del cuerpo en caída libre).

Sustituyendo en la fórmula de Newton-Raphson, obtenemos:

Que es la fórmula del método de la secante. Nótese que para poder calcular el valor de , necesitamos conocer los dos valores anteriores y .

Obsérvese también, el gran parecido con la fórmula del método de la regla falsa. La diferencia entre una y otra es que mientras el método de la regla falsa trabaja sobre intervalos cerrados, el método de la secante es un proceso iterativo y por lo mismo, encuentra la aproximación casi con la misma rapidez que el método de Newton-Raphson. Claro, corre el mismo riesgo de éste último de no converger a la raíz, mientras que el método de la regla falsa va a la segura.

Ejemplo Usar el método de la secante para aproximar la raíz de , comenzando con , y hasta que .

SOLUCION Tenemos que y , que sustituímos en la fórmula de la secante para calcular la aproximación :

Page 106: Metodos numericos

Con un error aproximado de:

Como todavía no se logra el objetivo, continuamos con el proceso. Resumimos los resultados en la siguiente tabla:

Aprox. a la raíz Error aprox.

0 1 100% 0.612699837 63.2% 0.653442133 6.23% 0.652917265 0.08%

De lo cual concluímos que la aproximación a la raíz es:

Ejemplo Usar el método de la secante para aproximar la raíz de , comenzando con y , y hasta que .

SOLUCION Tenemos los valores y , que sustituímos en la fórmula de la secante para obtener la aproximación :

Con un error aproximado de:

Como todavía no se logra el objetivo, continuamos con el proceso. Resumimos los resultados en la siguiente tabla:

Page 107: Metodos numericos

Aprox. a la raíz Error aprox. 0 1 100% 0.823315073 21.4% 0.852330280 3.40% 0.853169121 0.09%

De lo cual concluímos que la aproximación a la raíz es:

Por tanto gráficamente se tiene:

Donde j = representa el número de iteraciones

Figura. Método de la secante

Ejemplo:

Calcular la raíz por el método de la secante de f(x)=cos x - x dentro del intervalo de 0 a 1con � =0.001.Para aplicar este método, se supone desde luego que debe de existir una raíz dentro del intervalo planteado por el problema.

Para usar el método de la secante, se toma como x1 el límite inferior y como x2 el límite superior. x3 será el primer valor calculado por el método de la secante.

Page 108: Metodos numericos

x1=0 x2=1 x3= Primer valor calculado por el método de la secante

SOLUCION: x1=0 x2=1 f(x1=0)*f(x2=1) < 0 sí � hay raíz Encontrado = False J=0 (Itera) � = 0.001 fx1 = f(x1=0)=cos 0-0 = 1 fx2 = f(x2=1)=cos 1- 1= -0.4596

fx3 = f(x3=0.6850) = cos 0.6850 - 0.6850 = 0.08937 f(x3) ¿ es igual a cero? O no es igual a 0 ERA (x3,x2) < �

x1 <-- x2=1 x2 <-- x3=0.6850 J <-- J+1=1 fx1 = f(x1=1) = -0.4596 fx2 = f(x2=0.685) = 0.08937

fx3 = f(x3=0.7362) = cos 0.7362 - 0.7362 = 0.004825 f(x3) ¿es igual a cero? O no es igual a 0 ERA (x3=0.7362, x2=0.6850) < �

x1 <-- x2=0.6850 x2 <-- x3=0.7362 J <-- J+1=2 fx1 = f(x1=0.6850) = 0.08937 fx2 = f(x2=0.7362) = 0.004825

fx3 = f(x3=0.7391) = cos 0.7391 - 0.7391 = -0.000024 f(x3) ¿es igual a cero? O no es igual a 0 ERA (x3=0.7391, x2=0.7362) no es menor a �

x1 <-- x2=0.7362 x2 <-- x3=0.7391

Page 109: Metodos numericos

J <-- J+1=3 fx1 = f(x1=0.7362) = 0.004825 fx2 = f(x2=0.7391) = -0.000024

fx3 = f(x3=0.7390) = cos 0.7390 - 0.7390 = 0.0001424 f(x3) ¿es igual a cero? O no es igual a 0 ERA (x3=0.7390, x2=0.7391) es menor a �

< � si � Raíz = 0.7390

222...111...555... MMMééétttooodddooo dddeee NNNeeewwwtttooonnn---RRRaaappphhhsssooonnn

Este método, el cual es un método iterativo, es uno de los más usados y efectivos. A diferencia de los métodos anteriores, el método de Newton-Raphson no trabaja sobre un intervalo sino que basa su fórmula en un proceso iterativo.

Supongamos que tenemos la aproximación ix a la raíz rx de )(xf ,

Trazamos la recta tangente a la curva en el punto ( ))(, ii xfx ; ésta cruza al eje x

en un punto 1+ix que será nuestra siguiente aproximación a la raíz rx .

Para calcular el punto 1+ix , calculamos primero la ecuación de la recta tangente. Sabemos que tiene pendiente

Page 110: Metodos numericos

Y por lo tanto la ecuación de la recta tangente es:

Hacemos 0=y :

Y despejamos x :

Que es la fórmula iterativa de Newton-Raphson para calcular la siguiente aproximación:

, si

Note que el método de Newton-Raphson no trabaja con intervalos donde nos asegure que encontraremos la raíz, y de hecho no tenemos ninguna garantía de que nos aproximaremos a dicha raíz. Desde luego, existen ejemplos donde este método no converge a la raíz, en cuyo caso se dice que el método diverge. Sin embargo, en los casos donde si converge a la raíz lo hace con una rapidez impresionante, por lo cual es uno de los métodos preferidos por excelencia.

También observe que en el caso de que 0)( =′ ixf , el método no se puede aplicar. De hecho, vemos geométricamente que esto significa que la recta tangente es horizontal y por lo tanto no intersecta al eje x en ningún punto, a

menos que coincida con éste, en cuyo caso ix mismo es una raíz de )(xf !

Ejemplo

Usar el método de Newton-Raphson, para aproximar la raíz de xexf x ln)( −= −,

comenzando con 10 =x y hasta que %1<∈a .

Page 111: Metodos numericos

SOLUCION En este caso, tenemos que

De aquí tenemos que:

Comenzamos con 10 =x y obtenemos:

En este caso, el error aproximado es,

Continuamos el proceso hasta reducir el error aproximado hasta donde se pidió.

Resumimos los resultados en la siguiente tabla:

Aprox. a la raíz Error aprox. 1 1.268941421 21.19% 1.309108403 3.06% 1.309799389 0.052%

De lo cual concluímos que la aproximación obtenida es:

Ejemplo Usar el método de Newton-Raphson para aproximar la raíz de

1arctan)( −+= xxxf , comenzando con 00 =x y hasta que %1<∈a .

Page 112: Metodos numericos

SOLUCION En este caso, tenemos que

La cual sustituímos en la fórmula de Newton-Raphson para obtener:

Comenzamos sustituyendo 00 =x para obtener:

En este caso tenemos un error aproximado de %100%100

5.005.0

=×−

=∈a

Continuamos con el proceso hasta lograr el objetivo. Resumimos los resultados en la siguiente tabla:

Aprox. a la raíz Error aprox.

0 0.5 100% 0.5201957728 3.88% 0.5202689918 0.01%

De lo cual concluímos que la aproximación obtenida es:

Ejemplo Usar el método de Newton-Raphson para aproximar raíces cuadradas de números reales positivos.

Page 113: Metodos numericos

SOLUCION Sea 0>R . Queremos calcular x tal que Rx = ; elevando al cuadrado Rx =2 , o bien:

02 =− Rx

Esto nos sugiere definir la función Rxxf −= 2)( de donde xxf 2)( =′ . Al sustituir estos datos en la fórmula de Newton-Raphson nos da:

i

iii x

Rxxx2

2

1−

−=+

La cual simplificada nos da:

⎥⎦

⎤⎢⎣

⎡+=+

iii x

Rxx21

1

Esta fórmula era conocida por los antiguos griegos (Herón).

Para fijar un ejemplo de su uso, pongamos 26=R y apliquemos la fórmula

obtenida, comenzando con 50 =x . Resumimos los resultados en la siguiente tabla:

Aprox. a la raíz Error aprox. 5 5.1 1.96% 5.099019608 0.019% 5.099019514 0.0000018%

De lo cual concluímos que 099019514.526 ≈ , la cual es correcta en todos sus dígitos!

La misma idea puede aplicarse para crear algoritmos que aproximen raíces n -ésimas de números reales positivos.

Observe que cuando el método de Newton-Raphson converge a la raíz, lo hace de una forma muy rápida y de hecho, observamos que el error aproximado disminuye a pasos agigantados en cada paso del proceso. Aunque no es nuestro objetivo establecer formalmente las cotas para los errores en cada uno de los métodos que hemos estudiado, cabe mencionar que si existen estas cotas que miden con mayor precisión la rapidez ó lentitud del método en estudio.

Page 114: Metodos numericos

El método de Newton-Raphson o simplemente el método de Newton, es uno de los métodos numéricos para resolver un problema de búsqueda de raíces f(x)=0 más poderosos y conocidos.

Figura. Aproximaciones con tangentes sucesivas.

Esta figura muestra como se obtienen las aproximaciones usando tangentes sucesivas. Comenzando con la aproximación inicial xo, la aproximación x1 es la intersección con el eje x de la línea tangente a la gráfica de f en (xo, f(xo)). La aproximación x2 es la intersección con el eje de las x de la línea tangente a la gráfica de f en (x1, f(x1)) y así sucesivamente.

Figura. Aproximaciones conociendo los valores xI´s.

m=tan� =f´(x) pendiente de la recta que pasa por (xi, f (xi)).

m=tan� = Cateto opuesto / Cateto adyacente =

Page 115: Metodos numericos

Lo que en realidad se desea saber es cuanto vale xi+1 para tomarlo en cuenta para la siguiente iteración, y así seguiría sucesivamente, hasta obtener la raíz.

Ejemplo: Encontrar la raíz de f(x)=x5+x2=9 con un valor inicial de xo=1.5 y � = 0.001.

SOLUCION: f(x)= x5+x2-9 f´(x)= 5*x4+2*x f(xo=1.5)= (1.5)5+(1.5)2 - 9 = 0.84375 f´(xo=1.5)=5* (1.5)4+2*(1.5)= 28.3125 x1 = xo - f(xo) / f´(xo)= 1.5 - (0.84375 / 28.3125) = 1.4701986755

ERA (x1, xo)= (que no es menor a � )

f(x1 =1.4701)= (1.4701)5+(1.4701)2 - 9 = 0.03027251527 f´( x1 =1.4701)=5*(1.4701)4+2*(1.4701)= 26.300465906 x2 = x1 - f(x1) / f´(x1)= 1.4701 - (0.03027 / 26.3004) = 1.4690476496

ERA (x2, x1)= (que no es menor a � ) f(x2 =1.469)= (1.469)5+(1.469)2 - 9 = 0.0004339341 f´( x2 =1.469)=5*(1.469)4+2*(1.469)= 26.2250948663 x3 = x2 - f(x2) / f´(x2)= 1.469 - (0.00043 / 26.2250) = 1.46903110316

ERA (x3, x2)= (que sí es menor a � ) � Raíz x3=1.46903110316

Fallas del método de Newton-Raphson 1.- El método es atrapado por una raíz imaginaria f(x).

Page 116: Metodos numericos

Figura. Falla 1 de Newton-Raphson

2.- Cuando la raíz es un punto de inflexión.

Figura. Falla 2 de Newton-Raphson

3.- El método ¨cae¨ en un punto máximo o mínimo (o en sus cercanías).

Figura. Falla 3 de Newton-Raphson

Ejemplo Encontrar la raíz de f(x)=ex-3*x=0 que se encuentra en [0,1] usando xo=0 y el método de Newton con una � =0.001.

Page 117: Metodos numericos

SOLUCION: f(x)= ex-3*x

recordemos que f´(x)= ex-3

sustituyendo para x1 con xo=0

ERA (x1=0.5, xo=0)= (es mayor a � )

ERA (x2=0.6101, x1=0.5)= (es mayor a �

ERA (x3=0.618997350866, x2=0.6101)= (es mayor a � ) x4= x3 - (ex3-3* x3 / ex3-3 = 0.6189 - (e0.6189-3* (0.6189) / e0.6189-3)= 0.619028039928 ERA (x3=0.6190280399928, x2=0.6189)

< � =0.001 � Raíz=x4=0.619023039928

EJEMPLO:

La siguiente fórmula se aplica a un vertedor con contracciones:

Q=3.33*(B-0.2*H)*(H3)1/2 Donde: Q - Cantidad de agua que pasa por le vertedor en pies3/seg B - Ancho del vertedor en pies H - Carga sobre la cuesta del vertedor en pies. Si B=3 ; Q=12 entonces cual es el valor de H=¿?. Calcular por el método de Newton-Raphson con � =0.001 y Ho=B/2

SOLUCION: 12=3.33*(3-0.2*H)*( H3)1/2 f(H)=12 - 3.33*(3-0.2*H)*( H3)1/2 = 0 f´(H)= - 3.33*(3-0.2*H)*(1/2)*( H3)-1/2 (3*H2)+ ( H3)1/2*(-3.33)*(-0.2) f´(H)=-3.33*(3)*(1/2)*(H)-3/2(3*H2)*(-3.33)*(-0.2H)*(1/2)*(H)-

3/2(3*H2)+(3.33)*(0.2)*(H3/2) f´(H)=-14.985*H1/2+0.99*H*H-3/2*H2+0.666*H3/2

Page 118: Metodos numericos

f´(H)=-14.985*H1/2+1.665*H3/2 f(H)=12-3.33*(3-0.2H)*(H3)1/2 f´(H)=-14.985*H1/2+1.665*H3/2

Hi+1 = Iniciar con Ho=B/2, Ho=3/2, Ho=1.5

i Hi f(Hi) f´(Hi) Hi+1 ERA

0 1.5 -4.51 -15.32 1.20517 -

1 1.20517 -0.16 -14.26 1.19362 9.5837x10-3

2 1.19362 -0.000278

-14.20 1.19360 0.000016756

� la raíz es H2=1.19360.

222...111...666... IIIttteeerrraaaccciiióóónnn ooo mmmééétttooodddooo iiittteeerrraaatttiiivvvooo dddeee pppuuunnntttooo fffiiijjjooo

Este método se aplica para resolver ecuaciones de la forma

Si la ecuación es , entonces puede despejarse ó bien sumar en ambos lados de la ecuación para ponerla en la forma adecuada.

Este método sirve para encontrar las raíces de una ecuación y consiste en los siguientes pasos: 1.- Nos deben dar la función a la cual le debemos encontrar la raíz, es decir, debemos conocer f(x)=0. Ejemplo: f(x)= 0.5*x - 4 = 0 2.- Nos deben de dar un valor inicial xo. Ejemplo xo = 0. 3.- De la función f(x) debemos de despejar x de manera que encontremos una nueva función de x llamada ahora g(x). Ejemplo: (2/2)*x - (1/2)*x - 4 = 0 donde (1/2)*x no se altera x - (1/2)*x - 4 = 0 � x = (1/2)*x + 4 g(x) = x = (1/2)*x + 4 4.- Se deriva la función g(x). En el caso de que el valor absoluto de la derivada de g(x) sea menor a uno, se asegura que el despeje realizado funcione.

Page 119: Metodos numericos

si 5.- Luego se evalúa g(x) utilizando primero xo. El resultado de esta evaluación se convierte en el nuevo valor de x y así se continúa hasta encontrar la raíz deseada desde luego, satisfaciendo un error deseado.

SOLUCION: xo = 0 , � = 0.001 x1 = (xo/2) + 4 = 0 + 4 = 4 ERA (x1,xo) � x2 = (x1/2) + 4 = 6 ERA (x2,x1) � x3 = (x2/2) + 4 = 7 ERA (x3,x2) � x4 = (x3/2) + 4 =7.5 ERA (x4 = 7.5, x3= 7)

(que no es menor a � ) x5 = (x4/2) + 4 = 7.75 ERA (x5,x4) � x6 = (x5/2) + 4 = 7.875

ERA (x6, x5)= (que no es menor a � ) x7 = (x6/2) + 4 = 7.9375 ERA (x7, x6) � x8 = (x7/2) + 4 = 7.96875

ERA (x8,x7)= (que no es menor a � ) x9 = (x8/2) + 4 = 7.984375

ERA (x9,x8)= (que no es menor a � ) x10 = (x9/2) + 4 = 7.9921875

ERA (x10,x9)=

� Raíz = x10 = 7.9921875 (tiende a 8) El número 7.9921 se le llama punto fijo de g(x), sin importar cual sea el xo. El punto fijo de g(x) es la raíz de f(x). Ejemplo: Sea f(x) = x + 4 = 0 y xo = 0 Encontrar una raíz por el método iterativo del punto fijo. Hagamos un posible despeje: 2*x - x + 4 = 0 x = 2*x + 4 � g(x) = 2*x + 4 g&acute;(x) = 2 donde g&acute;(x) no es menor a 1, por lo tanto, no se asegura

Page 120: Metodos numericos

que este despeje sirva: Probemos: xo=0 x1=2*(0)+4=4 x2=2*(4)+4=12 x3=2*(12)+4=28 x4=2*(28)+4=60 x tiende al infinito de manera tal que no vamos a encontrar ninguna raíz, desde luego comenzando con xo=0. Al analizar f(x)=x+4=0. Vemos que la solución es x+4=0 � x= -4. Y desde luego, si iniciáramos con la solución, es decir, que xo= -4, si tenderíamos a encontrar la solución. Sin embargo, el método trata de que dado un valor inicial que no sea la solución, se encuentre la solución. xo = -4; x1=2*(-4)+4 � x1= -4 Sea f(x) = x+4 = 0 con xo=0 2*x - x + 4 = 0 � x = 2*x + 4 � g(x) = 2*x + 4 g&acute;(x)= 2 que es mayor a 1 � g&acute;(x) no es menor que 1 y por lo tanto no se asegura que este despeje sirva. Probemos Con xo=0 x1=2*xo+4=2*(0)+4=4 x2=2*x1+4=2*(4)+4=12 x3=2*x2+4=2*(12)+4=28 x4=2*x3+4=2*(28)+4=60 x tiende al infinito de manera tal que no vamos a encontrar ninguna raíz. Intentemos otro despeje: f(x)=x+4=0 se despeja con respecto a (3/2)x (3/2)*x - (1/2)*x + 4 = 0 (3/2)*x=(1/2)*x - 4 x= (2/3)*(1/2)*x - (2/3)*(4)=(1/3)*x - (8/3) � g(x)=(1/3)*x - (8/3)

checando que (1/3) < 1 se asegura que el despeje realizado si sirve. Probemos con xo=0 x_ant =xo=0 x_act = (x_ant / 3) - 2.66 = 0 - 2.66 = -2.66 ERA (x_act = -2.66, x_ant = 0)

x_ant = x_act = -2.66 Itera=1

Page 121: Metodos numericos

x_act = (-2.66/ 3) - 2.66 = -3.5466 ERA (x_act =-3.5466, x_ant = -2.66)

(que no es menor a �) x_ant = x_act = -3.5466 Itera=2

x_act = (-3.5466/ 3) - 2.66 = -3.8422 ERA (x_act =-3.8422, x_ant = -3.5466)

(que no es menor a �) x_ant = x_act = -3.8422 Itera=3

x_act = (-3.8422/ 3) - 2.66 = -3.9407 ERA (x_act =-3.9407, x_ant = -3.8422)

(que no es menor a �) x_ant = x_act = -3.9407 Itera=4

x_act = (-3.9407/ 3) - 2.66 = -3.9735 ERA (x_act =-3.9735, x_ant = -3.9407)

(que no es menor a �) x_ant = x_act = -3.9735 Itera=5

x_act = (-3.9735/ 3) - 2.66 = -3.9845 ERA (x_act =-3.9845, x_ant = -3.9735)

(que no es menor a �) x_ant = x_act = -3.9845 Itera=6

x_act = (-3.9845/ 3) - 2.66 = -3.9881 ERA (x_act =-3.9881, x_ant = -3.9845)

Page 122: Metodos numericos

(que si es menor a � ) � Raíz = -3.9881 Esto tiende al número -4. Al número -4 se le llama punto fijo de g(x), sin importar cual sea el xo. El punto fijo de g(x) es la raíz de f(x).

Otros Ejemplos:

1) La ecuación se puede transformar en . 2) La ecuación se puede transformar en .

Dada la aproximación , la siguiente iteración se calcula con la fórmula:

Supongamos que la raíz verdadera es , es decir,

Restando las últimas ecuaciones obtenemos:

Por el Teorema del Valor Medio para derivadas, sabemos que si es contínua en y diferenciable en entonces existe tal que

.

En nuestro caso, existe en el intervalo determinado por y tal que:

De aquí tenemos que:

O bien,

Page 123: Metodos numericos

Tomando valor absoluto en ambos lados,

Observe que el término es precisamente el error absoluto en la

ésima iteración, mientras que el término corresponde al error absoluto en la ésima iteración.

Por lo tanto, solamente si , entonces se disminuirá el error en la siguiente iteración. En caso contrario, el error irá en aumento.

En resumen, el método de iteración del punto fijo converge a la raíz si para en un intervalo que contiene a la raíz y donde es contínua y diferenciable, pero diverge si en dicho intervalo.

Analicemos nuestros ejemplos anteriores:

• En el ejemplo 1, y claramente se cumple la condición de que . Por lo tanto el método sí converge a la raíz.

• En el ejemplo 2, y en este caso, . Por lo tanto, el método no converge a la raíz.

Para aclarar el uso de la fórmula veamos dos ejemplos:

Ejemplo 1 Usar el método de iteración del punto fijo para aproximar la raíz de

, comenzando con y hasta que .

Solución Como ya aclaramos anteriormente, el método sí converge a la raíz.

Aplicando la fórmula iterativa tenemos,

Con un error aproximado de

Page 124: Metodos numericos

Aplicando nuevamente la fórmula iterativa tenemos,

Y un error aproximado de .

Intuimos que el error aproximado se irá reduciendo muy lentamente. En efecto, se necesitan hasta 13 iteraciones para lograr reducir el error aproximado menor al 1%. El resultado final que se obtiene es:

Con un error aproximado igual al .

Ejemplo 2 Usar el método de iteración del punto fijo para aproximar la raíz de

, comenzando con y hasta que .

Solución Si despejamos la del término lineal, vemos que la ecuación equivale a

de donde,

En este caso, tenemos que . Un vistazo a la gráfica,

Page 125: Metodos numericos

Nos convence que , para , lo que es suficiente para deducir que el método sí converge a la raíz buscada.

Aplicando la fórmula iterativa, tenemos:

Con un error aproximado del 100%.

Aplicando nuevamente la fórmula iterativa, tenemos:

Con un error aproximado igual al 28.41%.

En este ejemplo, el método solo necesita de 5 iteraciones para reducir el error menor al 1%. Resumimos los resultados en la siguiente tabla:

Aprox. a la raíz Error aprox. 0 -0.2 100% -0.1557461506 28.41% -0.1663039075 6.34% -0.163826372 1.51% -0.164410064 0.35%

De donde vemos que la aproximación buscada es:

Page 126: Metodos numericos

Figura. Diagramas de flujo del método de iteración.

Ejemplo: Encontrar una raíz por el método iterativo del punto fijo.

Solución: f(x)=x*ex - 1 = 0 empezar con xo=0 y un Epsilon=0.001 x*ex = 1 x= 1 / ex x= e-x g(x)= e-x g&acute;(x)= e-x *[d(-x)/ dx] si se cumple

Page 127: Metodos numericos

Para x=0 que no es menor que 1 � no se cumple

Por lo tanto vemos que pasa con x>0 y x<0:

ejecute;(x)= - e-x

Por ejemplo para:

x=10 si se cumple

� no se cumple. Esto asegura que el despeje hecho si funciona para valores de x0. Probemos: Dado que xo=0 � se debe empezar con otro valor como xo=0.1 ó xo=1 y con la ecuación iterativa xact=e-xant x1=1 x2=e-1=0.367879441171 x3=e-x2 =0.692200627556 x4=e-x3=0.500473500563 x5=e-x4=0.606243535086 x6=e-x5=0.545395785975 x7=e-x6=0.579612335503 x8=e-x7=0.560115461361 x9=e-x8=0.57114311508 x10=e-x9=0. 564879347391 x11=e-x10=0.568428725029 x12=e-x11=0. 566414733147 x13=e-x12=0.567556637328 x14=e-x13=0.566908911922 x15=e-x14=0.567276232175

Esto tiende a converger al número 0.5673 Al número 0.567276232175 se le llama punto fijo de g(x), sin importar cual sea el xo. El punto fijo de g(x) es la raíz de f(x).

EJEMPLO: Encontrar una raíz para f(x)=5*x2-4*x-7 por el método iterativo del punto fijo dentro del intervalo (- 0.9,- 0.8).

Solución: Propongamos primero una función g(x)

Page 128: Metodos numericos

5*x2-4*x=7 factorizando a x y trabajando con respecto a la x que se factorizó: x(5x-4)=7 y despejando a x x = 7 / (5*x - 4) g(x)=7 / (5*x - 4) dg(x) / dx = d/dx(7 / (5*x-4) = (d/dx)(7*(5*x-4)-1) g´(x)=7*[(-1)*(5*x-4)-1-1((d/dx)(5*x-4))] g´(x)=7[(-1)(5*x-4)-2(5-0)] g´(x)=(7*(-1)*(5)) / (5*x-4)2 = -35 / (5*x-4)2 Probemos para los límites del intervalo dado para -0.9.

Ahora probemos para -0.8.

Por lo tanto el despeje propuesto, es decir g(x) si nos sirve.

Encontremos el punto fijo de g(x) es decir la raíz de f(x). Además de percatarnos que no es necesario un intervalo sino un solo valor de arranque, por lo que se trabajará con el valor inicial de xo=-0.85 el cual se encuentra dentro del intervalo

(-0.9,-0.8).

xo= -0.85 x1=7 / (5*xo-4) = -0.848484848486 x2=7 / (5*x2-4) = -0.849264705882 x3=7 / (5*x2-4) = -0.8488631129735 x4=7 / (5*x3-4) = -0.849069868054 x5=7 / (5*x4-4) = -0.848963423031 El valor tiende a -0.849 punto fijo de g(x) y raíz de f(x).

EJEMPLO: Encontrar una raíz para f(x)=x2-x-2 por el método iterativo del punto fijo cuyas raíces son (-1,2) Propongamos varias funciones de g(x) y veamos cuales de ellas si nos pueden servir: 1) respecto a la segunda x2-x-2=0 x2-2=x g1(x)=x= x2-2 2) respecto a x2 x2-x-2=0

Page 129: Metodos numericos

x2=2+x x= ±(2+x)1/2 2) g2(x)= -(2+x)1/2 3) g3(x)= (2+x)1/2 4) respecto a x2 x2-x-2=0 x2=x+2 se despeja con respecto a x*x x*x=x+2 x=1 + 2/x g4(x)= 1+2/x 5) factorizamos a x x2-x-2=0 x*(x-1)-2=0 x*(x-1)=2 x=2 / (x-1) g5(x)= 2 / (x-1) Probemos si g1(x) nos puede servir para encontrar las dos raíces (-1,2). g1(x)=x2-2 g1´(x)=2*x

2*x < 1 x < 1 / 2 Esto quiere decir que el despeje propuesto nos va a servir para encontrar la raíz con x que sea una sola palabra sea menor a 0.5. Probemos con xo=0 xAct=xAnt-2 x1= xo

2-2 x1=-2 x2= x1

2-2=(-2)2-2=2 x3= (-2)2-2=2 � 2 es el punto fijo de g(x) y es la raíz de f(x).

Como sabemos que una raíz es 2 veamos si 1.5 lo aproxima: Probemos con xo=1.5 x1= (1.5)2-2 x1=0.25 x2= x1

2-2=-1.9375 x3= x2

2-2=1.75390625 x4= x3

2-2=1.0768713379 No tiende a alguna convergencia. Esto demuestra que debe respetarse que x< (1/2) para esta ecuación iterativa. Probemos ahora g2(x) g2(x)=-(2+x)1/2 g2

1(x)=-(1/2)* (2+x)-1/2

Page 130: Metodos numericos

(1/2)* (2+x)-1/2< 1 (2+x)1/2 esta dividiendo y pasa multiplicando: 1 / (2*(2+x)1/2)< 1 1/2 < (2+x)1/2 elevo al cuadrado y reacomodo para despejar a x: 2+x > 1/4 x > 1/4 - 2 x > 1/4 - 8/4 x > -7/4 x > -1.75

Figura. Raíces en el plano cartesiano

Esto lo que quiere decir es que el despeje propuesto g2(x), nos debe de servir para poder encontrar las dos raíces -1 y 2. Probemos con xo=0 en g2(x): xAct=-(2+xAnt)1/2 Ecuación iterativa x1= -(2+xo)1/2=-1.41421356237 x2= -(2+x1)1/2=-0.765366864732 x3= -(2+x2)1/2=-1.11114046604 x4= -(2+x3)1/2=-0.94279347365 x5= -(2+x4)1/2=-1.02820548839 x6= -(2+x5)1/2=-0.9857 tiende a -1, punto fijo de g(x) y raíz de f(x). Probando con xo=0 en g3(x): xAct=(2+xAnt)1/2 Ecuación iterativa x1= (2+xo)1/2=1.41421356237 x2= (2+x1)1/2=1.84775906502 x3= (2+x2)1/2=1.96157056081 x4= (2+x3)1/2=1.99036945335 tiende a 2, punto fijo de g(x) y raíz de f(x). Por lo tanto xo si nos sirve para encontrar las dos raíces. Probando con g4(x): g4(x)=1 + 2/x g4´(x)=2*(-1) / x2

Page 131: Metodos numericos

g4´(x)= -2 / x2

x2 > 2 x > 21/2 x > 1.4142 Esto quiere decir que el despeje hecho, nos podrá servir para encontrar la raíz mayor a 1.4142 o sea para encontrar la raíz. Probemos ahora g5(x): Se desea saber si ¿este despeje es válido para encontrar la raíz de -1? O bien ¿este despeje es válido para encontrar la raíz 2? g5(x)= 2 / (x-1) = 2*(x-1)-1 g5´(x)=2*(-1)*(x-1)-2 dx/dx g5´(x)= -2 / (x-1)2

Probemos sí esto fuese válido para encontrar la raíz igual a -1.

Y el despeje propuesto, si nos sirve para encontrar esta raíz. Ahora probemos si el despeje de g5(x), nos sirve para encontrar la raíz igual a 2.

Y el despeje propuesto, no nos sirve para encontrar la segunda raíz.

Page 132: Metodos numericos

Figura. Formas de convergencia.

222...111...777... MMMééétttooodddooo dddeee MMMüüülllllleeerrr pppaaarrraaa rrraaaíííccceeesss cccooommmpppllleeejjjaaasss

La eficacia del método de Newton-Raphson requiere obtener una buena aproximación inicial.

Una forma adecuada de encontrar los ceros aproximados, o raíces de un polinomio p(x), es la siguiente:

-Evalúe p(x) en xi para i=1,2,…, k; si p (xi)p(xj) < 0 entonces p tiene un cero entre xi y xj.

Page 133: Metodos numericos

Otro problema que se presenta al aplicar el método de Newton-Raphson a los polinomios, es la posibilidad de que el polinomio contenga raíces complejas, cuando todos los coeficientes son números reales.

Si la aproximación inicial mediante el método de Newton-Raphson es un número real, también lo serán las aproximaciones subsecuentes. De manera tal que para poder encontrar las raíces complejas se debe de comenzar con una aproximación inicial compleja y efectuar todos los cálculos por medio de la aritmética compleja.

Método de Müller para raíces reales y complejas Se ha puesto en práctica en las computadoras con éxito sorprendente. Se puede usar para encontrar cualquier tipo de raíz, real o compleja, de una función arbitraria. Converge casi cuadráticamente en un intervalo cercano a la raíz y, a diferencia del método de Newton-Raphson, no requiere la evaluación de la primera derivada de la función y obtiene raíces reales y complejas aun cuando estas raíces sean repetidas. La aplicación del método requiere valores iniciales y es una extensión del método de la secante, el cual aproxima la gráfica de la función f(x) por una línea recta que pasa por los puntos (xi-1, f(xi-1) y (xi, f(xi). El punto de intersección de esta línea con el eje x da la nueva aproximación xi+1. En lugar de aproximar f(x) por una función lineal (línea recta o polinomio de grado 1), resulta natural tratar de obtener una convergencia más rápida aproximando f(x) por un polinomio p(x) de grado n>1 que coincida con f(x) en los puntos de abscisas xi, xi-1,…, xi-n y determinar xi+1 como una de las raíces de p(x). A continuación se describe el caso n = 2, en que el estudio detallado de Müller encontró que la elección de n da resultados satisfactorios. Se toman tres valores iniciales x0, x1, x2 y se halla el polinomio p(x) de segundo grado que pasa por los puntos (x0, f(x0)), (x1, f(x1)) y (x2, f(x2)) y se toma una de las raíces de p(x), la más cercana a x2, como la siguiente aproximación x3. Se repite la operación con los nuevos valores iniciales x1, x2, x3 y se termina el proceso tan pronto como se satisfaga algún criterio de convergencia. La figura siguiente ilustra en forma gráfica el método de Müller.

Page 134: Metodos numericos

Sean xi, xi-1, xi-2 tres aproximaciones distintas a una raíz de f(x) = 0:

i xi f(xi) Δf Δ2 f

0 x0 f[x0]

1 x1 f[x1]

Cálculo de las diferencias Divididas

[ ] [ ] [ ]01

0110 xx

xfxf x,xf

−−

=

[ ] [ ] [ ]12

1221 xx

xfxf x,xf

−−

=

[ ] [ ] [ ]02

1021210 xx

x,xf x,xf x, x,xf

−−

=

y en un abuso de notación se usa la siguiente notación: fi = f(xi) fi-1 = f(x i-1) fi-2 = f(x i-2) y calcular las funciones

[ ]

[ ]( )1

,

,

12

1212

01

0101

⎪⎪⎩

⎪⎪⎨

−−

=

−−

=

xxff

xxf

xxff

xxf

[ ] [ ] [ ] ( )2

,,,,

02

0112012 xx

xxfxxfxxxf

−−

=

La función p(x) = fi + f[x i, x i-1] (x – xi) + f[x i, x i-1, x i-2] (x – xi) (x – xi-1) (3) es un polinomio de segundo grado que es una parábola única que pasa por los puntos (xi, fi), (xi-1, fi-1) y (xi-2, fi-2)). Recordando la ecuación de un polinomio de segundo grado o parábola es: p(x) = a0 + a1 x + a2 x2 (4) Al comparar esta última expresión (4) con la ecuación (3) se establece la siguiente identificación:

[ ][ ] ( ) ( )

[ ]( )2112220

212121

0122

axx,xa5axxx,xa

x,x,xa

−−=+−=

=

fxfff

Estos coeficientes corresponden a los coeficientes de la parábola a0, a1 y a2. Las raíces del polinomio p(x) se determinan a partir de la ecuación cuadrática:

2a4acbbx

2 −±−=

Page 135: Metodos numericos

Que re-escrita para eliminar errores:

4acbb-2x

4acbb2x

22 −±=⇒

−±

−=

cc

Substituyendo los valores de a = a2, b = a1, c = a0, x = xi+1 para encontrar la fórmula iterativa de xi+1:

( )64

2

20211

01

aaaaa

xi−±−

=+

Se selecciona el signo que precede al radical de manera que el denominador sea máximo en magnitud y con esto se encuentra el valor más cercano a xi, y la raíz correspondiente es la siguiente aproximación xi+1. La razón para escribir la fórmula cuadrática de esta manera es obtener mayor exactitud, ya disminuida por las diferencias de las ecuaciones (1) y (2), que se utilizan en el cálculo de a0, a1 y a2 y que son aproximaciones a las derivadas de la función f(x). Puede ocurrir que la raíz cuadrada en la ecuación (6) sea compleja. Si f(x) no está definida para valores complejos, el algoritmo deberá reiniciarse con nuevos valores iniciales. Si f(x) es un polinomio, la posibilidad de raíces complejas es latente y el valor de x puede considerarse como aproximación a alguna de estas raíces y, por tanto, deberá emplearse en la siguiente iteración. Ejemplo Usando el método de Müller, encuentre una raíz real de la ecuación polinomial: f(x) = x3 + 2x2 +10x -20 = 0 Con valores iniciales o de arranque: x0 = 0; x1 = 1; x2 = 2 Solución: P1) Se seleccionan valores iniciales a: x0 = 0; x1 = 1; x2 = 2 P2) Evaluar la función f(x) en los puntos x0, x1, x2 , se tiene: f(x0) = f(0) = (0)3 + 2(0)2 +10(0) -20 = -20 f(x1) = f(1) = (1)3 + 2(1)2 +10(1) -20 = -7 f(x2) = f(2) = (2)3 + 2(2)2 +10(2) -20 = 16 En un abuso de notación se escribirá f(x0) = f0; f(x1) = f1; f(x2) = f2 f0 = -20; f1 = -7 f2 = 16 P3) Se calculan ahora los coeficientes del polinomio de segundo grado.

[ ] 1301207,

01

0101 =

−+−

=−−

=xxff

xxf

[ ] 2312716,

12

1212 =

−+

=−−

=xxff

xxf

Page 136: Metodos numericos

[ ] [ ] [ ]5

021323,,

,,02

0112012 =

−−

=−−

=xx

xxfxxfxxxf

P4) Renombrando a las diferencias divididas como los coeficientes ai, se calculan las ai’s:

[ ] 5x,x,xa 0122 == f [ ] ( ) ( ) 851223axxx,xa 212121 =+−=+−= f

[ ]( ) ( )( ) 205123216axx,xa 2112220 −=−−=−−= fxf

P5) Se calculan los denominadores 20211 a4aaa −±− de la ecuación (6):

13.54066400648a4aaa 20211 =++−=−+−

54066.29-400648a4aaa 20211 =+−−=−−−

P6) Se obtiene el mayor de los dos posibles denominadores siendo:

mayor = mayor { 2021120

211 a4aaa,a4aaa −±−−+−

} mayor = mayor{|13.54066 |, |-29.54066|}⇒ mayor = |-29.54066| ⇒ mayor = -29.54066 P7) Se calcula x3:

( ) 35407.154066.29202

4

23

20211

03 =

−−

=⇒−±−

= xaaaa

ax

P8) Como es la primera iteración aún no puede calcularse el ERA, así que se procede a iterar nuevamente. P1) Se retoman nuevos valores iniciales recorriendo los subíndices de x: x0 ← x1; x1 ← x2; x2 ← x3; x = 1; x1 = 2; x2 = 1.35407 P2) Evaluar la función f(x) en los puntos x0, x1, x2, se tiene: f0 = -7; f1 = 16 f2 = -0.30968 P3) Se calculan ahora los coeficientes del polinomio de segundo grado.

[ ] 2312716,

01

0101 =

−+

=−−

=xxff

xxf

[ ] 24999.25235407.11630968.0,

12

1212 =

−−−

=−−

=xxff

xxf

[ ] [ ] [ ]35407.6

135407.12324999.25,,

,,02

0112012 =

−−

=−−

=xx

xxfxxfxxxf

P4) Se calculan las ai’s:

[ ] 35407.6x,x,xa 0122 == f [ ] ( ) ( ) 9378.335407.6235407.124999.25axxx,xa 212121 =+−=+−= f

[ ]( ) ( )( ) 29187.1735407.6224999.2535407.130968.0axx,xa 2112220 −=−−−=−−= fxf

P5) Se calculan los denominadores 20211 a4aaa −±− de la ecuación (6):

39295.71a4aaa 20211 =−+−

Page 137: Metodos numericos

26855.25a4aaa 20211 −=−−−

P6) Se obtiene el mayor de los dos posibles denominadores siendo: 25.2685525.26855-mayor ==

P7) Se calcula x3:

36865.14

23

20211

03 =⇒

−±−= x

aaaa

ax

P8) Como es la segunda iteración ya puede calcularse el ERA:

iterandosigueERA0.010654ERA1.36865

1.354071.36865absERA ⇒>⇒=⇒⎟⎠⎞

⎜⎝⎛ −

= ξ

La siguiente tabla muestra un resumen de las iteraciones: Iteración x3 1 0 2 1 3 2 4 1.35407 5 1.36865 6 1.36881

Solución 2: P1) En Excel: Método de Müller En general en cualquier fila, para "x0":

x0 <== x1En general en cualquier fila, para "x1":x1 <== x2En general en cualquier fila, para "x2":x2 <== x3

x0 USU x1 USU x2 USU EpsilonIntervalo 0 1 2 0.0001

Iteración x0 x1 x2 x3 f(x0) f(x1) f (x2) f[x1,x0] f[x2,x1] f[x2,x1,x0]1 0 1 2 1.354066 -20 -7 16 13 23 52 1 2 1.3540659 1.368647 -7 16 -0.309679 23 25.24976 6.354065923 2 1 1.3686472 1.368808 16 -0.309679 -0.003394 25.24976 21.00535 6.722713154 1.354066 1 1.3688080 1.368808 -0.309679 -0.003394 -1.5E-06 21.00535 21.09516 6.091521195 1.368647 1 1.3688081 1.368808 -0.003394 -1.5E-06 1.6E-13 21.09516 21.09614 6.105992456 1.368808 1 1.3688081 1.368789 -1.5E-06 1.6E-13 0 21.09614 21.17647 1132566.22

( ) 020102 23 =−++= xxxxf

[ ]01

0101 ,

xxff

xxf−−

=

[ ]12

1212 ,

xxff

xxf−−

=

[ ] [ ] [ ]02

0112012

,,,,

xxxxfxxf

xxxf−−

=20

211

03

a4aaa

2ax

−±−=

La continuación de la hoja en Excel es:

Page 138: Metodos numericos

a2 a1 a0 denominador+ denominador- ERA Observaciones5 8 -20 13.54065923 -29.54065923

6.3541 3.937802 -17.29187 17.39294945 -25.26855391 0.010654 sigue iterando6.7227 2.701335 -16.29352 18.40420759 -23.80687783 0.000117 sigue iterando6.0915 4.41989 -17.46327 16.67624719 -25.51602675 0.000000 La raíz es1.368808107821386.106 4.380275 -17.43616 16.71586393 -25.47641466 0.000000 La raíz es1.368808107821371E+06 -3100510 2121987 3100531.658 3100489.306 0.000014 La raíz es1.3687894100601

[ ]0122 x,x,xa f=

[ ] ( ) 212121 axxx,xa +−= f

[ ]( )2112220 axx,xa −−= fxf

P2) Se calculan los puntos del polinomio y se grafica:

x f(x)0 -20

0.125 -18.71680.25 -17.35938

0.375 -15.916020.5 -14.375

0.625 -12.724610.75 -10.95313

0.875 -9.0488281 -7

1.125 -4.7949221.25 -2.421875

1.375 0.1308591.5 2.875

1.625 5.8222661.75 8.984375

1.875 12.373052 16

Método de Müller

-25

-20

-15

-10

-5

0

5

10

15

20

0 0.5 1 1.5 2 2.5

X

Y

Page 139: Metodos numericos

Ejemplo Usando el método de Müller, encuentre una raíz real de la ecuación polinomial:

( ) 104xxxf 23 −+= Solución: P1) En Excel: Método de Müller En general en cualquier fila, para "x0":

x0 <== x1En general en cualquier fila, para "x1":x1 <== x2En general en cualquier fila, para "x2":x2 <== x3

x0 USU x1 USU x2 USU EpsilonIntervalo 1 1.5 2 0.0001

Iteración x0 x1 x2 x3 f(x0) f(x1) f (x2) f[x1,x0] f[x2,x1] f[x2,x1,x0]1 1 1.5 2 -0.602392 -5 2.375 14 14.75 23.25 8.52 1.5 2 -0.6023923 1.376046 2.875 16 -25.5168 26.25 15.95331 4.89760773 2 -1 1.3760462 1.369211 16 -25.516764 0.15302 15.95331 12.97477 4.773653874 -0.602392 1 1.3692110 1.368808 -25.51676 0.15301534 0.0085 12.97477 21.14285 4.142864885 1.376046 1 1.3688084 1.368808 0.153015 0.00850065 5.7E-06 21.14285 21.0986 6.114065556 1.369211 1 1.3688081 1.368808 0.008501 5.7444E-06 -7.9E-13 21.0986 21.09614 6.1068409

104)( 23 −+= xxxf

[ ]01

0101 ,

xxff

xxf−−

=

[ ]12

1212 ,

xxff

xxf−−

=

[ ] [ ] [ ]02

0112012

,,,,

xxxxfxxf

xxxf−−

=20

211

03

a4aaa

2ax

−±−=

La continuación de la hoja en Excel es:

a2 a1 a0 denominador+ denominador- ERA Observaciones8.5 -6.5 -7 23.24066904 -10.24066904

4.897608 9.108373 -21.80718 13.47866859 -31.69541467 1.437770 sigue iterando4.773654 9.281612 -21.65784 13.07227886 -31.6355026 0.004992 sigue iterando4.142865 9.769624 -21.13497 11.34157632 -30.88082475 0.000294 sigue iterando6.114066 4.358171 -17.42103 16.737965 -25.45430784 0.000000 La raíz es1.368808107821346.106841 4.377953 -17.43457 16.71818668 -25.47409198 0.000000 La raíz es1.36880810782137

[ ]0122 x,x,xa f=

[ ] ( ) 212121 axxx,xa +−= f

[ ]( )2112220 axx,xa −−= fxf

Page 140: Metodos numericos

P2) Se calculan los datos:

x0 USU 0x2 USU 2

Subintervalos 10Incremento 0.2 *

x f(x)0 -10

0.2 -9.8320.4 -9.2960.6 -8.3440.8 -6.9281 -5

1.2 -2.5121.4 0.5841.6 4.3361.8 8.7922 14

P3) Se gráfica con estos datos:

Método de Müller

-15

-10

-5

0

5

10

15

20

0 0.5 1 1.5 2 2.5

X

Y

Métodos de Müller para Raíces Complejas Para entender y aplicar este método analicemos el siguiente ejemplo: Ejemplo Usando el método de Müller, encuentre una raíz compleja de la ecuación polinomial:

( ) 042 =+= xxf Cuyos valores de arranque son: x0 = 0; x1 = 1; x2 = -1

Page 141: Metodos numericos

Solución: P1) Se seleccionan valores iniciales a: x0 = 0; x1 = 1; x2 = -1 P2) Evaluar la función f(x) en los puntos x0, x1, x2, se tiene: En un abuso de notación se escribirá f(x0) = f0; f(x1) = f1; f(x2) = f2 f0 = 4; f1 = 5 f2 = 5 P3) Se calculan ahora los coeficientes del polinomio de segundo grado.

[ ] 10145,

01

0101 =

−−

=−−

=xxff

xxf

[ ] 011

55,12

1212 =

−−−

=−−

=xxff

xxf

[ ] [ ] [ ]1

0110,,

,,02

0112012 =

−−−

=−−

=xx

xxfxxfxxxf

P4) Se calculan las ai’s:

[ ] 1x,x,xa 0122 == f [ ] ( ) ( )( ) 01110axxx,xa 212121 =+−−=+−= f

[ ]( ) ( ) ( )( ) 411015axx,xa 2112220 =−−−=−−= fxf

P5) Se calculan los denominadores 20211 a4aaa −±− de la ecuación (6):

( )( ) i416-14400a4aaa 20211 ==−+=−+−

( )( ) i416-14400a4aaa 20211 −=−=−−=−−−

P6) Se obtiene el mayor de los dos posibles denominadores, sin embargo en este caso como son de igual magnitud se usa cualquiera de ellas, por ejemplo:

ii 44mayor == P7) Se calcula x3:

( )ii

xaaaa

ax 2

442

4

23

20211

03 ==⇒

−±−=

Al multiplicar el numerado y denominador por i, queda:

ixixii

ix 2

122

333 −=⇒−

=⇒⎟⎠⎞

⎜⎝⎛=

P8) Nótese que aun cuando x0, x1, x2 son números reales, x3 ha resultado número complejo y además es la raíz buscada, lo cual resulta lógico, ya que la ecuación polinomial

( ) 042 =+= xxf es una parábola y el método de Müller consiste, en el caso n = 2, en usar una parábola para sustituir la función. La otra raíz es el complejo conjugado de x3, o sea x3 = 2i.

Page 142: Metodos numericos

EJERCICIOS

NOTA: Usa todos los dígitos en tu calculadora para que la aproximación sea lo más exacta posible.

1. Usa el método de bisección para aproximar la raíz de comenzando en el intervalo y hasta que .

Solución: .

2. Usa el método de bisección para aproximar la raíz de comenzando en el intervalo y hasta que .

Solución: .

3. Usa el método de la regla falsa para aproximar la raíz de comenzando en el intervalo y hasta que .

Solución: .

4. Usa el método de la regla falsa para aproximar la raíz de comenzando en el intervalo y hasta que .

Solución: .

5. Usa el método de Newton-Raphson para aproximar la raíz de comenzando con y hasta que .

Solución: .

6. Usa el método de Newton-Raphson para aproximar la raíz de , comenzando con y hasta que .

Solución: .

Page 143: Metodos numericos

7. Usa el método de la secante para aproximar la raíz de comenzando con y hasta que .

Solución: .

8. Usa el método de la secante para aproximar la raíz de comenzando con y hasta que .

Solución: .

9. Usa el método de iteración del punto fijo para aproximar la raíz de comenzando con y hasta que .

Solución: .

10. Usa el método de iteración del punto fijo para aproximar la raíz de comenzando con y hasta que .

Solución: .

Page 144: Metodos numericos

222...222... SSSIIISSSTTTEEEMMMAAASSS DDDEEE EEECCCUUUAAACCCIIIOOONNNEEESSS AAALLLGGGEEEBBBRRRAAAIIICCCAAASSS LLLIIINNNEEEAAALLLEEESSS SSSIIISSSTTTEEEMMMAAASSS DDDEEE EEECCCUUUAAACCCIIIOOONNNEEESSS AAALLLGGGEEEBBBRRRAAAIIICCCAAASSS NNNOOO LLLIIINNNEEEAAALLLEEESSS

ECUACIÓN ALGEBRÁICA LINEAL

Es aquella en donde en cada término de la ecuación aparece únicamente una variable o incógnita elevada a la primera potencia. Por ejemplo:

a 11 X1 + a 12 X2 + a 13 X3 + ... + a 1n Xn = C1 (1)

Es una ecuación algebraica lineal en las variables X1, X2, X3,..., Xn. Se admite que los coeficientes a11, a12, a13,..., a1n y el término independiente C1, son constantes reales.

Diagrama de flujo del cálculo de cofactores.

SISTEMA DE ECUACIONES

Es un conjunto de ecuaciones que deben resolverse simultáneamente. En los sucesivo se considerarán únicamente sistemas de ecuaciones algebraicas lineales, o sea conjuntos de ecuaciones de la forma:

a11 X 1 + a 12 X2 + a13 X 3 +... + a 1n X n = C 1 (a) a 21 X 1 + a 22 X 2 + a 23 X 3 +... + a 2n X n = C 2 (b) (2)

Page 145: Metodos numericos

... a n1 X 1 + a n2 X 2 + a n3 X 3 + ... + a nn X n = C n (c)

Aplicando la definición de producto entre matrices, este sistema de n ecuaciones algebraicas lineales con n incógnitas puede escribirse en forma matricial.

(3)

Este sistema de ecuaciones puede escribirse simbólicamente como:

A X = C (4)

En donde A se llama Matriz del Sistema. La matriz formada por A, a la que se le ha agregado el vector de términos independientes como última columna, se le llama la Matriz Ampliada del Sistema, que se representa con (A, C).

Entonces la matriz ampliada será:

(5)

222...222...111... MMMééétttooodddooo dddeee eeellliiimmmiiinnnaaaccciiióóónnn

Es un conjunto de valores de las incógnitas que verifican simultáneamente a todas y cada una de las ecuaciones del sistema.

De acuerdo con su solución, un sistema puede ser: Consistente, si admite solución; o Inconsistente, si no admite solución.

Un sistema Consistente puede ser: Determinado, si la solución es única o Indeterminado, si la solución no es única. En este caso se demuestra que existe una infinidad de soluciones.

Page 146: Metodos numericos

Teoremas sobre rangos

El rango de una matriz es el orden de determinante no nulo de mayor orden que puede obtenerse de esa matriz. El rango de la matriz A se representa con la notación r(A) y el de la matriz ampliada con r(A, C).

En álgebra se demuestra que:

1. Para cualquier sistema, 2. Si r(A) < r(A, C) el sistema es inconsistente 3. Si r(A) = r(A, C) el sistema de ecuaciones es consistente

En este caso, si además r(A) = n, el sistema es determinado e indeterminado si r(A) < n, siendo n el número de variables en el sistema.

En general, hay dos tipos de técnicas numéricas para resolver ecuaciones simultáneas: Directas, que son finitas; e Indirectas, que son infinitas.

Naturalmente, ninguna técnica práctica puede ser infinita. Lo que queremos decir es que en un principio los métodos directos (despreciando errores por redondeo) producirán una solución exacta, si la hay, en un número finito de operaciones aritméticas.

Por otra parte, un método indirecto requerirá en principio un número infinito de operaciones aritméticas para producir una solución exacta. Dicho de otra manera, un método indirecto tiene un error por truncamiento mientras que un método directo no lo tiene.

Sin embargo, la expresión "en principio" del párrafo anterior es crucial: en realidad se tienen errores por redondeo. Tendremos que considerar más cuidadosamente esta cuestión. En un sistema grande, mal comportado, los errores por redondeo de un método directo puede hacer que la "solución" carezca de sentido. A pesar de su error teórico por truncamiento, un método indirecto puede ser mucho más deseable porque en él los errores por redondeo no se acumulan.

222...222...222... MMMééétttooodddooo dddeee eeellliiimmmiiinnnaaaccciiióóónnn dddeee GGGaaauuussssss

El primer método que se presenta usualmente en álgebra, para la solución de ecuaciones algebraicas lineales simultáneas, es aquel en el que se eliminan las incógnitas mediante la combinación de las ecuaciones. Este método se conoce como Método de Eliminación. Se denomina eliminación Gaussiana si en el proceso de eliminación se utiliza el esquema particular atribuido a Gauss.

Page 147: Metodos numericos

Utilizando el método de Gauss, un conjunto de n ecuaciones con n incógnitas se reduce a un sistema triangular equivalente (un sistema equivalente es un sistema que tiene iguales valores de la solución), que a su vez se resuelve fácilmente por "sustitución inversa"; un procedimiento simple que se ilustrará con la presentación siguiente.

El esquema de Gauss empieza reduciendo un conjunto de ecuaciones simultáneas, tal como se muestra en (2), a un sistema triangular equivalente como:

(6)

En el cual los superíndices indican los nuevos coeficientes que se forman en el proceso de reducción. La reducción real se logra de la siguiente manera:

1. La primera ecuación (2) se divide entre el coeficiente de X1 en esa ecuación para obtener:

(7)

2. La ec. (7) se multiplica entonces por el coeficiente de X1 de la segunda ecuación (2) y la ecuación que resulta se resta de la misma, eliminando así X1. La ec. (7) se multiplica entonces por el coeficiente de X1 de la tercera ecuación (2), y la ecuación resultante se resta de la misma para eliminar X1 de esa ecuación. En forma similar, X1 se elimina de todas las ecuaciones del conjunto excepto la primera, de manera que el conjunto adopta la forma:

(8)

Page 148: Metodos numericos

3. La ecuación utilizada para eliminar las incógnitas en las ecuaciones que la siguen se denomina Ecuación Pivote. En la ecuación pivote, el coeficiente de la incógnita que se va a eliminar de las ecuaciones que la siguen se denomina el Coeficiente Pivote (a11 en los pasos previos).

4. Siguiendo los pasos anteriores, la segunda ecuación (8) se convierte en la ecuación pivote, y los pasos de la parte 1 se repiten para eliminar X2 de todas las ecuaciones que siguen a esta ecuación pivote. Esta reducción nos conduce a:

(9)

5. A continuación se utiliza la tercer ecuación (9) como ecuación pivote, y se usa el procedimiento descrito para eliminar X3 de todas las ecuaciones que siguen a la tercer ecuación (9). Este procedimiento, utilizando diferentes ecuaciones pivote, se continúa hasta que el conjunto original de ecuaciones ha sido reducido a un conjunto triangular tal como se muestra en la ec. (6).

6. Una vez obtenido el conjunto triangular de ecuaciones, la última ecuación de este conjunto equivalente suministra directamente el valor de Xn (ver ec. 6). Este valor se sustituye entonces en la antepenúltima ecuación del conjunto triangular para obtener un valor de Xn-1, que a su vez se utiliza junto con el valor de Xn en la penúltima ecuación del conjunto triangular para obtener un valor Xn-2 y asi sucesivamente. Este es el procedimiento de sustitución inversa al que nos referimos previamente. Para ilustrar el método con un conjunto numérico, apliquemos estos procedimientos a la solución del siguiente sistema de ecuaciones:

X1 + 4 X2 + X3 = 7 X1 + 6 X2 - X3 = 13 (10)2 X1 - X2 + 2 X3 = 5

Utilizando como ecuación pivote la primera ecuación (el coeficiente pivote es unitario), obtenemos:

X1 + 4 X2 + X3 = 72 X2 - 2 X3 = 6 (11)9 X2 + (0) X3 = -9

Page 149: Metodos numericos

A continuación, utilizando la segunda ecuación del sistema (11) como ecuación pivote y repitiendo el procedimiento, se obtiene el siguiente sistema triangular de ecuaciones:

X1 + 4 X2 + X3 = 72 X2 - 2 X3 = 6 (12)- 9 X3 = 18

Finalmente mediante sustitución inversa, comenzando con la última de las ecs. (12) se obtienen los siguientes valores:

X3 = -2 X2 = 1 X1 = 5

DESVENTAJAS DEL MÉTODO DE ELIMINACIÓN

1. División entre cero

Una de sus desventajas es que durante el proceso en las fases de eliminación y sustitución es posible que ocurra una división entre cero. Se ha desarrollado una estrategia del pivoteo para evitar parcialmente estos problemas. Ésta se deja como investigación al alumno.

2. Errores de redondeo

La computadora maneja las fracciones en forma decimal con cierto número limitado de cifras decimales, y al manejar fracciones que se transforman a decimales que nunca terminan, se introduce un error en la solución de la computadora. Este se llama error por redondeo.

Cuando se va a resolver solamente un pequeño número de ecuaciones, el error por redondeo es pequeño y generalmente no se afecta sustancialmente la precisión de los resultados, pero si se van a resolver simultáneamente muchas ecuaciones, el efecto acumulativo del error por redondeo puede introducir errores relativamente grandes en la solución. Por esta razón el número de ecuaciones simultáneas que se puede resolver satisfactoriamente con el método de eliminación de Gauss, utilizando de 8 a 10 dígitos significativos en las operaciones aritméticas, se limita generalmente a 15 o 20.

Page 150: Metodos numericos

3. Sistemas mal condicionados

La obtención de la solución depende de la condición del sistema. En sentido matemático, los sistemas bien condicionados son aquellos en los que un cambio en uno o más coeficientes provoca un cambio similar en la solución. Los sistemas mal condicionados son aquellos en los que cambios pequeños en los coeficientes provocan cambios grandes en la solución.

Una interpretación diferente del mal condicionamiento es que un rango amplio de respuestas puede satisfacer aproximadamente al sistema. Ya que los errores de redondeo pueden inducir cambios pequeños en los coeficientes, estos cambios artificiales pueden generar errores grandes en la solución de sistemas mal condicionados.

222...222...333... MMMééétttooodddooo dddeee GGGaaauuussssss --- JJJooorrrdddaaannn

Este método, que constituye una variación del método de eliminación de Gauss, permite resolver hasta 15 o 20 ecuaciones simultáneas, con 8 o 10 dígitos significativos en las operaciones aritméticas de la computadora. Este procedimiento se distingue del método Gaussiano en que cuando se elimina una incógnita, se elimina de todas las ecuaciones restantes, es decir, las que preceden a la ecuación pivote así como de las que la siguen.

El método se ilustra mejor con un ejemplo. Resolvamos el siguiente conjunto de ecuaciones

3.0 X1 - 0.1 X2 - 0.2 X3 = 7.8500 0.1 X1 + 7.0 X2 - 0.3 X3 = - 19.3 0.3 X1 - 0.2 X2 + 10 X3 = 71.4000

Primero expresemos los coeficientes y el vector de términos independientes como una matriz aumentada.

Se normaliza el primer renglón dividiendo entre 3 para obtener:

Page 151: Metodos numericos

El término X1 se puede eliminar del segundo renglón restando 0.1 veces el primero del segundo renglón. De una manera similar, restando 0.3 veces el primero del tercer renglón se elimina el término con X1 del tercer renglón.

En seguida, se normaliza el segundo renglón dividiendo entre 7.00333:

Reduciendo los términos en X2 de la primera y la tercera ecuación se obtiene:

El tercer renglón se normaliza dividiéndolo entre 10.010:

Finalmente, los términos con X3 se pueden reducir de la primera y segunda ecuación para obtener:

Page 152: Metodos numericos

Nótese que no se necesita sustitución hacia atrás para obtener la solución.

Las ventajas y desventajas de la eliminación gaussiana se aplican también al método de Gauss-Jordan.

Aunque los métodos de Gauss-Jordan y de eliminación de Gauss pueden parecer casi idénticos, el primero requiere aproximadamente 50% menos operaciones. Por lo tanto, la eliminación gaussiana es el método simple por excelencia en la obtención de soluciones exactas a las ecuaciones lineales simultáneas. Una de las principales razones para incluir el método de Gauss-Jordan, es la de proporcionar un método directo para obtener la matriz inversa.

Inversión de matrices

Sea A una matriz cuadrada no singular, es decir, que su determinante sea diferente de cero . Por definición de matriz inversa, se tiene que

Es la inversa de A si:

(13)

Haciendo y sustituyendo en la ecuación anterior, se obtiene

A X = I (14)

Puede considerarse que esta ecuación matricial representa un sistema de ecuaciones simultáneas, en donde no hay un solo vector de términos independientes sino n, los n vectores básicos que forman la matriz unitaria I. Además, no existe un solo vector de incógnitas, sino n, los que corresponden a cada columna de la matriz unitaria.

Por lo anterior, es posible determinar la inversa de una matriz con el método de Gauss-Jordan de eliminación completa. Para lograrlo, bastará con aplicar las

Page 153: Metodos numericos

operaciones elementales sobre los renglones de la matriz ampliada (A, I) de manera de transformar A en I. Cuando se haya hecho, se obtendrá la matriz ampliada , con lo que se tendrá la inversa buscada.

EJEMPLO

Invertir la matriz

Auméntese la matriz de coeficientes con una matriz identidad

Usando a11 como pivote, el renglón 1 se normaliza y se usa para eliminar a X1 de los otros renglones.

En seguida, se usa a22 como pivote y X2 se elimina de los otros renglones.

Finalmente, se usa a33 como pivote y X3 se elimina de los renglones restantes:

Page 154: Metodos numericos

Por lo tanto, la inversa es:

Se puede resolver un sistema de ecuaciones con la inversa de la matriz de coeficientes, de la siguiente manera:

Donde C es el vector de términos independientes.

Comparando ambos métodos, es evidente que el método de inversión de matrices no es práctico para la solución de un sólo conjunto (o dos o tres conjuntos) de ecuaciones simultáneas, porque la cantidad de cálculos que intervienen para determinar la matriz inversa es muy grande. Sin embargo, si se desea resolver 20 conjuntos de 10 ecuaciones simultáneas que difieren únicamente en sus términos independientes, una matriz aumentada que contiene 20 columnas de constantes (que se utilizarían en el método de eliminación) sería difícil de reducir, y se podría usar con ventaja el método de inversión de matrices.

222...222...444... MMMééétttooodddooo dddeee GGGaaauuussssss---SSSeeeiiidddeeelll

El método de eliminación para resolver ecuaciones simultáneas suministra soluciones suficientemente precisas hasta para 15 o 20 ecuaciones. El número exacto depende de las ecuaciones de que se trate, del número de dígitos que se conservan en el resultado de las operaciones aritméticas, y del procedimiento de redondeo. Utilizando ecuaciones de error, el número de ecuaciones que se pueden manejar se puede incrementar considerablemente a más de 15 o 20, pero este método también es impráctico cuando se presentan, por ejemplo, cientos de ecuaciones que se deben resolver simultáneamente. El método de inversión de matrices tiene limitaciones similares cuando se trabaja con números muy grandes de ecuaciones simultáneas.

Sin embargo, existen varias técnicas que se pueden utilizar, para resolver grandes números de ecuaciones simultáneas. Una de las técnicas más útiles es el método de Gauss-Seidel. Ninguno de los procedimientos alternos es totalmente satisfactorio, y el método de Gauss-Seidel tiene la desventaja de que no siempre converge a una solución o de que a veces converge muy lentamente. Sin embargo, este método convergirá siempre a una solución cuando la magnitud del coeficiente de una incógnita diferente en cada ecuación del conjunto, sea

Page 155: Metodos numericos

suficientemente dominante con respecto a las magnitudes de los otros coeficientes de esa ecuación.

Es difícil definir el margen mínimo por el que ese coeficiente debe dominar a los otros para asegurar la convergencia y es aún más difícil predecir la velocidad de la convergencia para alguna combinación de valores de los coeficientes cuando esa convergencia existe. No obstante, cuando el valor absoluto del coeficiente dominante para una incógnita diferente para cada ecuación es mayor que la suma de los valores absolutos de los otros coeficientes de esa ecuación, la convergencia está asegurada. Ese conjunto de ecuaciones simultáneas lineales se conoce como sistema diagonal.

Un sistema diagonal es condición suficiente para asegurar la convergencia pero no es condición necesaria. Afortunadamente, las ecuaciones simultáneas lineales que se derivan de muchos problemas de ingeniería, son del tipo en el cual existen siempre coeficientes dominantes.

La secuencia de pasos que constituyen el método de Gauss-Seidel es la siguiente:

1. Asignar un valor inicial a cada incógnita que aparezca en el conjunto. Si es posible hacer una hipótesis razonable de éstos valores, hacerla. Si no, se pueden asignar valores seleccionados arbitrariamente. Los valores iniciales utilizados no afectarán la convergencia como tal, pero afectarán el número de iteraciones requeridas para dicha convergencia.

2. Partiendo de la primera ecuación, determinar un nuevo valor para la incógnita que tiene el coeficiente más grande en esa ecuación, utilizando para las otras incógnitas los valores supuestos.

3. Pasar a la segunda ecuación y determinar en ella el valor de la incógnita que tiene el coeficiente más grande en esa ecuación, utilizando el valor calculado para la incógnita del paso 2 y los valores supuestos para las incógnitas restantes.

4. Continuar con las ecuaciones restantes, determinando siempre el valor calculado de la incógnita que tiene el coeficiente más grande en cada ecuación particular, y utilizando siempre los últimos valores calculados para las otras incógnitas de la ecuación. (Durante la primera iteración, se deben utilizar los valores supuestos para las incógnitas hasta que se obtenga un valor calculado). Cuando la ecuación final ha sido resuelta, proporcionando un valor para la única incógnita, se dice que se ha completado una iteración.

5. Continuar iterando hasta que el valor de cada incógnita, determinado en una iteración particular, difiera del valor obtenido en la iteración previa, en una cantidad menor que cierto seleccionado arbitrariamente. El procedimiento queda entonces completo.

Page 156: Metodos numericos

Refiriéndonos al paso 5, mientras menor sea la magnitud del seleccionado, mayor será la precisión de la solución. Sin embargo, la magnitud del epsilon no especifica el error que puede existir en los valores obtenidos para las incógnitas, ya que ésta es una función de la velocidad de convergencia. Mientras mayor sea la velocidad de convergencia, mayor será la precisión obtenida en los valores de las incógnitas para un dado.

EJEMPLO

Resolver el siguiente sistema de ecuación por el método Gauss-Seidel utilizando un = 0.001.

Page 157: Metodos numericos

0.1 X1 + 7.0 X2 - 0.3 X3 = -19.30 3.0 X1 - 0.1 X2 - 0.2 X3 = 7.85 0.3 X1 - 0.2 X2 - 10.0 X3 = 71.40

SOLUCION:

Primero ordenamos las ecuaciones, de modo que en la diagonal principal estén los coeficientes mayores para asegurar la convergencia.

3.0 X1 - 0.1 X2 - 0.2 X3 = 7.85 0.1 X1 + 7.0 X2 - 0.3 X3 = -19.30 0.3 X1 - 0.2 X2 - 10.0 X3 = 71.40

Despejamos cada una de las variables sobre la diagonal:

Suponemos los valores iniciales X2 = 0 y X3 = 0 y calculamos X1

Este valor junto con el de X3 se puede utilizar para obtener X2

La primera iteración se completa sustituyendo los valores de X1 y X2 calculados obteniendo:

Page 158: Metodos numericos

En la segunda iteración, se repite el mismo procedimiento:

Comparando los valores calculados entre la primera y la segunda iteración

Como podemos observar, no se cumple la condición

Entonces tomamos los valores calculados en la última iteración y se toman como supuestos para la siguiente iteración. Se repite entonces el proceso:

Page 159: Metodos numericos

Comparando de nuevo los valores obtenidos

Como se observa todavía no se cumple la condición

Así que hacemos otra iteración

Comparando los valores obtenidos

Dado que se cumple la condición, el resultado es:

Page 160: Metodos numericos

X1 = 3.0 X2 = -2.5 X3 = 7.0

Como se puede comprobar no se tiene un número exacto de iteraciones para encontrar una solución. En este ejemplo, se hicieron 3 iteraciones, pero a menudo se necesitan más iteraciones.

Se deja de investigación al alumno alguna forma que haga que este método converge más rápidamente.

Page 161: Metodos numericos

EJERCICIOS

NOTA: En todos los ejercicios, redondea tus resultados a cinco decimales.

1. Usa el método de Gauss con pivoteo para resolver el siguiente sistema:

SOLUCION:

2. Usa el método de Gauss con pivoteo para resolver el siguiente sistema:

SOLUCION:

3. Usa el método de Gauss-Jordan para resolver el siguiente sistema:

SOLUCION:

4. Usa el método de Gauss-Jordan para resolver el siguiente sistema:

Page 162: Metodos numericos

SOLUCION:

5. Calcula la matriz inversa de las siguientes matrices usando el método de Gauss-Jordan:

i)

ii)

Soluciones:

i)

ii)

6. Usa el método de Gauss-Seidel hasta que %1<∈a para aproximar la solución del siguiente sistema de ecuaciones:

SOLUCION:

7. Usa el método de Gauss-Seidel hasta que %1<∈a para aproximar la solución del siguiente sistema de ecuaciones:

Page 163: Metodos numericos

SOLUCION:

Page 164: Metodos numericos

UUUNNNIIIDDDAAADDD 333... IIINNNTTTEEERRRPPPOOOLLLAAACCCIIIÓÓÓNNN,,, AAAJJJUUUSSSTTTEEE DDDEEE CCCUUURRRVVVAAASSS YYY

AAAPPPRRROOOXXXIIIMMMAAACCCIIIÓÓÓNNN DDDEEE FFFUUUNNNCCCIIIOOONNNEEESSS...

Page 165: Metodos numericos

333...111 AAAJJJUUUSSSTTTEEE DDDEEE CCCUUURRRVVVAAASSS EEE IIINNNTTTEEERRRPPPOOOLLLAAACCCIIIOOONNN DDDEEE PPPOOOLLLIIINNNOOOMMMIIIOOOSSS

Con frecuencia se tienen que estimar valores intermedios entre valores conocidos. El método más común empleado para este propósito es la interpolación polinomial.

Recuerde que la fórmula general de un polinomio de n-ésimo orden es:

(1)

Para n + 1 puntos, existe uno y sólo un polinomio de n-ésimo orden o menor que pasa a través de todos los puntos. Por ejemplo, hay sólo una línea recta (es decir un polinomio de primer orden) que conecta dos puntos. El polinomio de interpolación consiste en determinar el único polinomio de n-ésimo orden que se ajusta a los n + 1 puntos dados. Este polinomio proporciona una fórmula para calcular los valores intermedios.

Aunque existe uno y sólo un polinomio de n-ésimo orden que se ajusta a los n + 1 puntos, existen una gran variedad de fórmulas matemáticas mediante las cuales se puede expresar este polinomio. En esta unidad se estudian dos técnicas alternativas que están bien condicionadas para implementarse en una computadora. Estos son los polinomios de Newton y de Lagrange.

333...111...111... PPPooollliiinnnooommmiiiooosss dddeee iiinnnttteeerrrpppooolllaaaccciiióóónnn dddeee LLLaaagggrrraaannngggeee El polinomio de interpolación de Lagrange, simplemente es una reformulación del polinomio de Newton que evita los cálculos de las diferencias divididas. Este se puede representar concretamente como:

(21)

en donde:

(22)

Page 166: Metodos numericos

En donde denota el "producto de".

Por ejemplo, la versión lineal (n = 1) es:

(23)

y la versión de segundo orden es:

(24)

al igual que en el método de Newton, la versión de Lagrange tiene un error aproximado dado por:

(25)

La ecuación (21) se deriva directamente del polinomio de Newton. Sin embargo, la razón fundamental de la formulación de Lagrange se puede comprender directamente notando que cada término Li(X) será 1 en X=Xi y 0 en todos los demás puntos.

Por lo tanto, cada producto Li(X) f (Xi) toma un valor de f (Xi) en el punto Xi. Por consiguiente la sumatoria de todos los productos, dada por la ecuación (21) es el único polinomio de n-ésimo orden que pasa exactamente por los n+1 puntos.

Ejemplo 3.4

Úsese un polinomio de interpolación de Lagrange de primer y segundo orden para evaluar ln 2 en base a los datos:

i X f(X) 0 1.0 0.000 0000 1 4.0 1.386 2944

Page 167: Metodos numericos

2 6.0 1.791 7595

Solución:

El polinomio de primer orden es:

y, por lo tanto, la aproximación en X = 2 es

de manera similar, el polinomio de segundo orden se desarrolla como:

Como se expresaba, ambos resultados son similares a los que se obtuvieron previamente usando la interpolación polinomial de Newton.

En resumen, para los casos en donde el orden del polinomio se desconozca, el método de Newton tiene ventajas debido a que profundiza en el comportamiento de las diferentes fórmulas de orden superior. Además la aproximación del error dada por la ecuación (20), en general puede integrarse fácilmente en los cálculos de Newton ya que la aproximación usa una diferencia dividida. De esta forma, desde el punto de vista de cálculo, a menudo, se prefiere el método de Newton.

Cuando se va a llevar a cabo sólo una interpolación, ambos métodos, el de Newton y el de Lagrange requieren de un esfuerzo de cálculo similar. Sin embargo, la versión de Lagrange es un poco más fácil de programar. También existen casos en donde la forma de Newton es más susceptible a los errores de redondeo. Debido a esto y a que no se requiere calcular y almacenar diferencias divididas, la forma de Lagrange se usa, a menudo, cuando el orden del polinomio se conoce a priori.

Page 168: Metodos numericos

Comentarios adicionales

Hay dos temas adicionales que se deben de mencionar: La interpolación con los datos igualmente espaciados y la Extrapolación.

Ya que los métodos de Newton y de Lagrange son compatibles con los datos espaciados en forma arbitraria, se debe de preguntar por que se aborda el caso de los datos igualmente espaciados. Antes del advenimiento de las computadoras digitales, estos métodos tuvieron gran utilidad en la interpolación de tablas con datos igualmente espaciados. De hecho se desarrolla un esquema conocido como tabla de diferencias divididas para facilitar la implementación de estas técnicas.

Sin embargo, y debido a que las fórmulas son un subconjunto de los esquemas de Newton y Lagrange compatibles con la computadora y ya que se dispone de muchas funciones tabulares como rutinas de biblioteca, la necesidad de puntos equidistantes se fue perdiendo. En particular, se puede emplear en la derivación de fórmulas de integración numérica que emplean comúnmente datos equidistantes.

La extrapolación es el proceso de calcular un valor de f(X) que cae fuera del rango de los puntos base conocidos X0, X1,..., Xn. La interpolación más exacta usualmente se obtiene cuando las incógnitas caen cerca de los puntos base.

Obviamente, esto no sucede cuando las incógnitas caen fuera del rango, y por lo tanto, el error en la extrapolación puede ser muy grande. La naturaleza abierta en los extremos de la extrapolación representa un paso en la incógnita porque el proceso extiende la curva más allá de la región conocida. Como tal, la curva verdadera diverge fácilemte de la predicción. Por lo tanto, se debe tener cuidado extremo en casos donde se deba extrapolar.

333...111...222 PPPooollliiinnnooommmiiiooosss dddeee iiinnnttteeerrrpppooolllaaaccciiióóónnn cccooonnn dddiiifffeeerrreeennnccciiiaaasss dddiiivvviiidddiiidddaaasss dddeee nnneeewwwtttooonnn

Interpolación lineal

La fórmula más simple de interpolación es la de conectar dos puntos con una línea recta. Este método, llamado Interpolación Lineal, se muestra en la figura.

Page 169: Metodos numericos

Fig. 1

Usando triángulos semejantes, se tiene:

(2)

Que se puede reordenar como:

(3)

La cuál es la fórmula de interpolación lineal. La notación f1(X) indica que se trata de un polinomio de interpolación de primer orden. Nótese que además de representar la pendiente de la línea que conecta los dos puntos, el término [f(X1) - f(X2)] / (X1 - X2) es una aproximación de diferencias divididas finitas a la primera derivada. En general, entre mas pequeño sea el intervalo entre los puntos, más exacta será la aproximación.

Page 170: Metodos numericos

EJEMPLO 3.1

Calcúlese el logaritmo natural de 2 (ln 2) usando interpolación lineal.

Primero, llévese a cabo los cálculos interpolando entre ln 1 = 0 y ln 6 = 1.7917595.

Después repítase el procedimiento, pero usando un intervalo más pequeño desde ln 1 a ln 4 = 1.3862944.

Nótese que el valor real de ln 2 = 0. 69314718

SOLUCIÓN:

Evaluando la fórmula de interpolación lineal (3) de X = 1 a X = 6 da:

La cual representa un error porcentual de e% = 48.3 %. Usando el intervalo más pequeño desde X = 1 a X = 4 da:

Por lo contrario, usando el intervalo más pequeño reduce el error relativo porcentual a e% = 33.3%

Interpolación cuadrática El error en el ejemplo 3.1 se debe a que se aproxima a una curva mediante una línea recta. Por consiguiente, una estrategia que mejora la aproximación es la de introducir cierta curvatura en a línea que conecta a los puntos. Si se dispone de tres puntos lo anterior se puede llevar a cabo con un polinomio de segundo orden (llamado también polinomio cuadrático o parábola). Una manera conveniente para este caso es:

(4)

Page 171: Metodos numericos

Nótese que aunque la ecuación (4) parezca diferente de la ecuación general de un polinomio (1), las dos ecuaciones son equivalentes.

Esto se puede demostrar si se multiplican los términos de la ecuación (4) y obtener:

(5)

O, agrupar términos:

(6)

En donde:

(7)

De esta manera, las ecuaciones (1) y (4) son fórmulas alternativas equivalentes del único polinomio de segundo grado que une a los tres puntos.

Se puede usar un procedimiento simple para determinar los valores de los coeficientes. Para b0, se usa la ecuación (4) con X = X0, y se obtiene

b0 = f(X0) (8)

Sustituyendo la ecuación (8) en la ecuación (4) y evaluando en X = X1 se obtiene:

(9)

Y por último, las ecuaciones (8) y (9) se sustituyen en la ecuación (4), y se evalúa ésta en X = X2 y se obtiene:

Page 172: Metodos numericos

(10)

Nótese que, al igual que en el caso de interpolación lineal, b1 aún representa la pendiente de la línea que une los puntos X0 y X1. Por lo tanto, los primeros dos términos de la ecuación (4) son equivalentes a la interpolación de X0 a X1, como se especificó anteriormente en la ecuación (3). El último término, b2(X-X0) (X-X1), introduce la curvatura de segundo orden en la fórmula.

Ejemplo 3.2

Ajústese el polinomio de segundo orden a los tres puntos usados en el ejemplo 3.1

X0 = 1 f (X0) = 0.0000 000X1 = 4 f (X1) = 1.3862 944X2 = 6 f (X2) = 1.7917 595

Úsese el polinomio para evaluar ln 2

SOLUCIÓN:

Aplicando la ecuación (8) da:

b0 = 0

la ecuación (9) genera:

Y la ecuación (10) da:

Page 173: Metodos numericos

Sustituyendo estos valores en la ecuación (4) se obtiene la fórmula cuadrática:

f 2 ( X ) = 0 + 0.4620981 (X - 1) - 0.05187312 (X - 1) (X - 4)

que se evalúa en X = 2 y se obtiene

f 2 ( 2 ) = 0.5658443

Lo que representa un error porcentual del e% = 18.4%. Por lo tanto, mejora la interpolación comparada con los resultados obtenidos al usar una línea recta (ejemplo 3.1).

333...111...333... IIInnnttteeerrrpppooolllaaaccciiióóónnn pppooollliiinnnooommmiiiaaalll dddeee lllaaasss dddiiifffeeerrreeennnccciiiaaasss fffiiinnniiitttaaasss dddeee nnneeewwwtttooonnn

El análisis anterior se puede generalizar en el ajuste de un polinomio de n-ésimo orden a los n+1 puntos. El polinomio de n-ésimo orden es:

(11)

Como se hizo anteriormente con las interpolaciones lineales y cuadráticas, se usan los puntos en la evaluación de los coeficientes b0, b1,..., bn.

Se requieren n + 1 puntos para obtener un polinomio de n-ésimo orden: X0, X1,..., Xn.

Usando estos datos, con las ecuaciones siguientes se evalúan los coeficientes:

b0 = f (X0) b1 = f [X1, X0] b2 = f [X2, X1, X0] (12)... bn = f [X n, Xn-1, ..., X1, X0]

En donde las evaluaciones de la función entre corchetes son diferencias divididas finitas.

Page 174: Metodos numericos

Por ejemplo, la primera diferencia dividida finita se representa generalmente como:

(13)

La segunda diferencia dividida finita, que representa la diferencia de dos primeras diferencias divididas finitas, se expresa generalmente como:

(14)

De manera similar, la n-ésima diferencia dividida finita es:

(15)

Estas diferencias se usan para evaluar los coeficientes de la ecuación (12), los cuales se sustituyen en la ecuación (11), para obtener el polinomio de interpolación:

f n (X) = f(X0) + (X-X0) f[X1, X0] + (X-X0)(X-X1) f[X2, X1, X0] + ...+ (X-X0)(X-X1)...(X-Xn-1) f[Xn, Xn-1,...,X1, X0] (16)

Al cual se le llama Polinomio de Interpolación con Diferencias Divididas de Newton.

Se debe notar que no es necesario que los datos usados en la ecuación (16) estén igualmente espaciados o que los valores de la abscisa necesariamente se encuentren en orden ascendente, como se ilustra en el ejemplo 3.3

Todas las diferencias pueden arreglarse en una tabla de diferencias divididas, en donde cada diferencia se indica entre los elementos que la producen:

Page 175: Metodos numericos

i Xi f(Xi) Primera Segunda Tercera

0 X0 f(X0) f(X1, X0) f(X2, X1, X0) f(X3, X2, X1, X0)

1 X1 f(X1) f(X2, X1) f(X3, X2, X1)

2 X2 f(X2) f(X3,X2)

3 X3 f(X3)

EJEMPLO 3.3

Usando la siguiente tabla de datos, calcúlese ln 2 con un polinomio de interpolación de Newton con diferencias divididas de tercer orden:

X f(X) 1 0.000 0000 4 1.386 2944 6 1.791 7595 5 1.609 4379

SOLUCIÓN:

El polinomio de tercer orden con n = 3, es.

Las primeras diferencias divididas del problema son:

Page 176: Metodos numericos

Las segundas diferencias divididas son:

La tercera diferencia dividia es:

Los resultados para f(X1, X0), f(X2, X1, X0) y f(X3, X2, X1, X0) representan los coeficientes b1, b2 y b3 Junto con b0 = f (X0) = 0.0, la ecuación da:

f 3 (X) = 0 + 0.46209813 (X-1) - 0.0518731 (X-1)(X-4) + 0.0078655415 (X-1)(X-4)(X-6)

Arreglando la tabla de diferencias

X f [X] f 1 [ ] f 2 [ ] f 3 [ ]

1.0 0.00000000 0.46209813 - 0.051873116 0.0078655415

4.0 1.3862944 0.20273255 - 0.020410950

6.0 1.7917595 0.18232160

5.0 1.6094379

Page 177: Metodos numericos

Con la ecuación anterior se puede evaluar para X = 2

f 3 (2) = 0.62876869

Lo que representa un error relativo porcentual del e% = 9.3%.

Nótese que la estructura de la ecuación (16) es similar a la expresión de la serie de Taylor en el sentido de que los términos agregados secuencialmente consideran el comportamiento de orden superior de la función representada. Estos términos son diferencias divididas finitas, y por lo tanto, representan aproximaciones a las derivadas de orden superior. En consecuencia, como sucede con la serie de Taylor, si la función representativa es un polinomio de n-ésimo orden, el polinomio interpolante de n-ésimo orden bajado en n + 1 llevará a resultados exactos.

El error por truncamiento de la serie de Taylor es:

(17)

en donde es un punto cualquiera dentro del intervalo (Xi, Xi+1). Una relación análoga del error en un polinomio interpolante de n-ésimo orden está dado por:

(18)

En donde es un punto cualquiera dentro del intervalo que contiene las incógnitas y los datos. Para uso de esta fórmula la función en cuestión debe ser conocida y diferenciable. Y usualmente, este no es el caso.

Afortunadamente existe una fórmula alternativa que no requiere conocimiento previo de la función. En vez de ello, se usa una diferencia dividida finita que aproxima la (n+1)-ésima derivada:

Rn = f [X, Xn, Xn-1,..., X1, X0] (X-X0) (X-X1)...(X-Xn) (19)

en donde f(X, Xn, Xn-1, ... , X0) es la (n+1)-ésima diferencia dividida.

Page 178: Metodos numericos

Ya que la ecuación (19) contiene la incógnita f(X), ésta no se puede resolver y obtener el error. Sin embargo, si se dispone de un dato adicional f(Xn+1), la ecuación (19) da una aproximación del error como:

(20)

333...111...444... AAAjjjuuusssttteee dddeee cccuuurrrvvvaaasss

Supongamos que tenemos un conjunto de puntos que mostramos en la siguiente gráfica

De los puntos mostrados nos podemos dar cuenta que parece tener la forma de un polinomio de segundo grado de la forma:

(1)

Esta ecuación (1) puede usarse para representar el conjunto de valores obtenidos experimentalmente para la cual debemos determinar los valores de a 1, a 2, a 3, etc.

Para determinar estos valores utilizamos el siguiente procedimiento:

Page 179: Metodos numericos

1. Establecer el criterio para determinar la ecuación que represente a los valores (obtenidos experimentalmente).

2. Escribir la ecuación que expresa el error o desviación entre el valor observado y los valores dados por la ecuación.

3. Habiendo obtenido la ecuación del error, minimizar dicho error.

Evaluación del error

Si consideramos las parejas de datos, como se muestra en la gráfica

donde:

d = distancia = Yobservada - Y obtenida por la ecuación

Yobservada = Valor obtenido experimentalmente.

Y obtenida por la ecuación = valor de la función evaluada en cualquier valor X

Observando la gráfica, parece que esta distancia se puede usar para representar el error, pero habrá distancias positivas y negativas, (como se puede observar la distancia d1 es positiva y la distancia d2 es negativa) de modo que el error promedio para los puntos como los mostrados será pequeño aunque los errores individuales sean grandes.

Esta dificultad podría ser resuelta usando el valor absoluto de las distancias, sin embargo al derivar la función del valor absoluto se generan ciertos problemas.

Page 180: Metodos numericos

La solución podría ser definir el error como el cuadrado de la distancia, esto elimina la dificultad del signo. Por esta razón el método se llama: Método de Mínimos Cuadrados.

(2)

En donde S es la suma de los cuadrados de las diferencias entre el valor calculado y el valor observado y por lo tanto es el valor que se debe minimizar

(3)

Siendo el caso de que la curva supuesta es una ecuación de segundo grado, se tiene la ecuación:

(4)

Para minimizar la función anterior, derivando parcialmente con respecto a a 1, a 2 y a 3 e igualando a cero:

(5)

(Obsérvese que las variables son a 1, a 2 y a 3, mientras que Yi, X i son constantes)

Page 181: Metodos numericos

Las ecuaciones se pueden expresar de acuerdo como sigue:

(6)

Lo anterior lo podemos expresar en forma matricial:

(7)

La fórmula general para un polinomio de grado n en donde hay m parejas de datos es:

Page 182: Metodos numericos

(8)

Como se puede observar el problema consiste en lo siguiente:

1. Obtener la matriz de coeficientes. 2. Resolver el sistema de ecuaciones resultantes.

Recordando que:

1. Si n es el grado del polinomio, hay n+1 valores de la matriz de coeficientes y n+1 ecuaciones.

2. El máximo exponente de X en los términos de la sumatoria de 2n puede ser que los datos no representen un polinomio de 2o grado sino que representen uno de 3o y 4o grados.

El ajuste de curvas es un procedimiento de tanteo y error, si una curva no representa los datos, entonces se intenta con un polinomio de grado superior.

EJEMPLO:

X Y X Y 0.00 0.0000 0.60 0.6367 0.10 0.1002 0.70 0.7586 0.20 0.2013 0.80 0.8881 0.30 0.3045 0.90 1.0265 0.40 0.4108 1.00 1.1752

Page 183: Metodos numericos

0.50 0.5211

De la tabla de datos, usando Mínimos Cuadrados, determine los polinomios de 2o, 3er y 4o grado; graficar para determinar la curva más aproximada.

SOLUCIÓN

Polinomio de segundo grado

Primero determinamos los coeficientes de la matriz y los elementos constantes. Los elementos de la matriz son:

M =11

Los términos constantes son:

Page 184: Metodos numericos

De acuerdo con esto, el sistema de ecuaciones a resolver es el siguiente:

Resolviendo por Gauss se obtienen los siguientes resultados.

a1 = 0.006727 a2 = 0.895462 a3 = 0.265963

y el polinomio de segundo grado es:

Polinomio de tercer grado

Para el caso del polinomio de 3er grado se requiere:

M =11

Page 185: Metodos numericos

y el sistema de ecuaciones a resolver es:

cuya solución es:

a1 = - 0.000112 a2 = 1.004150 a3 = - 0.019075 a4 = 0.190032

y el polinomio queda:

Polinomio de cuarto grado

Repitiendo el procedimiento anterior, se obtienen los siguientes resultados

a1 = - 0.000112

Page 186: Metodos numericos

a2 = 0.994595 a3 = 0.028713 a4 = 0.113563 a5 = 0.038237

quedando el polinomio como se muestra:

333...111...555... AAAlllgggooorrriiitttmmmooo dddeee NNNeeevvviiilll llleee...

Una de las dificultades de la interpolación de Lagrange, es que el error es difícil (o imposible) de calcular. La forma habitual de trabajar es ir incrementando el orden de los polinomios, hasta que se obtiene un valor deseado. Sin embargo, cada cálculo es independiente del previo, perdiéndose contacto entre uno y otro. Los polinomios de Legendre también se pueden generar aprovechando los cálculos previos, en forma iterativa.

Calcularemos, usando los valores dados los polinomios de Lagrange de distinto orden y con distinta combinaciones de puntos adyacentes, para x=1.5. Llamaremos Pi,j,k(x) al polinomio de Lagrange de orden 2, que pasa por los puntos adyacentes x=xi, x=xj y x=xk. Se puede demostrar que el polinomio de Lagrange que pasa por los puntos adyacentes x=xi, x=xj, x=xk y x=xl se obtiene haciendo:

(x-xi)Pjkl - (x-xl)Pijk

P(x) = Pijkl(x) = ---------------------------

(xl-xk)

Page 187: Metodos numericos

Por ejemplo:

(r-x1)P2 - (r-x2)P1

P12(r) = -----------------------------

( x2 - x1 )

en el caso de r=1.5 :

(1.5 - 1.0)0.6200860 - (1.5 - 1.3)0.7651977

P12(1.5) = ---------------------------------------------- = 0.5233449

( 1.3 - 1.0 )

o

(1.5 - 1.3)0.4554022 - (1.5 - 1.6)0.6200860

P23(1.5) = ---------------------------------------------- = 0.5102968

( 1.6 - 1.3 )

y en orden mas elevado:

(1.5 - 1.0)0.5102968 - (1.5 - 1.6)0.5233449

P123(1.5) = ---------------------------------------------- = 0.5124715

( 1.6 - 1.0 )

Page 188: Metodos numericos

Escribiendo los polinomios Pijkl en una matriz A

x1 A11

x2 A21 A22

x3 A31 A32 A33

x4 A41 A42 A43 A44

x5 A51 A52 A53 A54 A55

el algoritmo de Neville se puede simplificar en el siguiente esquema:

Interpolación de la función f(x) dada en n puntos x1, x2, ... ,xn

INPUT: xi en el array X(i) y f(xi) en la matriz A(i,1)

Paso 1: For i=2,...,n

for j=2,...,i

(x-xi-j+1)Ai,j-1 - (x-xi)Ai-1,j-1

Ai,j = ------------------------------------

xi - xi-j+1

Paso 2: Output A

Page 189: Metodos numericos

333... 111...666... TTTrrraaannnsssfffooorrrmmmaaadddaaasss dddiiissscccrrreeetttaaasss dddeee fffooouuurrriiieeerrr...

La transformada de Fourier

La transformada de Fourier de una función continua e integrable de una variable real x se define por

Observemos que la transformada de una función real es una función compleja. Es decir, F(u)=R(u)+I(u)i, donde R(u) e I(u) son la parte real e imaginaria de F(u), respectivamente.

La variable u recibe el nombre de variable de frecuencia.

El módulo de F(u), |F(u)|= (R(u)2+ I(u)2)1/2 recibe el nombre del espectro de Fourier.

El cuadrado del espectro se denomina espectro de potencias o densidad espectral de f(x).

Su ángulo P(u)=arctg(I(u)/R(u)) recibe el nombre de fase.

La inversa de la transformada se define como:

Page 190: Metodos numericos

Análogamente, se define la transformada de Fourier de una función continua e integrable de 2 variables:

y su inversa como

Transformada de Fourier discreta

Sea f(x,y) una imagen en niveles de grises, tal que x=0,1,...,N-1 e

y=0,1,...,N-1; y f(x,y) toma valores discretos representando el nivel

de gris del píxel (x,y) entonces, la transformada discreta de Fourier de la

imagen consiste en una función F(u,v) tal que u=0,1,...,N-1 y

v=0,1,...,N-1:

y su inversa como

Page 191: Metodos numericos

Propiedades de la transformada de Fourier

En este apartado, nos vamos a centrar en las propiedades de la transformada de

Fourier discreta bidimensional (TFD).

La Separabilidad

Esta propiedad de la TFD esta relacionada con la posibilidad de calcular la TFD de

una función bidimensional como una combinación de dos transformadas Fourier

discretas, calculando primero una TFD sobre la variable de uno de los ejes y al

resultado aplicarle de nuevo la TFD sobre la variable del otro eje.

La ventaja que aporta esta propiedad es el hecho de poder obtener la

transformada F(x,y) o la inversa f(x,y) en dos pasos, mediante la aplicación de la

Transformada de Fourier 1-D o su inversa:

donde

Por tanto, la transformada de la matriz f(x,y) se ha realizado, calculando primero la

transformada unidimensional a cada una de sus filas y multiplicando el resultado

Page 192: Metodos numericos

por N. Posteriormente, se calcula la transformada a cada una de las columnas de

la matriz F(x,v)

La linealidad

La transformada de Fourier y su inversa son transformaciones lineales, es decir,

poseen la propiedad distributiva respecto de la suma.

La traslación

Tanto la transformada discreta de Fourier como la transformada inversa, son

periódicas de periodo N.

Un caso particular de esta propiedad consiste en mover el origen de la transformada de Fourier de f(x,y) al centro de la matriz N X N que le corresponda, es decir al punto (N/2,N/2). Para ello, podemos hacer uso de que:

f(x,y)(-1)x+y se hace corresponder con F(u-n/2,v-N/2)

También cabe resaltar, que un desplazamiento en la función f(x,y), no provocará un cambio en la magnitud de su transformada de Fourier. Véase esto matemáticamente en la siguiente expresión:

La Simetría

La transformada de Fourier de una función f(x,) es real es simétrica conjugada.

Esto provoca que:

Page 193: Metodos numericos

|F(u,v)|=|F(-u,-v)|

Por tanto, gracias a esta propiedad de simetría, para calcular la magnitud de los

puntos de un periodo completo, tan sólo necesitamos calcular los N/2+1 primeros

puntos, siempre y cuando el origen de la transformada este centrado en el punto

(N/2,N/2).Para conseguir este movimiento del origen en la transformada, podemos

aplicar la propiedad de traslación.

La rotación

Si rotamos la función f(x,y) un ángulo determinado, la transformada de Fourier

también será afectada por una rotación del mismo ángulo. Esta propiedad también

se da a la inversa, es decir, si la transformada se rota en un determinado ángulo,

la transformada inversa también se verá rotada ese mismo ángulo.

Valor promedio

Una definición ampliamente utilizada del valor promedio de una función discreta de dos dimensiones es:

Esta expresión se puede calcular a partir de la transformada de Fourier, sin más que sustituir en la función F(u,v) para el punto (0,0).Por tanto, el valor promedio se puede expresar matemáticamente en función de la transformada de Fourier, como sigue:

Page 194: Metodos numericos

Representación del logaritmo del espectro

El espectro de Fourier suele tener un rango mucho mayor que los usuales para

mostrar una imagen. Una técnica usual para evitar esto es considerar el logaritmo

del espectro usando la fórmula

D(u,v)=C(log(1+|F(u,v)|))

donde C es una constante adecuada de reescalado de la imagen, que se aplica

para obtener valores dentro de la paleta de colores disponible.

Page 195: Metodos numericos

EJERCICIOS

NOTA: Cuando sea necesario, redondea a cinco decimales.

1. Calcula el polinomio de interpolación de Newton para los siguientes datos:

i) 8.74.235.04122

−−

yx

ii) 1296035.12.19.06.03.0

−−−yx

Soluciones:

)1)(2)(2(4625.0)2)(2(925.0)2(875.05.0)() −+−++−−−+= xxxxxxxfi )9.0)(6.0)(3.0(18519.185)6.0)(3.0(50)3.0(103)() −−−+−−−−+−= xxxxxxxfii

)2.1)(9.0)(6.0)(3.0(53088.447 −−−−− xxxx 2. Calcula el polinomio de Lagrange para los siguientes datos:

i) 9.857.254.356.15321

−−−−

yx

ii) 0335294215.05.1

−−−−−

yx

Soluciones:

⎥⎦⎤

⎢⎣⎡ ++−

−⎥⎦⎤

⎢⎣⎡ +−−

+⎥⎦⎤

⎢⎣⎡

−+−+

=80

)5)(2)(1(57.245

)5)(3)(1(54.336

)5)(3)(2(56.1)() xxxxxxxxxxpi

⎥⎦⎤

⎢⎣⎡

−−+−

−144

)3)(2)(1(9.8 xxx

Page 196: Metodos numericos

⎥⎦⎤

⎢⎣⎡

−++−+

−⎥⎦⎤

⎢⎣⎡ ++−+

=875.7

)4)(2)(1)(5.1(2125.3

)4)(2)(1)(5.0(9)() xxxxxxxxxpii

⎥⎦⎤

⎢⎣⎡

−+−++

+⎥⎦⎤

⎢⎣⎡ ++++

+5.4

)4)(1)(5.0)(5.1(3325.56

)4)(2)(5.0)(5.1(5 xxxxxxxx

3. Calcula las splines cúbicas para los siguientes datos:

i) 20540312

−−−

yx

i) 4064207325

−−−

yx

Soluciones:

[ ][ ]⎩

⎨⎧

∈+−+−−∈+−+

=3,1125.8125.16375.3375.01,25.725.145.125.0

)() 23

23

xsixxxxsixxx

xsi

[ ][ ][ ]⎪

⎪⎨

∈+−+−−∈−−+

−−∈−−−−=

7,33,22,5

)()

263860

789105112

52620933

1578299

13158012

3945156192

263022573

78901241

7895860

78947032

526753

5265

xsixxxxsixxxxsixxx

xsii

Page 197: Metodos numericos

UUUNNNIIIDDDAAADDD 444... DDDIIIFFFEEERRREEENNNCCCIIIAAACCCIIIOOONNN EEE IIINNNTTTEEEGGGRRRAAACCCIIIOOONNN NNNUUUMMMEEERRRIIICCCAAA

Page 198: Metodos numericos

444...111... DDDIIIFFFEEERRREEENNNCCCIIIAAACCCIIIÓÓÓNNN NNNUUUMMMEEERRRIIICCCAAA...

Concentremos ahora nuestra atención a procedimientos para diferenciar numéricamente funciones que están definidas mediante datos tabulados o mediante curvas determinadas en forma experimental.

Un método consiste en aproximar la función en la vecindad del punto en que se desea la derivada, mediante una parábola de segundo, tercer o mayor grado, y utilizar entonces la derivada de la parábola en ese punto como la derivada aproximada de la función.

Otro ejemplo, que comentaremos aquí, utiliza los desarrollos en serie de Taylor.

La serie de Taylor para una función Y = f(X) en , desarrollada con respecto al punto Xi es

(1)

en donde Yi es la ordenada que corresponde a Xi y se encuentra

en la región de convergencia. La función para está dada en forma similar por:

(2)

Utilizando solamente los tres primeros términos de cada desarrollo, podremos obtener una expresión para Y'i restando la ec. (2) de la ec. (1),

(3)

Page 199: Metodos numericos

222... 444... 111... FFFóóórrrmmmuuulllaaasss dddeee dddiiifffeeerrreeennnccciiiaaa (((DDDiiifffeeerrreeennnccciiiaaasss ccceeennntttrrraaallleeesss,,, hhhaaaccciiiaaa aaadddeeelllaaannnttteee yyy hhhaaaccciiiaaa aaatttrrrááásss)))

Fig. 1

Observando la figura, vemos que si designamos los puntos uniformemente espaciados a la derecha de Xi como Xi+1 , Xi+2, etc. y los puntos a la izquierda de Xi como Xi-1, Xi-2 , etc. e identificamos las ordenadas correspondientes como Yi+1, Yi+2, Yi-1, Yi-2, respectivamente, la ec. (3) se puede escribir en la forma:

(4)

La ec. (4) se denomina la primera aproximación, por Diferencias Centrales de Y', para X. La aproximación representa gráficamente la pendiente de la recta discontinua mostrada en la figura. La derivada real se representa mediante la línea sólida dibujada como tangente a la curva en Xi.

Si sumamos las ecuaciones (1) y (2) y utilizamos la notación descrita previamente, podemos escribir la siguiente expresión para la segunda derivada:

(5)

La ec. (5) es la primera aproximación, por Diferencias Centrales, de la segunda derivada de la función en Xi. Esta expresión se puede interpretar gráficamente como la pendiente de la tangente a la curva en Xi+1/2 menos la pendiente de la tangente a la curva en Xi-1/2 dividida entre , cuando las pendientes de las tangentes están aproximadas mediante las expresiones:

Page 200: Metodos numericos

(6)

es decir,

(7)

Para obtener una expresión correspondiente a la tercera derivada, utilizamos cuatro términos en el segundo miembro de cada una de las ecs. (1) y (2). Restando la ec. (2) de la ec. (1) se obtiene:

(8)

Si desarrollamos la serie de Taylor respecto a Xi para obtener expresiones

correspondientes a Y = f(X) en y , respectivamente, obtenemos:

(9)

Restando la primera ec. (9) de la segunda, y utilizando solamente los cuatro términos mostrados para cada desarrollo, se obtiene:

(10)

Page 201: Metodos numericos

La solución simultánea de las ecs. (8) y (10) produce la tercera derivada:

(11)

La ec. (11) es la primera expresión de Diferencias Centrales correspondiente a la tercera derivada de Y en Xi.

Por este método se pueden obtener derivadas sucesivas de mayor orden, pero como requieren la solución de un número cada vez mayor de ecuaciones simultáneas, el proceso se vuelve tedioso. La misma técnica se puede utilizar también para encontrar expresiones más precisas de las derivadas utilizando términos adicionales en el desarrollo en serie de Taylor. Sin embargo, la derivación de expresiones más precisas, especialmente para derivadas de orden superior al segundo, se vuelve muy laboriosa debido al número de ecuaciones simultáneas que se deben resolver.

No se presentan aquí esas derivaciones, pero dichas expresiones, para diferentes derivadas, se incluyen en el resumen que sigue a estos comentarios.

Las expresiones correspondientes a las derivadas de mayor orden se logran con mucho mayor facilidad y bastante menos trabajo, utilizando operadores de diferencias, de promedios y de derivación. Este método se encuentra fuera de los alcances fijados, pero se pueden encontrar en varios libros referentes al análisis numérico.

Se ha demostrado que las expresiones de Diferencias Centrales para las diversas derivadas encierran valores de la función en ambos lados del valor X en que se desea conocer la derivada en cuestión. Utilizando desarrollos convenientes en serie de Taylor, se pueden obtener fácilmente expresiones para las derivadas, completamente en términos de valores de la función en Xi y puntos a la derecha de Xi. Estas se conocen como expresiones de Diferencias Finitas Hacia Adelante.

En forma similar, se pueden obtener expresiones para las derivadas que estén totalmente en términos de valores de la función en Xi y puntos a la izquierda de Xi. Estas se conocen como expresiones de Diferencias Finitas Hacia Atrás.

En la diferenciación numérica, las expresiones de diferencias hacia adelante se utilizan cuando no se dispone de datos a la izquierda del punto en que se desea calcular la derivada, y las expresiones de diferencias hacia atrás, se utilizan cuando no se dispone de datos a la derecha del punto deseado. Sin embargo, las

Page 202: Metodos numericos

expresiones de diferencias centrales son más precisas que cualquiera de las otras dos.

Resumen de fórmulas de diferenciación

Lo que sigue es un resumen de las fórmulas de diferenciación que se pueden obtener a base de desarrollos en serie de Taylor.

Expresiones de Primeras Diferencias Centrales

(12)

Expresiones de Segundas Diferencias Centrales

(13)

Expresiones de Primeras Diferencias Hacia Adelante

Page 203: Metodos numericos

(14)

Expresiones de Segundas Diferencias Hacia Adelante

(15)

Expresiones de Primeras Diferencias Hacia Atrás

(16)

Page 204: Metodos numericos

Expresiones de Segundas Diferencias Hacia Atrás

(17)

EJEMPLO

Úsense aproximaciones de Diferencias Finitas Hacia Adelante, Hacia Atrás y Centradas para estimar la primera derivada de:

Utilizando un tamaño de paso de = 0.5.

Repetir los cálculos usando = 0.25.

Nótese que la derivada se puede calcular directamente como:

y evaluando tenemos:

f'(0.5) = -0.9125

SOLUCIÓN:

Para = 0.5 se puede usar la función para determinar:

Xi-1 = 0.0 Yi-1 = 1.200

Page 205: Metodos numericos

Xi = 0.5 Yi = 0.925 Xi+1 = 1.0 Yi+1 = 0.200

Estos datos se pueden utilizar para calcular la Diferencia Hacia Adelante:

la Diferencia Dividida Hacia Atrás será:

y la Diferencia Dividida Central:

Para = 0.25, los datos son:

Xi-1 = 0.25 Yi-1 = 1.10351563 Xi = 0.50 Yi = 0.92500000 Xi+1 = 0.75 Yi+1 = 0.63632813

que se usarán para calcular la Diferencia Dividida Hacia Adelante:

la Diferencia Dividida Hacia Atrás:

Page 206: Metodos numericos

y la Diferencia Dividida Central:

Para los dos tamaños de paso, las aproximaciones por Diferencias Centrales son más exactas que las Diferencias Divididas Hacia Adelante o las Diferencias Divididas Hacia Atrás. También, como lo predijo el análisis de la serie de Taylor, la división del intervalo en dos partes iguales, divide a la mitad el error de las Diferencias Hacia Atrás o Hacia Adelante y a la cuarta parte el error de las Diferencias Centrales.

En ingeniería se presenta con frecuencia la necesidad de integrar una función que sería, en general, de una de las tres formas siguientes:

1. Una función simple y continua tal como un polinomio, una función exponencial o una función trigonométrica.

2. Una función complicada y continua que es difícil o imposible de integrar directamente.

3. Una función tabulada en donde los valores de X y f(X) se dan en un conjunto de puntos discretos, como es el caso a menudo, de datos experimentales.

En el primer caso, la integral simplemente es una función que se puede evaluar fácilmente usando métodos analíticos aprendidos en el cálculo. En los dos últimos casos, sin embargo, se deben emplear métodos aproximados.

Las fórmulas de integración de Newton-Cotes son los esquemas más comunes dentro de la integración numérica. Se basan en la estrategia de reemplazar una función complicada o un conjunto de datos tabulares con alguna función aproximada que sea más fácil de integrar.

La integral se puede aproximar usando una serie de polinomios aplicados por partes a la función o a los datos sobre intervalos de longitud constante.

Se dispone de las formas abierta y cerrada de las fórmulas de Newton-Cotes. Las formas cerradas son aquellas en donde los puntos al principio y al final de los límites de integración se conocen. Las fórmulas abiertas tienen los límites de integración extendidos más allá del rango de los datos. Las fórmulas abiertas de Newton-Cotes, en general, no se usan en la integración definida. Sin embargo, se usan extensamente en la solución de ecuaciones diferenciales ordinarias.

Page 207: Metodos numericos

444...222... IIINNNTTTEEEGGGRRRAAACCCIIIÓÓÓNNN NNNUUUMMMÉÉÉRRRIIICCCAAA

444...222...111... RRReeeggglllaaa dddeeelll tttrrraaapppeeeccciiiooo

La regla del trapecio o regla trapezoidal es una de las fórmulas cerradas de Newton-Cotes.

Considérese la función f(X), cuya gráfica entre los extremos X = a y X = b se muestra en la fig. 1. Una aproximación suficiente al área bajo la curva se obtiene

dividiéndola en n fajas de ancho y aproximando el área de cada faja mediante un trapecio, como se indica en la figura.

Fig. 1

Llamando a las ordenadas Y i (i = 1, 2, 3,...., n+1), las áreas de los trapecios son:

Page 208: Metodos numericos

(1)

El área total comprendida entre X = a y X = b está dada por:

(2)

Sustituyendo las ecs. (1) en esta expresión se obtiene:

(3)

La cual recibe el nombre de Fórmula Trapezoidal, y se puede expresar como:

(4)

En esencia, la técnica consiste en dividir el intervalo total en intervalos pequeños y aproximar la curva Y = f(X) en los diversos intervalos pequeños mediante alguna curva más simple cuya integral puede calcularse utilizando solamente las ordenadas de los puntos extremos de los intervalos.

Si la función f(X) se puede expresar como una función matemática continua que tiene derivadas continuas f'(X) y f''(X), el error que resulta de aproximar el área

Page 209: Metodos numericos

verdadera en una faja bajo la curva f(X) comprendida entre Xi y Xi+1 mediante el área de un trapecio, se demuestra que es igual a:

(5)

Este error es la cantidad que se debe agregar al área del trapecio para obtener el área real. Se llama Error por Truncamiento, ya que es el error que resulta de utilizar una serie de Taylor truncada, en vez de una serie de Taylor completa, para representar en forma de serie el área de una faja. Generalmente no se puede valuar directamente el término mostrado como error por truncamiento. Sin embargo, se puede obtener una buena aproximación de su valor para cada faja suponiendo que f '' es suficientemente constante en el intervalo de la faja (se supone que las derivadas de orden superior son despreciables) y evaluando f ''

para . La estimación del error por truncamiento para la integración total se obtiene sumando las estimaciones para cada faja. Si la estimación obtenida para el error total por truncamiento es mayor de lo que se puede tolerar, se debe utilizar una faja más angosta o un método más preciso.

Otro error que se introduce al obtener el área aproximada de cada faja es el Error por Redondeo. Este se produce cuando las operaciones aritméticas requeridas se efectúan con valores numéricos que tienen un número limitado de dígitos significativos.

Se puede demostrar que una aproximación a el límite del error por redondeo es:

(6)

Tenemos entonces que el límite en el error por redondeo aumenta

proporcionalmente a , lo cual pronto domina al error por truncamiento que es proporcional a . En realidad, el error por redondeo en sí no crece

proporcionalmente con sino con en que 0 < p < 1, pero sin

embargo aún supera al error por truncamiento si decrece lo suficiente.

Page 210: Metodos numericos

El error por redondeo se puede minimizar utilizando aritmética de doble precisión o mediante compiladores que pueden manejar un gran número de dígitos significativos.

De la información anterior se puede ver que el error total en el intervalo de integración deseado, es la suma de los errores de truncamiento y redondeo. Si el error total se debiera únicamente al error por truncamiento, se podría hacer tan pequeño como se deseara reduciendo suficientemente el ancho de la faja. Por ejemplo, bisectando el ancho de la faja se duplicaría el número de errores por truncamiento que hay que sumar, pero la expresión para el error en cada faja indica que cada uno sería aproximadamente un octavo de su valor previo.

Sin embargo, disminuyendo el ancho de la faja se afectaría también el error total al aumentar el error por redondeo, debido al mayor número de operaciones que hay que efectuar al valuar la ec. (3). Entonces, cuando se disminuye el ancho de la faja para disminuir el error total, existe un punto óptimo en el cual disminuciones adicionales del ancho de la faja harían que el error aumentara en lugar de disminuir, porque el error por redondeo se volvería dominante. El ancho óptimo de la faja para una función especial se puede determinar fácilmente en forma experimental en la computadora (suponiendo que el área real bajo la gráfica de la función se puede valuar) pero es difícil definirlo analíticamente.

444...222...222... RRReeeggglllaaa dddeee SSSiiimmmpppsssooonnn

Además de aplicar la regla trapezoidal con segmentos cada vez más finos, otra manera de obtener una estimación más exacta de una integral, es la de usar polinomios de orden superior para conectar los puntos. Por ejemplo, si hay un punto medio extra entre f(a) y f(b), entonces los tres puntos se pueden conectar con un polinomio de tercer orden.

A las fórmulas resultantes de calcular la integral bajo estos polinomios se les llaman Reglas de Simpson.

Regla de Simpson 1/3

La Regla de Simpson de 1/3 proporciona una aproximación más precisa, ya que consiste en conectar grupos sucesivos de tres puntos sobre la curva mediante parábolas de segundo grado, y sumar las áreas bajo las parábolas para obtener el área aproximada bajo la curva. Por ejemplo, el área contenida en dos fajas, bajo la curva f(X) en la fig. 2, se aproxima mediante el área sombreada bajo una parábola que pasa por los tres puntos:

(Xi , Yi) (Xi+1, Yi+1)

Page 211: Metodos numericos

(Xi+2, Yi+2)

Fig. 2

Por conveniencia al derivar una expresión para esta área, supongamos que las dos fajas que comprenden el área bajo la parábola se encuentran en lados opuestos del origen, como se muestra en la fig. 3. Este arreglo no afecta la generalidad de la derivación.

La forma general de la ecuación de la parábola de segundo grado que conecta los tres puntos es:

(7)

La integración de la ec. (7) desde - hasta proporciona el área contenida en las dos fajas mostradas bajo la parábola. Por lo tanto:

(8)

Page 212: Metodos numericos

Fig. 3

La sustitución de los límites en la ec. (8) produce:

(9)

Las constantes a y c se pueden determinar sabiendo que los puntos

, (0, Yi + 1), y deben satisfacer la ec. (7). La sustitución de estos tres pares de coordenadas en la ec. (7) produce:

(10)

La solución simultánea de estas ecuaciones para determinar las constantes a, b, c, nos lleva a:

Page 213: Metodos numericos

(11)

La sustitución de la primera y tercera partes de la ec. (11) en la ec. (9) produce:

(12)

que nos da el área en función de tres ordenadas Yi, Y i+1, Y i+2 y el ancho de una faja.

Esto constituye la regla de Simpson para determinar el área aproximada bajo una curva contenida en dos fajas de igual ancho.

Si el área bajo una curva entre dos valores de X se divide en n fajas uniformes (n par), la aplicación de la ec. (12) muestra que:

(13)

Sumando estas áreas, podemos escribir:

Page 214: Metodos numericos

(14)

o bien

(15)

en donde n es par.

La ec. (15) se llama Regla de Simpson de un Tercio para determinar el área aproximada bajo una curva. Se puede utilizar cuando el área se divide en un

número par de fajas de ancho .

Si la función f(X) se puede expresar como una función matemática continua que

tiene derivadas continuas f ' a , el error que resulta de aproximar el área verdadera de dos fajas bajo la curva f(X) comprendida entre Xi-1 y Xi+1 mediante el área bajo una parábola de segundo grado, se demuestra que es:

(16)

Este error por truncamiento es la cantidad que se debe agregar al área aproximada de dos fajas, que se obtiene mediante la regla de un tercio de Simpson, para obtener el área real bajo la curva en ese intervalo. El término mostrado del error por truncamiento generalmente no se puede valuar en forma directa. Sin embargo, se puede obtener una buena estimación de su valor para

cada intervalo de dos fajas suponiendo que es suficientemente constante en el intervalo (se supone que las derivadas de orden superior son despreciables) y

valuando para . La estimación del error por truncamiento para toda la integración se obtiene sumando las estimaciones correspondientes a cada dos fajas. Si la estimación del error total por truncamiento es mayor de lo que se puede tolerar, se deben utilizar intervalos de dos fajas menores. Considerando el error por redondeo que también aparece, existe un ancho óptimo de la faja para obtener un error total mínimo en la integración.

Page 215: Metodos numericos

Regla de simpson 3/8

La derivación de la Regla de los Tres Octavos de Simpson es similar a la regla de un tercio, excepto que se determina el área bajo una parábola de tercer grado que conecta 4 puntos sobre una curva dada. La forma general de la parábola de tercer grado es:

(17)

Fig. 4

En la derivación, las constantes se determinan requiriendo que la parábola pase a través de los cuatro puntos indicados sobre la curva mostrada en la fig. 4. El

intervalo de integración es de - a , lo que produce:

(18)

que es la regla de los tres octavos de Simpson.

La regla de Simpson de 3/8 tiene un error por truncamiento de:

(19)

Por lo tanto es algo más exacta que la regla de 1/3.

Page 216: Metodos numericos

La regla de Simpson de 1/3 es, en general, el método de preferencia ya que alcanza exactitud de tercer orden con tres puntos en vez de los cuatro puntos necesarios para la versión de 3/8. No obstante la regla de 3/8 tiene utilidad en las aplicaciones de segmentos múltiples cuando el número de fajas es impar.

EJEMPLO

Utilícese la regla trapezoidal de cuatro segmentos o fajas para calcular la integral de

Desde a = 0 hasta b = 0.8 y calcular el error sabiendo que el valor correcto de la integral es 1.64053334.

SOLUCIÓN

n = 4

X f(X) 0.0 0.200 0.2 1.288 0.4 2.456 0.6 3.464 0.8 0.232

Usando la fórmula trapezoidal:

ex = 1.64053334 - 1.4848 = 0.15573334

e% = 9.5 %

Page 217: Metodos numericos

1. Utilícese la regla de Simpson de 1/3 con n = 4 para calcular la integral del inciso anterior

SOLUCIÓN

n = 4

X f(X) 0.0 0.200 0.2 1.288 0.4 2.456 0.6 3.464 0.8 0.232

Usando la regla de Simpson de 1/3

ex = 1.64053334 - 1.62346667 = 0.01706667

e% = 1.04 %

2. Utilícese la regla de Simpson de 3/8 para calcular la integral anterior:

SOLUCIÓN

Como se requieren cuatro puntos o tres fajas para la regla de Simpson de 3/8, entonces:

Page 218: Metodos numericos

X f(X) 0.0000 0.20000000 0.2667 1.43286366 0.5333 3.48706521 0.8000 0.23200000

Usando la ecuación de Simpson de 3/8

ex = 1.64053334 - 1.51917037 = 0.121164

e% = 7.4 %

3. Utilícese en conjunción las reglas de Simpson de 1/3 y 3/8 para integrar la misma función usando cinco segmentos.

SOLUCIÓN

Los datos necesarios para la aplicación de cinco segmentos (h = 0.16) son:

X f(X) 0.00 0.20000000 0.16 1.29691904 0.32 1.74339328 0.48 3.18601472 0.64 3.18192896 0.80 0.23200000

La integral de los primeros dos segmentos se obtiene usando la regla de Simpson de 1/3:

Page 219: Metodos numericos

Para los últimos tres segmentos, se usa la regla de Simpson de 3/8 para obtener:

La integral total se calcula sumando los dos resultados:

I = 0.38032370 + 1.26475346 = 1.64507716

ex = 1.64053334 - 1.64507716 = -0.00454383

e% = -0.28 %

444...222...333... IIInnnttteeegggrrraaaccciiióóónnn dddeee RRRooommmbbbeeerrrggg

Sea el valor de la integral que aproxima a , mediante

una partición de subintervalos de longitud y usando la regla del trapecio. Entonces,

donde es el error de truncamiento que se comete al aplicar la regla.

El método de extrapolación de Richardson combina dos aproximaciones de integración numérica, para obtener un tercer valor más exacto.

El algoritmo más eficiente dentro de éste método, se llama Integración de Romberg , la cual es una fórmula recursiva. Supongamos que tenemos dos aproximaciomnes : e

Page 220: Metodos numericos

Se puede demostrar que el error que se comete con la regla del trapecio para n subintervalos está dado por las siguientes fórmulas:

donde es un promedio de la doble derivada entre ciertos valores que pertenecen a cada uno de los subintervalos.

Ahora bien, si suponemos que el valor de es constante, entonces :

Sustituyendo esto último en nuestra primera igualdad, tenemos que:

De aquí podemos despejar :

Page 221: Metodos numericos

En el caso especial cuando (que es el algoritmo de Romberg), tenemos :

Esta fórmula es solo una parte del algoritmo de Romberg. Para entender el método, es conveniente pensar que se trabaja en niveles de aproximación. En un primer nivel, es cuando aplicamos la regla del Trapecio, y para poder usar la fórmula anterior, debemos de duplicar cada vez el número de subintervalos: así, podemos comenzar con un subintervalo, luego con dos, cuatro, ocho, etc, hasta donde se desee.

Posteriormente, pasamos al segundo nivel de aproximación, que es donde se usa la fórmula anterior, tomando las parejas contiguas de aproximación

del nivel anterior, y que corresponden cuando .

Después pasamos al nivel tres de aproximación, pero aquí cambia la fórmula de Romberg, y así sucesivamente hasta el último nivel, que se alcanza cuando solo contamos con una pareja del nivel anterior.

Desde luego, el número de niveles de aproximación que se alcanzan, depende de las aproximaciones que se hicieron en el nivel 1. En general, si en el primer nivel, iniciamos con n aproximaciones, entonces alcanzaremos a llegar hasta el nivel de aproximación n.

Hacemos un diagrama para explicar un poco más lo anterior.

Page 222: Metodos numericos

Ejemplo 1. Usar el algoritmo de Romberg, para aproximar la integral

usando segmentos de longitud .

Solución. Primero calculamos las integrales del nivel 1, usando la regla del trapecio para las longitudes de segmentos indicadas:

Con estos datos, tenemos:

Page 223: Metodos numericos

Ahora pasamos al segundo nivel de aproximación donde usaremos la fórmula que se dedujo anteriormente:

donde es la integral menos exacta (la que usa menos subintervalos) e es la más exacta (la que usa el doble de subintervalos).

En un diagrama vemos lo siguiente:

Para avanzar al siguiente nivel, debemos conocer la fómula correspondiente. De forma similar a la deducción de la fórmula,

se puede ver que la fórmula para el siguiente nivel de aproximación (nivel 3) queda como sigue:

donde:

Page 224: Metodos numericos

es la integral más exacta

es la integral menos exacta

En el siguiente nivel (nivel 4) se tiene la fórmula

En el ejemplo anterior, obtenemos la aproximación en el nivel 3 como sigue:

Así, podemos concluir que el valor de la aproximación, obtenido con el método de Romberg en el ejemplo 1, es:

Ejemplo 2. Usar el algoritmo de Romberg para aproximar la integral:

Agregando a la tabla anterior donde .

Solución. Calculamos con la regla del trapecio:

Tenemos entonces la siguiente tabla:

Page 225: Metodos numericos

De donde concluímos que la aproximación buscada es:

Ejemplo 3. Aproximar la siguiente integral:

usando el método de Romberg con segmentos de longitud

, , ,

Solución. Igual que arriba, primero usamos la regla del trapecio (con los valores de h indicados) para llenar el nivel 1. Tenemos entonces que:

A continuación, usamos las fórmulas de Romberg para cada nivel y obtenemos la siguiente tabla:

Page 226: Metodos numericos

De donde concluímos que la aproximación buscada es:

Podemos escribir una fórmula general para calcular las aproximaciones en cada uno de los niveles como sigue:

ALGORITMO DE INTEGRACIÓN DE ROMBERG

Los coeficientes en cada una de las fórmulas en el método de Romberg, deben sumar 1. Así se tiene la siguiente fórmula recursiva:

donde:

es la integral más exacta

es la integral menos exacta

y el indice k indica el nivel de integración o de aproximación. Por ejemplo, digamos que , entonces tenemos:

que es nuestra fórmula del nivel 2 de aproximación.

Como todo proceso iterativo, éste se detiene cuando se obtiene una aproximación suficientemente buena. En este caso se pide que:

Page 227: Metodos numericos

donde es la cota suficiente.

Ejemplo 1. Aplicar el algoritmo de integración de Romberg a la integral:

tomando

Solución. En este caso no sabemos exactamente cuantas aproximaciones debemos hacer con la regla del trapecio. Así que para comenzar hacemos los cálculos correspondientes a uno, dos, cuatro y ocho subintervalos:

Con estos datos, podemos hacer los cálculos hasta el nivel 4. Tenemos la siguiente tabla:

Page 228: Metodos numericos

Haciendo los cálculos de los errores, nos damos cuenta que efectivamente

la aproximación se obtiene hasta el nivel 4, donde . Por lo tanto, concluimos que la aproximación buscada es:

Page 229: Metodos numericos

EJERCICIOS

1. Usar la regla del trapecio para aproximar,

i) Dividiendo en un solo intervalo.

ii) Dividiendo en 6 intervalos.

Soluciones: i) 3.4115 ii) 0.36907

2. Usar la regla de Simpson 1/3 para aproximar,

i) Dividiendo en un solo intervalo.

ii) Dividiendo en 4 intervalos.

Soluciones: i) 82.60511 ii) 76.94497

3. Usar la regla de Simpson 3/8 para aproximar,

i) Dividiendo en un solo intervalo.

ii) Dividiendo en 4 intervalos.

Soluciones: i) 2.76591 ii) 2.76501

4. Integrar las siguientes tablas de datos:

i)

Page 230: Metodos numericos

ii)

Soluciones: i) -17.11458 ii) 9.425

5. Usar el algoritmo de integración de Romberg para aproximar,

i) Usando 1, 2 y 4 intervalos.

ii) Agregando al inciso anterior, 8 intervalos.

Soluciones: i) 9.156626413 ii) 9.153287278

6. Aproxime la integral del EJEMPLO anterior, tomando como cota suficiente.

Solución. 9.153112082

Page 231: Metodos numericos

UUUNNNIIIDDDAAADDD 555

EEECCCUUUAAACCCIIIOOONNNEEESSS DDDIIIFFFEEERRREEENNNCCCIIIAAALLLEEESSS CCCOOONNN MMMÉÉÉTTTOOODDDOOOSSS NNNUUUMMMÉÉÉRRRIIICCCOOOSSS...

Page 232: Metodos numericos

555... 111... PPPRRROOOBBBLLLEEEMMMAAASSS DDDEEE VVVAAALLLOOORRR IIINNNIIICCCIIIAAALLL PPPAAARRRAAA EEECCCUUUAAACCCIIIOOONNNEEESSS DDDIIIFFFEEERRREEENNNCCCIIIAAALLLEEESSS

Ecuaciones diferenciales ordinarias

Las ecuaciones diferenciales tienen importancia fundamental en las aplicaciones, ya que muchas leyes y relaciones físicas pueden idealizarse matemáticamente en la forma de estas ecuaciones. En particular, el estudio de problemas de equilibrio de sistemas continuos se encuentra dentro de este contexto.

Solución de una ecuación diferencial.

Dada una ecuación diferencial ordinaria de orden n y cualquier grado, cuya forma general es:

(1)

Se establece en matemáticas que en su solución general deben aparecer n constantes arbitrarias. Entonces, puede aceptarse que la solución general de (1) es:

G(X, Y, C1, C 2, ... , C n) = 0 (2)

Gráficamente esta ecuación representa una familia de curvas planas, cada una de ellas obtenidas para valores particulares de la n constante, C1, C2,..., Cn, como se ve en la gráfica:

Page 233: Metodos numericos

Cada una de estas curvas corresponde a una solución particular de la ecuación diferencial (1) y analíticamente puede obtenerse sujetando la solución general (2) a n condiciones independientes que permiten valuar las constantes arbitrarias.

Dependiendo de como se establezcan estas condiciones, se distinguen dos tipos de problemas: los llamados de Valores Iniciales y los de Valores en la Frontera.

Un problema de valores iniciales está gobernado por una ecuación diferencial de orden n y un conjunto de n condiciones independientes todas ellas, válidas para el mismo punto inicial. Si la ecuación (1) es la ecuación diferencial que define el problema, y X = a es el punto inicial, puede aceptarse que las n condiciones independientes son:

(3)

Se tratará de obtener una solución particular de (1) que verifique (3) como se presenta en la gráfica

Por el contrario, en los problemas de valores en la frontera deben establecerse condiciones de frontera en todos y cada uno de los puntos que constituyen la frontera del dominio de soluciones del problema. En particular en el espacio de una dimensión, hay dos puntos frontera, por ejemplo, X = a y X = b, si el dominio de soluciones es el intervalo cerrado ; por esto mismo el orden mínimo de la ecuación diferencial de un problema de valores en la frontera será dos y como podemos observar en la siguiente gráfica:

Page 234: Metodos numericos

Básicamente la solución numérica de ecuaciones diferenciales consiste en sustituir el dominio continuo de soluciones por uno discreto formado por puntos aislados igualmente espaciados entre sí.

Así, en un problema de valores iniciales, el dominio de definición de soluciones se sustituye por el conjunto infinito numerable de puntos,

X0 = a, X 1 = X 0 + h, X 2 = X 0 + 2h, X 3 = X 0 + 3h,...

y en el caso de valores en la frontera se sustituye el intervalo por el conjunto finito de puntos

X0 = a, X 1 = X 0 + h, X 2 = X 0 + 2h, ..., X n = X 0 + nh = b

Obtenidos, al dividir el intervalo en n partes iguales.

La presentación gráfica muestra estas dos cosas:

Page 235: Metodos numericos

Discretización del dominio de definición de soluciones

Habiéndose discretizado el problema continuo, se tratará de obtener la solución para los puntos considerados, y esto se hará, en general, sustituyendo las derivadas que aparezcan en la ecuación diferencial con condiciones iniciales o en la frontera, por fórmulas numéricas de derivación que proporcionen aproximaciones a las derivadas o tratando de integrar la ecuación diferencial y reemplazando al proceso de integración por una fórmula numérica que se aproxime a la integral.

Una vez hecho esto, la ecuación obtenida expresada en diferencias finitas (ya que se han sustituido diferenciales por incrementos finitos) se aplica repetidamente en todos los puntos pivotes donde se desconoce la solución para llegar a una solución aproximada del problema.

Page 236: Metodos numericos

SSSooollluuuccciiióóónnn nnnuuummmééérrriiicccaaa dddeee ppprrrooobbbllleeemmmaaasss dddeee vvvaaalllooorrreeesss iiinnniiiccciiiaaallleeesss

Un problema ordinario de valores iniciales está gobernado por una ecuación diferencial ordinaria y un conjunto de condiciones, todas ellas válidas para el mismo punto inicial, X = X0.

La solución numérica de este problema consiste en evaluar la integral de Y(X) en todos los puntos pivotes de su intervalo de definición, los que estarán igualmente espaciados en h unidades. Estos valores se obtienen paso a paso, a partir del punto inicial, lo que da el nombre de métodos de integración paso a paso.

La evaluación de Y en los puntos pivote

Xi = X0 + ih, para i = 1, 2, 3,...

Se lleva a cabo usando fórmulas de recurrencia, que usan los valores conocidos de Y en las estaciones anteriores.

Xi-1, Xi-2, Xi-3,...

Así, para aplicar estas ecuaciones, es necesario entonces evaluar muy aproximadamente a Y(X) en algunos de los primeros puntos pivotes (uno a cuatro); y esto se hace usualmente desarrollando f(X) en serie de potencias.

EJEMPLO

Encuentre la solución del siguiente problema de valores iniciales por medio de los primeros cuatro términos de la serie de Taylor para X = 0.1, 0.2, 0.3, 0.4 y 0.5.

Y (0) = 1

SOLUCIÓN

Se obtienen las derivadas sucesivas:

Page 237: Metodos numericos

Sustituyendo valores:

Por lo que:

Evaluando para cada valor de X en esta última ecuación se tiene:

X Y 0 1 0.1 1.055375 0.2 1.123000 0.3 1.205125 0.4 1.304000 0.5 1.421875

Page 238: Metodos numericos

555...111...111... MMMééétttooodddooosss dddeee iiinnnttteeegggrrraaaccciiióóónnn dddeee EEEuuullleeerrr

La solución de un problema de valores iniciales se obtiene generalmente paso a paso por métodos de integración hacia adelante, lo que permite valuar Yi+1 tan pronto se conozcan los valores Yi, Yi-1 de Y en uno o más pivotes anteriores. El más simple de estos métodos, debido a Euler, es aplicable a ecuaciones de primer orden y no requiere conocer la solución en los pivotes anteriores.

Dado el problema de valores iniciales

Se debe integrar la ecuación diferencial en el intervalo

y evaluar la integral aplicando la fórmula de integración numérica:

(4)

Entonces

De donde se obtiene la siguiente expresión aproximada llamada fórmula de Euler

Yi+1 = Yi + h f(Xi, Yi) (5)

EJEMPLO

Resolver el problema del ejemplo anterior aplicando el método de Euler.

Se tiene

Yi+1 = Yi + h f(Xi, Yi)

Page 239: Metodos numericos

Donde

Entonces

(6)

En la tabla aparecen tabulados los valores de la solución aproximada obtenidos a partir de la condición inicial conocida Y0 (0) = 1

Xi Yi Yi solución exacta0.0 1.000 000 1.000 000 0.1 1.050 000 1.055 409 0.2 1.110 638 1.123 596 0.3 1.184 649 1.208 459 0.4 1.275 870 1.315 789 0.5 1.389 819 1.454 545

555...111...222... MMMééétttooodddooo dddeee RRRuuunnngggeee --- KKKuuuttttttaaa

En la sección anterior se estableció que el método de Euler para resolver la ecuación diferencial de primer orden

Y' = f(X, Y) (7)

Con la condición inicial

Y(X0) = Y0 (8)

Page 240: Metodos numericos

Consiste en aplicar repetidamente la fórmula de recurrencia

Yn+1 = Yn + h f(Xn, Yn) donde n = 1, 2, 3, ... (9)

Para determinar la solución de la ecuación diferencial en

X = X1, X2, X3,...

Sustituyendo la función f(X, Y) dada en (7), en (9), se tiene que

Yn+1 = Yn + h Y'n (10)

Expresión que indica que el método de Euler consiste gráficamente, en ir de un valor Yn conocido de la solución de la ecuación diferencial (7) en un punto, al siguiente por medio de la tangente T1 a la curva integral Y = Y(X) en el mismo punto de la solución conocida, como se muestra en la siguiente figura.

De este planteamiento gráfico puede verse que una mejor aproximación a la solución de la ecuación diferencial se obtendría si en vez de ir por la tangente T1 para determinar la solución en el siguiente Punto Pivote, se utiliza una secante con pendiente igual al promedio de pendientes de la curva integral en los puntos coordenados (Xn, Yn), (Xn+1, Yn+1) en donde Xn+1 y Yn+1 pueden estimarse con el procedimiento normal de Euler, como se muestra en la siguiente gráfica:

Page 241: Metodos numericos

Con lo anterior se obtendría un método mejorado de Euler con error del orden de

definido por la expresión

(11)

En donde f (Xn+1, Yn+1) es el valor de la función f(X, Y) para:

X = Xn+1

Y = Yn + h f (Xn, Yn)

Observando las expresiones para resolver la ecuación diferencial, puede decirse que ambas consisten en aplicar la fórmula de recurrencia

(12)

En donde

(13)

En el método de Euler y

(14)

En lo que

Y' = f(X, Y) (15)

En el método de Euler Mejorado.

Como se ve, estos métodos tienen los siguientes puntos en común:

1. Son métodos de un paso; para determinar Yn+1 se necesita conocer únicamente los valores de Xn y Yn del punto anterior.

2. No requieren evaluar ninguna derivada, sino únicamente valores de la función f(X, Y).

Page 242: Metodos numericos

Estas características dan origen a una gran variedad de métodos conocidos como de Runge-Kutta. La diferencia entre ellos cosiste en la forma como se define la

función que aparece en la expresión (12).

La ventaja de los métodos de Runge-Kutta con respecto al uso de la serie de Taylor, que es también un método de un paso, está expresado en el punto (2) anterior; es decir, los métodos de Runge-Kutta requieren sólo de la función f(X, Y) y de ninguna derivada, mientras que la serie de Taylor sí requiere de la evaluación de derivadas. Esto hace que, en la práctica, la aplicación de los métodos de Runge-Kutta sean más simples que el uso de la serie de Taylor.

Un método de Runge-Kutta para resolver ecuaciones diferenciales ordinarias de

primer orden con error del orden de , de uso tan frecuente que en la literatura sobre métodos numéricos se le llama simplemente el Método de Runge-Kutta, se dará a conocer sin demostrar y consiste en aplicar la ecuación de recurrencia (12)

en donde la función está dada por la expresión:

(16)

En el cual

(17)

La ecuación (16) se obtiene haciendo un promedio de las cuatro pendientes, k1, k2, k3 y k4 a la curva integral, en forma semejante a como se procedió con las pendientes de las tangentes T1 y T2 que dieron lugar a (11)

Page 243: Metodos numericos

EJEMPLO

Resolver

Aplicando el método de Runge-Kutta.

SOLUCIÓN

De la condición inicial del problema se tiene que X = 0, y Y = 1; además, h = 0.1. Sustituyendo estos valores en (17) se obtiene:

Llevando estos valores a (16) y el resultante a (12) se obtiene que para X = 0.1 la solución del problema es

Los valores de las ki para este punto obtenido de la solución, son:

Page 244: Metodos numericos

Luego

Continuando de la misma forma se obtiene la solución que se muestra en la siguiente tabla:

X Y k1 k2 k3 k4 0.0 1.0000 0.5000 0.5516 0.5544 0.6127 0.1 1.0554 0.6126 0.6782 0.6823 0.7575 0.2 1.1236 0.7575 0.8431 0.8494 0.9494 0.3 1.2085 0.9492 1.0647 1.0745 1.2121 0.4 1.3158 1.2119 1.3735 1.3896 1.5872 0.5 1.4545 1.5868 1.8234 1.8517 2.1509

555... 111... 333... MMMééétttooodddooosss mmmuuullltttiiipppaaasssooosss

• Métodos de un paso• Métodos en varios pasos• Métodos de predictor y corrector

• Método de Adams-BashforthlAdams-Moulton• Estabilidad de los métodos numéricos

Los métodos de Euler y de Runge-Kutta descritos en las seccionas anteriores son ejemplos de los métodos de un paso. En ellos, se calcula cada valor sucesivo yn+1 sólo con base en información acerca del valor inmediato anterior yn Por otra parte, un método en. varios pasos o continuo utiliza los valores de varios pasos

Page 245: Metodos numericos

calculados con anterioridad para obtener el valor de yn+1 Hay numerosas fórmulas aplicables en la aproximación de soluciones de ecuaciones diferenciales. Como no intentamos describir el vasto campo de los procedimientos numéricos, sólo presentaremos uno de esos métodos. Éste, al igual que la fórmula de Euler mejorada, es un método de predicción-corrección; esto es, se usa una fórmula para predecir un valor y*n+1, que a su vez se aplica para obtener un valor corregido de yn+1.

Método de Adams-Bashforth/Adams-Moulton Uno de los métodos en multipasos más populares es el método de Adams-Bashforth/Adams-Moulton de cuarto orden. En este método, la predicción es la fórmula de Adams-Bashforth:

(1)

para n ≥ 3. Luego se sustituye el valor de y*n+1 en la corrección Adams-Moulton

(2)

Obsérvese que la fórmula (1) requiere que se conozcan los valores de yo, y1, y2 y y3 para obtener el de y4. Por supuesto, el valor de yo es la condición inicial dada. Como el error local de truncamiento en el método de Adams-Bashforth/Adams-Moulton es O(h5), los valores de y1, y2 y y3 se suelen calcular con un método que tenga la misma propiedad de error, como la fórmula de Runge-Kutta de cuarto orden.

EJEMPLO 1 Método de Adams-Bashforth/Adams-Moulton

Use el método de Adams-Bashforth/Adams-Moulton con h = 0.2 para llegar a una aproximación a y(0. 8) de la solución de

y' = x +y -1, y(0)=1.

Page 246: Metodos numericos

SOLUCIÓN Dado que el tamaño de paso es h = 0.2, entonces y4 aproximará y(0.8). Para comenzar aplicamos el método de Runge-Kutta, con xo = 0, yo = 1 y h = 0.2 con lo cual

y1 = 1.02140000, y2 = 1.09181796, y3 = 1.22210646.

Ahora definimos xo = 0, x1, = 0.2, x2 = 0.4, x3 = 0.6 y f(x, y) = x + y - 1, y obtenemos

Yó = f(xoYo) = (0) + (1) - 1 = 0

Y'1 = f (x1, y1) = (0.2) + (1.02140000) -1 = 0.22140000

Y′2 = f (X2, Y2) = (0.4) + (1.09181796) - 1 = 0.49181796

Y′3 = f (X3, Y3) = (0.6) + (1.22210646) - 1 = 0.82210646.

Con los valores anteriores, la predicción, ecuación (1) da

Para usar la corrección, ecuación (2), necesitamos primero

Por último, la ecuación (2) da

Estabilidad de los métodos numéricos Un aspecto importante del uso de métodos numéricos para aproximar la solución de un problema de valor inicial es la estabilidad de los mismos. En términos sencillos, un método numérico es estable si cambios pequeños en la condición inicial sólo generan pequeñas modificaciones en la solución calculada. Se dice que un método numérico es inestable si no es estable. La importancia de la estabilidad radica en que en cada paso subsecuente de una técnica numérica, en realidad se comienza de nuevo con un nuevo problema de valor inicial en que la condición inicial es el valor aproximado de la solución calculado en la etapa anterior. Debido a la presencia del error de redondeo, casi con seguridad este valor varía respecto del valor real de la solución, cuando menos un poco. Además del error de redondeo, otra fuente

Page 247: Metodos numericos

común de error se presenta en la condición inicial misma; con frecuencia, en las aplicaciones físicas los datos se obtienen con mediciones imprecisas.

Un posible método para detectar la inestabilidad de la solución numérica de cierto problema de valor inicial, es comparar las soluciones aproximadas que se obtienen al disminuir los tamaños de etapa utilizados. Si el método numérico es inestable, el error puede aumentar con tamaños mentores del paso. Otro modo de comprobar la estabilidad es observar qué sucede a las soluciones cuando se perturba ligeramente la condición inicial; por ejemplo, al cambiar y(0) = 1 a y(0) = 0.999.

Para conocer una descripción detallada y precisa de la estabilidad, consúltese un texto de análisis numérico. En general, todos los métodos descritos en este capítulo tienen buenas características de estabilidad.

Ventajas y desventajas de los métodos multipasos En la selección de un método para resolver numéricamente una ecuación diferencial intervienen muchos aspectos. Los métodos en un paso -en especial el de Runge-Kutta- suelen usarse por su exactitud y facilidad de programación; sin embargo, una de sus mayores desventajas es que el lado derecho de la ecuación diferencial debe evaluarse muchas veces en cada etapa. Por ejemplo, para el método de Runge-Kutta de cuarto orden se necesitan cuatro evaluaciones de función en cada paso (véase el problema 21 en los ejercicios 9.3). Por otra parte, si se han calculado y guardado las evaluaciones de función en la etapa anterior, con un método multipasos sólo se necesita una evaluación de función por paso. Esto puede originar grandes ahorros de tiempo y costo.

Por ejemplo, para resolver numéricamente y' = f(x, y), y(xo) = yo con el método de Runge-Kutta de cuarto orden en n pasos, se necesitan 4n evaluaciones de función. Con el método de Adams-Bashforth se necesitan 16 evaluaciones de función para iniciar con el método de Runge-Kutta de cuarto orden y n - 4 evaluaciones para los pasos de Adams-Bashforth; el_ total es n + 12 evaluaciones de función. En general, el método de Adams-Bashforth requiere un poco más de la cuarta parte de las evaluaciones de función que precisa el método de Runge-Kutta de cuarto orden. Si la evaluación de f(x, y) es complicada, el método multipasos será más eficiente. Otro asunto que interviene en los métodos en multipasos es la cantidad de veces que se debe repetir la de Adams-Moulton en cada paso. Cada que se usa el corrector ocurre otra evaluación de función, con lo cual aumenta la precisión al costo de perder una de las ventajas del método en varios pasos. En la práctica, el corrector sólo se calcula una vez, y si el valor de yn+1 cambia mucho, se reinicia todo el problema con un tamaño menor de paso. Con frecuencia, esto es la base de los métodos de tamaño variable de paso, cuya descripción sale del propósito de este libro.

Page 248: Metodos numericos

EJERCICIOS

1. Dada la ecuación diferencial:

Usa el método de Euler para aproximar tomando en cada paso del proceso iterativo.

SOLUCION: .

2. Dada la ecuación diferencial:

Usa el método de Euler para aproximar tomando en cada paso del proceso iterativo.

SOLUCION: .

3. Dada la ecuación diferencial:

Usa el método de Euler mejorado para aproximar tomando en cada paso del proceso iterativo.

SOLUCION:

4. Dada la ecuación diferencial:

Page 249: Metodos numericos

Usa el método de Euler mejorado para aproximar tomando en cada paso del proceso iterativo.

SOLUCION:

5. Dada la ecuación diferencial:

Usa el método de Runge-Kutta para aproximar tomando en cada paso del proceso iterativo.

SOLUCION:

6. Dada la ecuación diferencial:

Usa el método de Runge-Kutta para aproximar tomando en cada paso del proceso iterativo.

SOLUCION:

7. Determine la solución exacta del problema de valor inicial en el ejemplo 1. Compare los valores exactos de y(0.2), y(0.4), y(0.6) y y(0.8) con las aproximaciones y1, y2, y3 y y4.

8. Escriba un programa de computación para el método de Adams-Bashforth/Adams-Moulton.

Page 250: Metodos numericos

AAAUUUTTTOOOEEEVVVAAALLLUUUAAACCCIIIOOONNN

Ejercicio

La función tiene una raíz en . Empezando con

y , usar ocho iteraciones del método de la bisección para aproximar la raíz. Tabular el error después de cada iteración y también las estimaciones del error máximo. ¿El error real siempre es menos que la estimación del error máximo? Los errores reales continúan disminuyendo?

Ejercicio

Encontrar la raíz cerca de de empezando con . ¿Cuán exacta es la estimación después de cuatro iteraciones del método de Newton? ¿Cuántas iteraciones requiere el método de la bisección para lograr la misma exactitud? Tabule el número de dígitos correctos en cada iteracción del método de Newton y observe si se duplican cada vez. (SOLUCION)

Ejercicio

Usando el método de eliminación gaussiana con pivoteo y sustitución regresiva, resuelva el siguiente sistema de ecuaciones:

Calcule el determinante y la descomposición LU de la matriz de coeficientes.

Ejercicio

Utilizar el método de reducción de Crout para obtener una descomposición de la matriz:

Page 251: Metodos numericos

Ejercicio

Dado que , y , interpole con un polinomio de Lagrange el logaritmo natural de cada entero desde hasta . Tabule lo anterior junto con el error en cada punto.

Ejercicio

Dados los datos:

Realizar un ajuste por mínimos cuadrados de los mismos a una recta y a una cuadrática. ¿Cuál de los dos ajustes es mejor?

Ejercicio

La siguiente tabla tiene valores para . Integre entre y usando

la regla trapezoidal con , y .

Page 252: Metodos numericos

Ejercicio

Usa la integración de Romberg para evaluar la integral de entre y . Lleva seis decimales y continúa hasta que no haya cambio en la quinta

cifra decimal. Compare con el valor analítico. .

Page 253: Metodos numericos

UUUNNNIIIDDDAAADDD PPPRRRÁÁÁCCCTTTIIICCCAAA 1. Mostrar en un software de cómputo numérico, la forma de representación de matrices y funciones, así como sus operaciones básicas (suma y multiplicación de matrices, invertibilidad, etc.). Mostrar las capacidades de visualización de funciones. 2. Diseñar e implementar un programa, donde, dada una función continua en un intervalo cerrado real, determinar las raíces en dicho intervalo. 3. Diseñar e implementar un programa, donde, dada una función continua en un intervalo cerrado real, se determine el valor de su integral, con una precisión preestablecida. 4. Diseñar e implementar un programa para resolver un sistema de ecuaciones no-lineales, mediante alguno de los métodos conocidos. 5- Diseñar e implementar un programa para resolver un sistema de ecuaciones diferenciales. 6. Aplicaciones propuestas por las academias de las diferentes disciplinas (ingeniería civil, eléctrica, electrónica, química, .etc.).

Page 254: Metodos numericos

BBBIIIBBBLLLIIIOOOGGGRRRAAAFFFIIIAAA 1. Burden, R.; Faires, D. Análisis Numérico. ED. Thomson, 6a. ed., 1998. 2. Chapra Steven y Canale R. Métodos Numéricos para Ingenieros. Cuarta edición Ed. Mc Graw Hill. México. 3. De Levie, Robert. Advanced Excel for Scientific Data Analysis. Oxford University Press, 2004. 4. Liengme, B.; A Guide to Microsoft Excel 2002 for Scientists and Engineers. Butterworth Heinemann, 3rd, ed. 2002. 5. Mathews, J; Fink, K. Métodos Numéricos con MATLAB. Prentice Hall, 3a. ed., 2000. 6. Nakamura Shoichiro. Métodos Numéricos Aplicados con Software. Ed. Prentice Hall Hispanoamericana, México. 7. Press, W.; Teukolsky, S.; Vterling, W.; Flannery, B. Numerical Recipes in C. Cambridge University Press, 2nd ed., 1992. (VER COMPLEMENTARIA EN GUIA DE MODULO).