UNIVERSIDAD NACIONAL DEL CALLAO -...

239
UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS NATURALES Y MATEMÁTICA INFORME FINAL PROYECTO DE INVESTIGACIÓN "TEXTO: Métodos Numéricos Aplicados con Fortran" Mg. Jorge Luis Godier Amburgo. ® ,·ASo 2014 (Periodo de ejecución: 01 de Agosto del 2013 al31 de Julio del 2014) ·. (ResOO!ción de Aprobación:

Transcript of UNIVERSIDAD NACIONAL DEL CALLAO -...

Page 1: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

UNIVERSIDAD NACIONAL DEL CALLAO

FACULTAD DE CIENCIAS NATURALES Y MATEMÁTICA

INFORME FINAL

PROYECTO DE INVESTIGACIÓN

"TEXTO: Métodos Numéricos Aplicados con Fortran"

Mg. Jorge Luis Godier Amburgo.

® ,·ASo 2014

(Periodo de ejecución: 01 de Agosto del 2013 al31 de Julio del 2014)

·. (ResOO!ción Rect~~al de Aprobación: N° 766-2013~R)

Page 2: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

ÍNDICE

Pág.

1. ÍNDICE .............................................................................. 1

2. 'RESUMEN .............................................................................. 2

3. INTRODUCCIÓN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

4. MARCO TEÓRICO ..................................................................... 4

5. MATERIALES Y MÉTODOS .......................................................... 7

6. RESULTADOS ............................................................................. 9

6.1 Capítulo 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

6.2 Capítulo 11 .............................................................................. 56

6.3 Capítulo 111 ............................•................................................ 88

6.4 Capítulo IV ........................................................................... 1 08

6.5 Capítulo V .............................................................................. 138

6.6 Capítulo VI ............................................................................. 167

6. 7 Capítulo VIl ............................................................................ 176

6.8 Capítulo VIII ............................................................................ 198

7. DISCUSIÓN .............................................................................. 232

8. REFERENCIALES ...................................................................... 234

9. APÉNDICE ............................................................................... 235

A. Codificación Runge-Kutta 2do. Orden para EDO 2do. Orden .............. 235

B. Codificación Runge-Kutta 3er. Orden para EDO 2do. Orden .............. .236

10. ANEXOS ..................... . : . ......................................................... 237

1

Page 3: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

2. RESUMEN

Este texto toma como base los fundamentos que rigen los métodos numéricos;

mostrando en detalle los algoritmos y codificaciones para la solución de problemas

físicos de nivel universitario y de investigación. Se han desarrollado las diferentes

fórmulas numéricas en codificaciones usando lenguaje Fortran, permitiendo

generar en el estudiante un conocimiento activo de los fundamentos que rigen los

métodos tales como el de solución de ecuaciones no lineales, sistemas de

ecuaciones, interpolación, ajuste de curvas, integración, derivación numérica y

solución de ecuaciones diferenciales ordinarias y parciales. Se presentan

problemas físicos resueltos, logrando que este texto se convierta en un

instrumento para facilitar el proceso de enseñanza-aprendizaje de acuerdo con los

objetivos y contenidos del silabo oficial de la asignatura de Métodos Numéricos de

la Física, superando la situación actual en la que la gran mayoría de textos que

presentan métodos numéricos están dirigidos a problemas específicos de

ingeniería y dejan de lado aplicaciones importantes para la física.

2

Page 4: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

3. INTRODUCCIÓN

En la actualidad las aplicaciones de los métodos numéricos se dan en los

ámbitos más diversos, desde sectores tecnológicos tan clásicos como la

ingeniería estructural o la aerodinámica de aviones, hasta aplicaciones más

sofisticadas como ingeniería de alimentos, ingeniería medica, diseño de

fármacos, biología, entre otros.

La física busca conocer e interpretar los mecanismos de la naturaleza

para así poder modificarla al servicio del hombre. Para ello ha utilizado sus

conocimientos, experiencia y los medios naturales a los que en cada momento

ha tenido disponibles. Con el gran poder de cómputo que se tiene en estos días,

el físico dispone de grandes ventajas para poder llevar a cabo su misión y

abordar cada día retos más ambiciosos en la solución de nuevos problemas,

cuyos aspectos políticos, económicos, científicos o tecnológicos pueden tener un

mayor impacto en la mejora de la calidad de vida del hombre.

Gracias a la gran evolución que han tenido los métodos numéricos y su

implementación en potentes computadoras, es posible, por ejemplo, modelar el

choque de un vehículo o hacer el análisis aerodinámico estructural de un avión,

resolviendo en cada caso sistemas algebraicos de ecuaciones con varios cientos

de miles (a veces de millones) de incógnitas.

A nivel universitario la gran mayoría de textos que presentan métodos

numéricos están dirigidos a problemas específicos de ingeniería y dejan de lado

aplicaciones físicas; más que eso, no hacen referencia a las codificaciones en

un lenguaje científico como Fortran; esta situación pretende ser resuelta por este

texto.

El Autor.

3

Page 5: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

4. MARCO TEÓRICO

Respecto al marco teórico empleado, se utilizaron principalmente los textos

de Chapra. (2003), Burden (2000), Cante, S. y Boor, C (1985); los cuales

proporcionan el fundamento teórico necesario para el desarrollo de algoritmos y

codificaciones, en los siguientes temas:

1. Introducción al lenguaje científico Fortran.

2. Solución de ecuaciones no lineales.

3. Solución de sistemas de ecuaciones lineales.

4. Aproximación de funciones

5. lnte1 tJOiación polinomial

6. Aproximación numérica de la derivada.

7. Integración Numérica

8. Solución de Ecuaciones Diferenciales

Respecto al desarmllo del fundamento teórico; sobre el lenguaje de

programación Fortran 90 se utilizó el que corresponde a la versión 4.0 de "The

Microsoft Fortran Power Station", descrito en el "American National standard

Programming Language Fortran 90" ANSI X3. 1980 - 1992 y en el

"lnternational standards Organization Programming Languaje" ISO/lEC 1539 -

1:1991. (Brian, 1 994).

En el Capítulo 11, se analiza uno de los problemas de ocurrencia más

frecuente en el trabajo científico, el cual es hallar las raíces de ecuaciones de la

forma f(x} = O; con frecuencia f(x) puede conocerse solo implícitamente y en

general, podemos esperar la obtención de soluciones aproximadas solamente

contando con alguna técnica computacional para producir la aproximación.

Dependiendo del contexto "solución aproximada" puede significar entonces un

punto en x para el cual f(x) se "satisface aproximadamente", es decir esta

cercana a una solución.

En el Capítulo 111, se trata de las técnicas usadas para solución directa

de sistemas de ecuaciones lineales tales como la eliminación de Gauss, pero

aun dentro de esta clase de métodos hay una gran variedad de escogencias

que varían en eficiencia computacional y en exactitud.

4

Page 6: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

En el Capítulo IV, se aborda el problema de ajuste y aproximación de

curvas; en física los datos a menudo son valorés discretos a lo largo de un

· continuo, es por ello que, se describen técnicas para el ajuste de curvas de

tales datos para obtener de igual . modo estimaciones intermedias, pero

podremos además conseguir versidhes simplificadas de funciones en un

numero de valores discretos a lo largo del dominio de interés, pudiendo luego

derivar una función más simple para ajustar esos valores.

En el Capítulo V, se tratan los métodos de mayor eficiencia y simplicidad

para la construcción de nuevos puntos partiendo del conocimiento de un

conjunto discreto de puntos. En física, ingeniería y otras ciencias es frecuente

disponer de un cierto número de puntos obtenidos por muestreo o a partir de

un experimento y pretender construir una función que los ajuste; ahí radica su

importancia.

En el Capítulo VI, se analizan las formulas numéricas para aproximación

de la derivada, que se utilizan para evaluar las derivadas por ~edio de valores

dados en los puntos de una retícula. En el trabajo científico son importantes ya

que facilitan la solución numérica de ecuaciones diferenciales ordinarias y

parciales.

En el Capítulo VIl, se tratan las formulas numéricas de integración, las

cuales son construidas tomando como base los polinomios de interpolación de

Newton hacia adelante. En ciencias e ingeniería se presenta con frecuencia

este tipo de problemas dada la necesidad de integrar una función que sería, en

general, de una de las tres formas siguientes:

... Una función simple y continua tal como un polinomio, una función

exponencial o una función trigonométrica.

• Una función complicada y continua que es difícil o imposible de integrar

directamente.

• Una función tabuJada en ooñde ios valores de x y f(x) se ctsn en un

conjunto de pUQtos.. dis.cr~os, CQniOo es el caso a menudo, de datos

experimentale~

5

Page 7: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

En el Capítulo VIII, se tratan las formulas numéricas que permiten

aproximar la solución de una ecuación diferencial ordinaria. Muchas de las

leyes generales de la naturaleza se expresan en el lenguaje de las ecuaciones

'diferenciales; abundan también las aplicaciones en ingeniería, economía¡

matemáticas y en muchos otros campos de la ciencia aplicada. En este

capítulo se desarrolla el tratamiento computacional de las EDO, con los

métodOs de Euler, los cuales en particular son adecuados para uriN

programación rápida debido a su sencillez; sin embargo, a pesar de su gran

estabilidad, requiere un tamaño de paso muy pequeño para alcanzar una

precisión razonabl~. también se desarrollan los métodos Runge-Kutta de

segundo, tercer y cuarto orden.

6

Page 8: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

5. MATERIALES Y MÉTODOS

Para el desarrollo de este trabajo se emplearon los siguientes textos:

1. Burden, R. y Faires, D.; "Numerical Analysis", 7ma. Edición, Ed.

Brooks/Cole. New york, 2000.

2. Brian, H.; "Fortran 90 for Scientists and Engineers", Fortran

PowerStation 4.0. March 1994 in paperback 368 pages ISBN O

340 60034 9.

3. Chapra, S. C. y Canale R. P.; "Métodos numéricos para ingenieros".

4ta. Edición, Ed. McGraw-Hill. México, 2003.

4. Curtís, F. y Wheatley, P.; "Análisis Numérico con aplicaciones"; 6ta.

Edición, Ed. Pearson, México, 2000.

5. lriarte, R. y Balderrama, V.; "Métodos numéricos"; ira. Edición, Ed.

Trillas. México, 1990.

6. Maron, J. y Lo pez, J.; "Análisis Numérico un Enfoque Practico", 1 ra.

Edición, Ed. Continental S.A.; México, 1995.

7. Nakamura, S.; "Métodos Numéricos Aplicados con Software", 2da.

Edición, Ed. Hispanoamericana, México, 1992.

8. Nieves, A y Oomínguez, F.; "Métodos numéricos Aplicados a la

ingeniería"; 2da. Edición, Ed. Continental S.A.; México, 1998.

9. Tipler, P. y Mosca, G. "Física para la ciencia y la tecnología",

Volumen 1, 6ta. Edición, Ed. Reverte; España, 2010.

7

Page 9: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

La mayoría actualmente se encuentran en la Facultad de Ciencias

Naturales y Matemática de la Universidad Nacional del Callao, En estos textos

se presentan los conceptos, leyes y principios de los métodos de solución

sistemas de ecuaciones, integración, derivación, solución de ecuaciones

diferenciales, entre otros.

Los métodos empleados fueron el inductivo y el deductivo por ser estos

los de mayor rigurosidad lógica dentro del esquema de acción del Método

Científico; su uso, permitió el desarrollo de los algoritmos y codificaciones de

las formulas numéricas más complejas y poco tratadas.

8

Page 10: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

S. RESULTADOS

6.1 Capitulo 1

1. Introducción al lenguaje científico Fortran

Los lenguajes de programación surgieron debido a la necesidad de decirle a la

computadora que hacer, originalmente los computadores poseían su propio lenguaje

conocido como lenguaje ensamblador, con el cual se construían los programas a

utilizar. Para programar una computadora era necesario primero aprender su lenguaje,

lo que se constituía en un trabajo tedioso y largo; esta situación, dificultaba el

desarrollo de nuevos programas y aplicaciones.

En 1957 IBM y el Dr. John W. Backus crearon un lenguaje estándar llamado

FORTRAN (contracción del inglés Formula Trans/ating System) cuya finalidad fue

proporcionar una alternativa más práctica allenguaje ensamblador; Fortran, es

un lenguaje de programación de alto nivel de propósito

general, procedimental e imperativo, que está especialmente adaptado al cálculo

numérico. Desarrollado originalmente para el equipo IBM 704, y usado para

aplicaciones científicas y de ingeniería, este es un lenguaje con sintaxis muy parecida

al ingles ordinario e hizo posible dar instrucciones al computador de manera sencilla.

La solución del problema consistía en pasar las instrucciones de Fortran a un

lenguaje capaz de ser entendido por el ordenador (lenguaje de maquina), mediante u-n

proceso llamado compilación; los compiladores pueden adaptarse a nuevos lenguajes

de maquina sin afectar el lenguaje de programación usado por el operador. Entonces

el trabajo consistía en usar Fortran para desarrollar programas en cualquier maquina

que cuente con el correspondiente compilador Fortran, esto evita la penosa tarea de

aprender un lenguaje para cada máguina. Debido a esta~ características el lengyaje

Fortran se convirtió en el más popular entre los científicos e ingenieros. Fue

estandarizado por la American National Standards lnstitute (ANSI). (lSO/!EC 1539-

1 :1997).

Hacia 1960, las versiones de FORTRAN estaban disponibles para los

computadores 18M 709, 650, 1620, y 7090. La cada vez mayor popularidad del

FORTRAN estimuló a fabricantes ele computadores de la competencia a proporcionar

compiladores FORTRAN para sus máquinas, así que por 1963 existían más de 40

compiladores FORTRAN.

9

Page 11: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

Por estas razones, el FORTRAN es considerado ser el primer lenguaje de

programación ampliamente usado soportado a través de una variedad de arquitecturas

de computador.

La primera versión FORTRAN 77 tenía una serie de desventajas. Entre ellas

una estructura muy rígida adaptada al uso de tarjetas perforadas ("forma fija"}, que

requería que ciertas columnas tuvieran usos específicos. Además, no permitía un uso

dinámico de la memoria y no permitía realizar operaciones entre arreglos de números.

Para mejorar esta situación, en 1990 se presento un tercer estándar ANSI conocido

como FORTRAN 90, que contenía muchas nuevas características y permitía una

programación mas estructurada. Una serie de cambios menores se presentaron en

1995 (FORTRAN 95}, y actualmente se trabaja en un nuevo estándar ANSI

(FORTRAN 2003). (Aicubierre, M., 2005).

Un lenguaje orientador de proceso tal como Fortran, se llama a veces lenguaje

algorítmico. Nos permite expresar un algoritmo matemático en una forma más

adecuada para la comunicación con los computadores. Un procedimiento Fortran que

instrumenta un algoritmo matemático especifica un procedimiento iterativo para hallar

la solución de una ecuación, el programa Fortran debe especificar (1) la exactitud que

s_~ requiere, (2) el número de iteraciones que se van a realizar y (3) que hacer en caso

de no convergencia. (Parte de la información fue recuperada de:

http://es.wikipedia.org/wiki/Fortran, en marzo del2014).

1.1 Requerimientos para la instalación de Fortran 90

Desarrollar programas en cualquier computador hace necesario que se cuente

con el correspondiente compilador, esto evita el trabajo de aprender un lenguaje para

cada máquina. En nuestro caso el lenguaje Fortran facilita la tarea ya que cuenta con

un compilador propio de gran flexibilidad (FL32.EXE). Para poder instalar y usar

Fortran en nuestra computadora, esta debe contar con las siguientes característiC-~i:

• Un microprocesador 80386, 80486 o superior y un sistema operativo Windows

95, Windows NT, como mínimo.

• Una entrada para Disco Flexible de 3.5" o bien una Lectora de CD-ROM, para

poder copiar los archivos de instalación.

• 16MB de memoria RAM como mínimo (se recomienda 20MB)

• 45 MB de espacio libre en el disco duro. c;le la unidad para la instalación típica.

• Monitor VGA (SVGA recomendado)

• Mouse.

10

Page 12: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

1.2 Características y mejoras de Fortran 90

El lenguaje de programación Fortran 90 corresponde a la versión 4.0 de ''The

Microsoft Fortran Power Station", descrito en el "American National standard

Programming Language Fortran 90" ANSI X3. 1980 - 1992 y en el "lnternational

standards Organization Programming Languaje" ISO/lEC 1539 - 1 :1991. (Brian, 1994 ).

Fortran 90 contiene todas las características originales de Fortran 77 y adiciona

las extensiones y flexibilidad de nuevos lenguajes, algunas características de

estándares antiguos han sido declarados obsoletos, sin embargo el compilador puede

reconocerlos.

Algunas de las mejoras de Fortran 90 respecto al Fortran 77 son:

• Aumento en las capacidades de computación numérica.

• Operaciones con Arreglos.

• Especificar la precisión de datos intrínsecos.

• Uso de tipo de datos definidos.

• Módulos con contenido de datos y procedimientos.

1.3 Tratamiento de caracteres, constantes y variables

" En el lenguaje de programación Fortran están permitidos los 26 caracteres

alfabéticos, letras (A - Z}, los 1 O caracteres numéricos, dígitos decimales (O - 9) y los

caracteres especiales:*,!,+,=,-,', , , (, }, <, >, $, ?, #, :, ; , .

Usando estos caracteres podemos formar instrucciones para que la computadora

efectúe alguna operación requerida.

• Constantes ó Datos. En el lenguaje Fortran 90 las constantes o tipos de datos

pueden ser enteros, reales, complejos, carácter o lógicos.

Las constantes ó datos enteros carecen de punto decimal, el rango depende

del tipo de en tero que hayamos definid1, existen cuatro definiciones de enteros:

INTEGER(1), INTEGER(2), INTEGER(3) el INTEGER(4); de manera alternativa se

puede definir el tipo usando la notación INTEGER*1, INTEGER*2, etc. El valor máximo 1

y mínimo de una constante entera INTEGER(1) va desde: -128 hasta +127, en el

caso de INTEGER(2) va desde: -32,768 h~sta 32,767, y para INTEGER(4) desde: -

2, 147'483,648 hasta 2, 147'483,647; cada tilpo en particular ocupa cierta cantidad de

bytes de memoria 1 , 2, 3 y 4 bytes respectiv~mente. 1

11

Page 13: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

Es conveniente que un tipo INTEGER(4) no tenga más de 9 dígitos. Las

constantes enteras por lo general no se deben usar en operaciones aritméticas.

(Brian, 1994).

Las constantes o datos reales pueden ser con exponente y sin exponente, el

rango de una constante real depende también del tipo declarado, existen dos tipos:

REAL(4), REAL(8) ó OOUBLE PRECISION, también se pueden usar las

representaciones alternativas: REAL *4, REAL *8. El numero de bytes que ocupa

REAL(4) es 4 y su rango va desde: -3.4028235E+38 hasta -1.1754944E-38 para los

números negativos; para los números positivos el rango va desde: +1. 754944E-38

hasta +3.4028235E+38. En el caso del tipo REAL(8) ó OOUBLE PRECISION el

numero de bytes qué se usan son 8, el rango para los números negativos va desde: -

1. 7976931348623160+ 308 hasta

-2.225073858507201 D-308 y para los números positivos el rango va desde:

+2.2250738585072010-308 hasta +1.7976931348623180+308. (Brian, 1994).

Las constantes o datos complejos se escriben como un par ordenado, siendo el

primer número correspondiente a la parte real y el segundo número a la parte

imaginaria. Existen dos tipos de definiciones COMPLEX ó COMPLEX(4) y DOUBLE

COMPLEX ó COMPLEX(8), el primero hace referencia a un número cuya parte real e

imaginaria son de precisión simple, el número de bytes que ocupa en memoria es 8.

En el caso de COMPLEX(8) la parte real e imaginaria son de doble precisión y el

número de bytes que ocupa son 16.

Las constantes o datos carácter los datos de tipo carácter pueden ser almacenados

y utilizados siempre y cuando se haya definido previamente el número de caracteres

con la declaración CHARACTER(N), donde N indica el número a almacenar, por cada

carácter se ocupa un byte de memoria

Los datos y constantes de tipo lógico pueden contener dos valores solamente

verdadero o falso, el numero de bytes de memoria ocupada por un dato lógico

depende de cómo se defina así LOGICAL(1) ocupa un byte (O para falso o 1 para

verdadero), existen además el tipo LOGICAL(2) y LOGICAL(4).

• Variables. Una variable es por definirla de alguna forma un registro de

almacenamiento temporal de algún dato o información; dependiendo de cómo

se asigne el tipo de dicha variable. esta pllede contener números enteros,

números reales o caracteres.

12

Page 14: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

Si no se especifica el tipo de variable al inicio de un programa, Fortran asume por

defecto el tipo de dato que contendrá, así:

Para todas las variables que empiecen con las letras (1, J, K, L, M y N}, se asume

que contienen valores enteros del tipo INTEGER(4) y para las que empiecen con las

letras (A - H y O - Z), se asumirá que contienen valores reales, por defecto del tipo

REAL(4). Se puede definir al inicio de un programa el tipo de datos que deseamos .

que contenga una variable, de modo que una variable puede ser real, entero,

compleja, carácter o lógica.

• Atributos de Constantes y Variables. Los atributos describen las

propiedades de un dato o variable y de cómo serán tratados por el programa

así entonces una variable que se declara como PUBLIC podrá estar disponible

fuera de un modulo o programa, pero si se declara cornfil, PRIVATE la variable

estará disponible dentro del modulo solamente; existen ~~emás otros atributos -\·

tales como PARAMETER que señala que el dato es un~ ~onstante y su valor

no puede ser cambiado durante la ejecución del program~. EXTERNAL que

declara el nombre de una función externa a una s_ubrutina o INTRINSIC la que

declara una función intrínseca a una función o subfij~na. (Brian, 19~4).

1.4 Operadores en Fortran 90

Los operadores en Fortran son caracteres especiales que nos,p,err:nit~n definir

cierto procedimiento u operación, que deseamos se realice. En Fortran existen cuatro

tipo de operadores: numéricos ó aritméticos, relacionales, lógicos y carácter.

**

*

1

+

• Operadores Aritméticos. ( **, *, +, -, 1 }. Los operadores aritméticos son útiles

para poder indicar que queremos que se realice una operación aritmética.

Indica potenciación es la primera en prioridad de ejecución, es decir se ejecuta

antes de cualquier otra operación aritmética.

Indica multiplicación es de segunda prioridad.

Nos indica división y también es de segunda prioridad.

Indica adición es de tercera prioridad.

Indica Sustracción y también es de tercera prioridad.

13

Page 15: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

Cuando es necesario efectuar una operación que contenga consecutivamente dos

operaciones a efectuar con operadores de prioridad similar es necesario usar

paréntesis para indicar que operación se debe realizar primero, veamos un ejemplo:

abe= a **(b**c)

a - = a/(b*c) b.c

Como vemos el uso de paréntesis se hace necesario pues de lo contrario el

computador ejecutara operaciones en un orden que no corresponde al que deseamos.

Cabe mencionar que cualquier tipo de ecuación u operación aritmética deberá ser

ingresada usando cuidadosamente los operadores, esto quiere decir que no pod~mos

escribir nuestras relaciones matemáticas o formulas de la manera usual, sino que

debemos traducirlas para que el computador las entienda.

• Operadores Relaciónales. Son aquellos que nos definen una relación entre

dos valores numéricos o dos datos del tipo carácter, no es posible comparar un

dato numérico con un dato carácter o lógico, el resultado de la comparación es

del tipo lógico (verdadero o falso) y es posible usar otro operador numérico en

las cantidades a comparar, los operadores relacionales son:

.LT. < Less than (Menor que)

.LE. <= Less than or equal to (Menor o igual que)

.EQ. = Equal to (Igual que)

.NE. =F Not equal to (Diferente que)

.GT. > Greater than (Mayor que)

.GE. >= Greater than or equal to (Mayor o igual que)

Estos operadores no pueden ser utilizados en combinación con otros operadores

relaciónales pues no existe un orden de precedencia entre ellos; si se evalúa un

numero entero con un número real el numero entero se convierte en real antes de ser

evaluado, lo mismo ocurre cuando evaluamos números complejos, pero con ellos solo

podemos usar los operadores re_lacionales .NE. y .EQ.

14

Page 16: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

• Operadores Lógicos. Un OP,erador lógico solo puede ser usado con

constantes y variables definidas como lógicas e incluso funciones del tipo

lógico, estos operadores tienen un orden de precedencia es decir una

secuencia de ejecución, los operadores del tipo lógico son:

.NOT. Negación Primero en ejecución.

.ANO. Conjunción Segundo en ejecución.

.O R. Disyunción Inclusiva Tercero en ejecución

.XOR. Disyunción Exclusiva Cuarto en ejecución.

. EQV. Equivalencia Cuarto en ejecución .

.NEQV. No Equivalencia Cuarto en ejecución.

Fortran 90 permite también como argumentos números enteros, cabe mencionar que

al encontrarse dos operadores lógicos de igual precedencia, el orden de ejecución va

de izquierda a derecha.

• Operadores Carácter. E.l úriico operador carácter es el de concatenación (//),

los argumentos a usar pueden ser datos, funciones o variables de tipo carácter;

el funcionamiento de este operador consiste en concatenar el valor de dos

variables first//second en una sola variable o cadena de caracteres, por

ejemplo 'JKL' 11 'ABC' produce 'JKLABCD' .

... 1.5 Procedimientos y fUhciones

Los procedimientos son en esencia las categorías dentro de las cuales

encontramos los comandos, proposiciones ó funciones a ser usadas por el

programador para lograr que .el computador realice una tarea específica sea esta el

manejo de archivos, ~ubruti1as, arreglos o matrices, etc. Cabe mencionar que

muchas de las fu~~iooes mJffléricas, trigonométricas, etc. pueden ser usadas como

argumento de otras funciones, facilitando así la tarea del programador; a continuación

pasaremos a vef lqs pr.t~p_ales procedimientos y sus funciones o proposiciones, de

acuerdo a la clasiflt~ación ~-.F'Qrtran 90.

15

Page 17: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

1.5.1 Especificación de variables

DATA Asigna valores a variables predefinidas según el orden

establecido, es de utilidad cuando se trabaja con matrices.

Sintaxis

DATA [nombre de variable] 1 valor1, valor2, .. /

nombre de variable define la variable a la cual se van a introducir los valores (valor1,

valor2), que figuran entre barras diagonales, en el caso de que una variable este

dimensionada por ejemplo: sea la variable nombr de dimensión (3) (definido

previamente), deberemos asignar 3 valores, es decir /valor1, valor2, valor3/; ingresado

así la variable nombr ya contiene los tres valores definidos. Podemos también

ingresar valores de tipo carácter a las variables, siempre que hayan sido preparadas

para recibir este tipo de datos; es posible también ingresar valores a variables de tipo

complejo, por ejemplo: sea la variable compleja var1 , para ingresar las partes real e

imaginaria hacemos DATA var1/ (real, imaginaria)/, este tipo de asignación es muy útil,

sobretodo en el caso de trabajo con matrices complejas.

DIMENSION Define la variable como del tipo cadena, es decir podemos usar

esta expresión para definir matrices o arreglos dimensionados.

Sintax~s

DIMENSION {nombre de variable (especificación de

tipo)]

nombre de variable identifica a la variable del tipo cadena; especificación de tipo se

refiere a las dimensiones de la matriz, es decir ~i será un arreglo unidimensional,

bidimensio~. 1r1dimensional, etc. es posible tambiétÍ determinar el tipo de matriz que

deseamos, ~í"Si qüeremo~ almacenar números complejos en la matriz lo indicamos

antes de DIMENSlON con la proposición respectiv,a.

16

Page 18: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

CHARACTER Prepara variables para almacenar caracteres, es decir permite

guardar valores como letras ó números en formato caracter. -\.~i

Sin~~is '

CHARACTER (IÓngitud), [nombre de variable]

CHARACTER*Iongitud, [nombre de variable]

CHARACTER (tipo), atributo :: [nombre de variable]

longitud, en todos los casos se refiere a la cantidad de caracteres que se pueden

colocar en la variable; cuando usamos la ultima sintaxis, tipo especificamos los

parámetros LEN, KIND; en cuanto a los atributos que son posibles colocar, estos

pueden ser DIMENSION; EXTERNAL, INTRINSIC, PARAMETER, PRIVATE, PUBLIC,

SAVE ó TARGET, de modo que podemos definir como caracter a variables del tipo

cadena ó dimensionadas; podemos indicar si estas van a ser de uso público o privado, ,

etc. LEN, se refiere a la longitud de la variable y KIND nos indica el modo de

presentación.

Cabe mencionar que como en todas las declaraciones de variables, esta expresión.

debe colocarse en el inicio del programa antes de cualquier instrucción ejecutable,

además no puede especificarse más de una vez a la misma variable.

COMPLEX Especifica que la variable es del tipo complejo, es decir puede

almacenar números de naturaleza compleja {con parte real e

imaginaria).

Sintaxis

~'EX(tipo), [nombre de variable]

COMPLEX((KIND=tipo)),atributo::[nornbres de

variaBles]

tipo, esta :retefmo a la especificación de los argumentos {parte real e imaginaria), es

decir la· extensión del número real, sLes. del tipo 8 o 4, por ejemplo si utilizamos

COMPlEX(4) quiere decir que usaremos números de tipo real{4) para los argumentos.

17

Page 19: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

La opción KIND tiene la misma función; atributo se refiere al tipo de declaración

especial asignada para la variable (DIMENSION, EXTERNAL, INTRINSIC,

PARAMETER, PRIVATE, PUBLIC, SAVE o TARGET); como en todas las

declaraciones de tipo de variable esta debe figurar en el inicio de programa antes de

las instrucciones ejecutables.

INTEGER Declara que la variable o variables contendrán datos de

tipo entero.

Sintaxis

INTEGER(tipo) [nombre de variable]

tipo, consiste en un numero real (1 ,2 y 4), el cual definirá el tipo de dato a ingresar, así

INTEGER(1) va desde: -128 hasta +127, en el caso de INTEGER(2) va desde: -

32,768 hasta 32,767, y para INTEGER(4) desde: -2,147'483,648 hasta 2,147'483,647,

por defecto, es decir si omitimos colocar el tipo se asumirá que es del tipo 4.

REAL Declara que las variables especificada~.'."serán del tipo re91, ~s

decir almacenan datos de tipo real.

Sintaxis

REAL [KIND= tipo, atributos] var

tipo indicará la longitud del número real almacenadq, es decir precisión doble (tipo

8) ó precisión simple (tipo 4). Los atributos se especifican separados por comas y

definen al conjunto de variables (var) como EXTERNAL, INTRINSIC, PRIVATE,

PUBLIC, etc. Los nombres de variables pueden hacer referencia incluso a cadenas

ó variables dimensionadas, funciones ó subprogramas.

18

Page 20: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

1.5.2 Procedimientos de entrada y salida de datos

READ Permite la lectura de datos desde archivo ó vía teclado.

Sintaxis

READ [unidad, línea de formato, END=nl, ERR=nl]

unidad establece la unidad seleccionada para lectura de registros, un asterisco (*)

indicará ingreso por teclado, la unidad se especifica mediante un número entero; la

línea de formato ordena la lectura de datos usando un orden establecido con el

comando FORMAT, los estamentos adicionales END y ERR, requieren números de

línea (ni) para dirigir la ejecución del programa en caso de encontrar fin de archivo ó

error en ingreso de datos.

WRITE Permite la salida de datos ya sea por pantalla ó por archivo.

Sintaxis

WRITE [unidad, línea de formato, ERR=nl]

unidad establece la unidad seleccionada para escritura de registros, (*) indicará

ingreso por teclado, la unidad se especifica mediante un número entero; la línea de

formato ordena la escritura de datos usando un orden establecido con el com~ndo

FORMAT, el estamento adicional ERR, requiere número de línea (ni) para dirigir la \

ejecución del programa en caso de encontrar error en variable de salida de datos.

OPEN Apertura una unidad para lectura ó escritura, puede tratarse de

un archivo de datos nuevo ó ya existente.

Sintaxis

OPEN [(unidad, FILE='nomarch', STATUS='stat')]

19

Page 21: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

unidad es un número entero que caracteriza al archivo ó medio para lectura ó

escritura, nomarch especifica el nombre y ruta del archivo ó medio para lectura ó

escritura, la indicación stat se refiere a una característica propia del medio a emplear

estas pueden ser: OLD (unidad ya existente), NEW (crear una unidad nueva),

REPLACE (reemplaza el archivo existente con otro del mismo nombre), SCRATCH

(crea un archivo temporal y lo elimina cuando la unidad se cierra).

CLOSE Cierra una unidad de lectura ó escritura abierta con OPEN.

Sintaxis

CLOSE [(unidad, STATUS='stat')]

unidad es un número entero que especifica la unidad a cerrar; stat puede tener dos

valores KEEP (mantener el archivo en memoria) ó DELETE (eliminar el archivo una

vez cerrado).

REWIND Retorna la lectura ó escritura al primer registro de un archivo

abierto.

Sintaxis

REWIND [unidad]

El parámetro unidad indica el número entero especificado con el comando OPEN para

la unidad de lectura ó escritura en uso.

PRINT Permite la visualización de datos únicamente por pantalla.

Sintaxis

PRINT [línea de formato, var1, var2, .... ]

La línea de formato indicará la etiqueta de la línea con el formato para salida de datos

por pantalla, el símbolo asterisco(*) puede empléarse en lugar de la línea de formato;

los nombres de las variables (var1, var2, .. ), deben estar separados por comas.

20

Page 22: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

1.5.3 Procedimientos para trabajo con matrices y vectores

DOT _PRODUCT Realiza el producto escalar de dos vectores (arreglos

unidimensionales).

Sintaxis

DOT_PRODUCT (vector_a, vector_b)

El vector_a y el vector_b pueden ser cualquier cadena excepto de tipo caracter, el

resultado es un esclarar del mismo tipo que los vectores argumento.

MATMUL Realiza el producto de matrices (valido para arreglos

bidimensionales).

Sintaxis

MATMUL (matriz_a, matriz_b)

La matriz_a y la matriz_b pueden ser cualquier cadena excepto de tiJW':caracter, el

resultado es una matriz del mismo tipo que los vectores argumento.·

SUM 1'~.

Realiza la suma de los elementos de un arre{iro dé-dimensión

arbitraria columna por columna.

Sintaxis

SUM (matriz, DIM='nl')

La matriz puede ser cualquier cadena· excepto de tipo caracter, el resultado es una

matriz de dimensiones ni.

TRANSPOSE Realiza el cálculo de la transpuesta de un arreglos

bidimensional.

Sintaxis

TRANSPOSE (matriz)

La matriz. puede ser cualquier cadena excepto de tipo caracter, el resultado es una

matriz del mismo tipo que la matriz argumento.

21

Page 23: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

ABS

1.5.4 Procedimientos para trabajo con valores numéricos

Retorna el valor absoluto del argumento empleado en una

variable del mismo tipo.

Sintaxis

ABS (arg}

El argumento (arg) puede ser cualquier valor entero, real ó complejo, el resultado es

un valor del mismo tipo que el argumento.

MAX Retorna el máximo valor entre los argumentos introducidos.

Sintaxis

MAX (a1, a2, a3 ...... }

Los argumentos a1, a2, a3, ... deben ser del mismo tipo, excepto del tipo caracter, el

resultado será un valor del mismo tipo que los argumentos indicados.

MIN Retorna el mínimo valor entre los argumentos introducidos.

Sintaxis

MfN (a1, a2, a3 ...... }

Los argumentos a 1, a2, a3, ... deben ser del mismo tipo, excepto del tipo caracter, el

resultado será un valor del mismo tipo que los argumentos indicados.

CONJG Retorna el complejo conjugado de un argumento complejo.

Sinta}(is

CONJG (z}

El argumento z, debe ser un número complejo de tipo COMPLEX(4) ó

COMPLEX(8), el resultado será un complejo del mismo tipo.

Page 24: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

cos

1.5.5 Procedimientos para tra&ljbcon valores trigonométricos,

exponenciales y logarítrrite!6s

Retorna el coseno del argumento en radianes.

Sintaxis

COS (arg)

El argumento (arg), debe ser real, el resultado será un valor del mismo tipo que el

argumento indicado.

SIN Retorna el seno del argumento en radianes.

Sintaxis

SIN (arg)

El argumento (arg), debe ser real, el resultado será un valor del mismo tipo que el

argumento indicado.

TAN Retorna la tangente del argumento en radianes.

Sintaxis

TAN (arg)

El argumento (arg), debe ser real, el resultado será un valor del mismo tipo que el

argumento indicado.

COTAN Retorna la cotangente del argumento en radianes.

Sintaxis

COTAN(arg)

El arqumf3nto (arg), debe ser real, el resultado será un valor del mismo tipo que el

argumento indicado.

COSD R€torna el coseno en grados sexagesimales de un argumento

,:féal.

$Jo taXis

COSO (arg)

23

Page 25: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

El argumento (arg), debe ser un real de tipo REAL(4); el resultado será un valor del

mismo tipo que el argumento indicado.

SINO Retorna el seno en grados sexagesimales de un argumento

real.

Sintaxis

SINO (arg)

El argumento (arg), debe ser un real de tipo REAL(4); el resultado será un valor del

mismo tipo que el argumento indicado.

TANO Retorna la tangente en grados sexagesimales de un

argumento real.

Sintaxis

TANO (arg)

El argumento (arg), debe ser un real de tipo REAL(4); el resultado será un valor del

mismo tipo que el argumento indicado.

COSH Retorna el coseno hiperbólico en radianes de un argumento

real.

Sintaxis

COSH (arg)

El argumento (arg), debe ser un real de tipo REAL(4); el resultado será un valor del

mismo tipo que el argumento indicado.

SINH Retorna el seno hiperbólico en radianes de un argumento

real.

Sintaxis

SINH (arg)

.i El argumento (arg), debe ser un real de tipo REAL(4); e~-rz~ultado será un valor del

mismo tipo que el argumento indicado.

24

Page 26: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

TANH Retorna la tangente hiperbólica en radianes de un argumento

real.

Sintaxis

TANH (arg)

El argumento (arg}, debe ser un real de tipo REAL(4); el resultado será un valor del

mismo tipo que el argumento indicado.

ACOS Retorna el arco coseno del argumento en radianes en el

intervalo [O, 1t].

Sintaxis

ACOS (arg)

El argumento (arg), debe ser real con largl s 1; el resultado será un valor del mismo

tipo que el argumento indicado.

ACOSO Retorna el arco coseno del argumento en grados

sexagesimales en el intervalo [O, 180].

Sintaxis

ACOSO (arg)

El argumento (arg), debe ser real con largl :S 1; el resultado será un valor del mismo

tipo que el argumento indicado.

A SIN Retorna el arco seno del argumento en radianes en el

intervalo [-7t/2, 7t/2].

Sintaxis- ,,,

ASIN (arg)

El argumento (arg), debe ser real con ¡argl s 1; el resultado será un valor del mismo

tipo que el argumento indicado.

25

Page 27: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

ASIND Retorna el arco seno del argumento en grados sexagesimales

en el intervalo [-90, 90].

Sintaxis

ASIND (arg)

El argumento (arg}, debe ser real con ¡argl s 1; el resultado será un valor del mismo

tipo que el argumento indicado.

ATAN Retorna el arco tangente del argumento en radianes en el

intervalo [-7t/2, 7t/2].

Sintaxis

ATAN (arg)

El argumento (arg}, debe ser real; el resultado será un valor del mismo tipo que el

argumento indicado.

ATAND Retorna el arco tangente del argumento en grados

sexagesimales en el intervalo [-90, 90].

Sinta~is

ATAND (arg)

El argumento (arg}, debe ser real; el resultado será un valor del mismo tipo que el

argumento indicado.

ecos Retorna el coseno en radianes de un valor complejo.

Sjntaxis

ecos (arg)

El argumento (é:lrg}, debe ser un complejo de tipo COMPLEX(4); el resultado será un

valor del mismo tipo que el argumento indicado.

CSIN Retdrna el senq er radianes de un valor complejo.

Sintaxis

CSIN (arg)

26

Page 28: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

El argumento (arg), debe ser un complejo de tipo COMPLEX(4); el resultado será un

valor del mismo tipo que el argumento indicado.

CEXP Retorna el valor complejo de earg.

Sintaxis

CEXP {arg)

El argumento (arg), debe ser un complejo de tipo COMPLEX(4); el resultado será un

valor del mismo tipo que el argumento indicado.

CLOG Retorna el logaritmo natural de un complejo es decir ln(arg).

Sintaxis

CLOG {arg)

El argumento (arg), debe ser un complejo de tipo COMPLEX(4); el resultado será un

valor del mismo tipo que el argumento indicado.

CSQRT Retorna la raiz de un valor complejo.

Sintaxis

CSQRT {arg)

El argumento (arg), debe ser un complejo de tipo COMPLEX(4); el resultado será un

valor del mismo tipo que el argumento indicado.

EXP Re~orna el valor de earg.

~~taxis \

E~~(arg)

El argument9. (;;Jrg), deb~"ser real, el resultado será un valor del mismo tipo que el

argumento indicado.

LOG Retorna el valor del logaritmo natural del argumento.

Sin~s

LOG {arg)

27

Page 29: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

El argumento (arg), debe ser real, el resultado será un valor del mismo tipo que el

argumento indicado.

LOG10 Retorna el valor del logaritmo en base 1 O del argumento.

Sintaxis

LOG10 (arg)

El argumento (arg), debe ser real, el resultado será un valor del mismo tipo que el

argumento indicado.

SQRT Retorna el valor de la raíz cuadrada del argumento.

Sintaxis

SQRT (arg)

El argumento (arg), debe ser real, el resultado será un valor del mismo tipo que el

argumento indicado.

ALOG Retorna el antilogaritmo natural del argumento.

Sintaxis

ALOG (arg)

El argumento (arg), debe ser real, el resultado será un valor del mismo tipo que el

argumento indicado.

ALOG10 Retorna el antilogaritmo en base 1 O del argumento.

Sintaxis

ALOG10 (arg)

El argumento (arg), debe ser real, el resultado será un valor del mismo tipo que el

argumento indicado.

28

Page 30: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

1.5.6 Funciones de definición y llamado de programas

CALL Proposición cuya función es la de llamar a una subrutina para su

ejecución.

Sintaxis

CALL (nombre de la subrutina) [arg1 ,arg2, ... ]

El nombre de la subrutina corresponde a la que queremos ejecutar y los argumentos

arg son los nombres de las variables, constantes ó parámetros que necesita la

subrutina, dichos parámetros pueden ser calculados fuera de la subrutina con nombres

diferentes y posteriormente ser usados por ella para producir nuevos datos ó

presentarlos de acuerdo a un formato determinado.

COMMON Crea una lista de parámetros y variables que pueden ser usadas

por más de una subrutina.

Sintaxis

COMMON [nombre de variables]

El nombre de variables debe ir ~eparado por comas, en cada subrutina debe

mencionarse el COMMON con las variables en la misma secuencia.

FUNCTION ldeptifica una función, es decir proporciona el nombre, de la

f~nción, las variables utilizapas nombres y tipos (real, complejo ó

entero); básicamente el programa utiliza la función definida tal y

como utiliza las funciones ya existentes como por ejemplo seno y

coseno, de modo que el usuario puede definir una operación a

realizar con las variables ya declaradas y utilizarlo dentro del

programa cuantas veces lo requiera.

Sintaxis

(tipo espec) FUNCTION [nombre] [variables a emplear]

29'

Page 31: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

El tipo espec, se refiere al tipo de especificación de la función es decir si es real,

entera ó compleja; el nombre se refiere al que identifica la función; variables a emplear

designa separados por comas los nombres de las variables que utiliza la función.

Cabe mencionar que para que estas variables sean reconocidas por la función

deben estar definidas en el COMMON del programa principal y en el mismo orden, de

lo contrario se pueden producir resultados incorrectos, al finalizar las instrucciones

definidas en la función se finaliza con el comando RETURN y luego END en la línea

final

PROGRAM Identifica una unidad de programa proporcionándole un nombre.

Sintaxis

PROGRAM [nombre del programa]

El nombre del programa debe ser dado usando letras o combinaciones de números y

letras, no se pueden utilizar espacios en blanco ni caracteres especiales a excepción

del bajo guión ( _ ).

Esta declaración debe ser ubicada siempre al inicio del programa y este nombre no

debe ser usado por algún subprograma, subrutina ó función; asimismo, no debe ser

duplicado ó declarado en algún procedimiento EXTERNAL

RETURN Retorna el control del programa a la unidad que realizó el

llamado.

Sintaxis

RETURN [caracter]

El carácter es una posición de un r~torno alternante, definido en los argumentos de

una subrutina. RETURN, termina lq ejecución de una subrutina o función, el

estamento END, en una fu~(fión ó sybrutina tiene el mismo ef~to que RETURN, el

carácter que se puede colo<;ªr luego de RETURN tiene la función de devolver el

control a una proposición ó estamento esp~cificQ.

30

Page 32: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

SUBROUTINE Identifica una unidad de programa como una subrutina, dándole

un nombre e identificando sus argumentos.

Sintaxis

SUBROUTINE [nombre de la subrutina] [variables a

utilizar]

El nombre de la subrutina, no debe ser usado nuevamente en otras proposiciones de

declaración tales como DATA, EQUIVALENCE, INTRINSIC, SAVE, COMMON ó

AUTOMATIC. Los nombres de las variables a usar deben estar separados por comas.

Finalizada la subrutina debemos usar el estamento END; dentro de una subrutina no

pueden colocarse los estamentos BLOCK DATA, FUNCTION, PROGRAM ó

SUBROUTINE. Al igual que el la proposición FUNCTION, los nombres de variables

deben ser colocados en orden; si no se especifican las variables a usar se

sobreentiende que estas deberán estar presentes en el programa principal y ser de

uso común, es decir deberán estar definidas con el estamento COMMON.

Para acceder a una subrutina será necesario el llamado desde el programa principal

haciendo uso de CALL, definido con anterioridad.

CASE

1.5.7 Procedimientos de control de programa (ciclos y transferencias)

La proposición case nos permite hacer un testeo de una

determinada variable ó expresión, ejecutando una serie de

estamentos dependiendo del valor evaluado.

Sintaxis

SELECT CASE (variable)

CASE_( condición 1)

[proposiciones a ser ejecutadas de ser verdadera]

CASE (condición 2)

[proposiciones · a ser ejecutadas de ser verdadera]

31

Page 33: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

CASE DEFAUL T

[línea ó líneas a ser ejecutadas de ser falsas todas las

anteriores]

ENDSELECT

La variable a ser evaluada puede ser entera, real, compleja ó carácter; se recuerda

que al finalizar cada expresión CASE debe colocarse END SELECT.

Es posible evaluar el valor de la variable dentro de un rango, así si deseo evaluar el

valor y ver si se encuentra entre O y 10, entonces colocare (0:10) como condición,

ahora si por ejemplo deseara evaluar si mi variable guarda la letra S mayúsculas,

entonces colocare ('S') como condición, así el bloque se ejecutará si el valor

corresponde y no lo ejecutará si no corresponde. Supóngase ahora que se desea ver

si el valor almacenado es menor ó igual que un número determinado sea 1 O por

ejemplo entonces colocare como condición (:10), si quiero ver si es mayor o igual

pondré (10:), esto no se puede hacer si evaluamos valores carácter o lógicos, en el

caso de que se desee evaluar letras estas deberán estar separadas por comas y cada

una encerrada entre apostrofes, así como condición puedo colocar, por ejemplo: (' f ' , '

g' '' h ').

Si ninguna de las condiciones es satisfecha se ejecutara las ordenes colocadas

luego de CASE DEFAUL T, si se omite esta línea, ocurrirá la terminación de la

evaluación.

DO Permite ejecutar operaciones, comandos y sentencias en ciclos

repetitivos, el numero de los cuales dependerá de los valores de

inicio, parada e incremento que asignemos

Sintaxis

(Nombre DO): DO [etiq] [var] = [inicio],[alto],[incremente}? ~~· -.~'

Lista de proposiciones

END DO (Nombre DO)

32

Page 34: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

El nombre DO, es opcional si se elige debe colocarse también luego de la proposición

END DO, si se omite no causa dificultades; sin embargo, es conveniente usarlo

cuando trabajamos con programas extensos a modo de identificador; la variable (var)

a usar como contador deberá ser de tipo entero, el valor de inicio y alto también

deberán ser de tipo entero, corresponde a los valore de inicio y termino de iteración; el

incremento puede ser un entero positivo ó negativo dependiendo de la aplicación.

Adicionalmente es posible definir una etiqueta (etiq), es decir indicar una línea en el

programa a la que se dirige el control luego de finalizado el ciclo DO, en dicha línea

deberá colocarse la proposición CONTINUE, esto indica que luego de este punto el

programa continua su ejecución.

Dentro de un ciclo DO pueden colocarse otros ciclos DO teniendo en cuenta que la

terminación de los mismos se ubica en el interior del ciclo inicial, no puede terminar

fuera, también pueden colocarse proposiciones IF, ELSE IF y DO WHILE, así como

estamentos SELECT CASE, es posible también llamar funciones y subprogramas.

, Para romper el ciclo DO antes de su terminación, será necesario colocar la proposición

GblO, la cual redirige el control a una determinada línea, la proposición EXIT,

continuando el programa a partir de ahí o podemos usar la proposición CYCL.,E la cual

nos lleva de vuelta al inicio del ciclo DO especificado por su nombre. (Brian, 1994).

DOWHILE Indica la ejecución de un bloque de instrucciones repetitivamente

mientras cierta condición lógica arroje el valor de verdadero.

Sintaxis

(nombre) : DO [etiqueta] WHILE [expresión lógica]

Lista de proposiciones a .realizar si es verdadera

END DO (nombre)

·.·':Se le pueden aplicar las mismas reglas que para los ciclos DO. En cuanto a ~.

expresión lógica a ser evaluada diremos simplemente que estas hacen uso de los

operadores lógicos antes definidos, así es posible evaluar valores de variables de ~·· . ,_.:o:.'".•::o-::or

tipo, por ejemplo si se desea que cierto ciclo se ejecute mientras el valor de una

33

Page 35: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

variable sea menor ó igual que 1 O, en cuanto el valor sea mayor a 1 O el ciclo

terminara.

GOTO Este comando transfiere el control de ejecución del programa a

cierta línea o etiqueta que haya sido especificada.

Sintaxis

GOTO (etiqueta)

La etiqueta nos iridica el número de línea de programa a la cual se saltara por decirlo

de alguna manera, para continuar con la ejecución del programa.

En cuanto a las condiciones para poder hacer uso de GOTO, diremos que no se

puede transferir el control a un bloque DO, IF ELSE IF, fuera del ciclo en ejecución.

IF Condiciona la ejecución de un grupo de instrucciones al valor de

arrojado por una comparación, es decir verdadero ó falso.

Sintaxis

(nombre bloq): IF (expresión 1) THEN

{bloque de instrucciones 1}

EISE IF (expresión 2) THEN

{bloque de instrucciones 2}

El.SE

{bloque de instrucciones 3}

END IF (nombre bloq)

34

Page 36: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

nombre bloq, se refiere a un nombre que es opcionalmente colocado para que

podamos identificar al grupo IF, es útil cuando se trabaja en programas extensos; las

expresiones 1 y 2, se refieren a las evaluaciones que arrojan un valor de verdadero o

falso, por ejemplo si a = 2 y b = 1 entonces al decir a > b nos arrojara verdadero y se

ejecutara el bloque de instrucciones que le siguen a la expresión THEN y al finalizar

termina la evaluación y se dirige el control a la línea que le sigue a END IF.

En cuanto a ELSE IF, esta indica que en caso de ser falsa la expresión 1, se deberá

evaluar la expresión 2 y de ser verdadera se ejecutara el bloque de instrucciones 2 y

finaliza la evaluación, en caso de que no lo sea pasa por alto este bloque, continua

entonces con la siguiente línea si se da el caso de que todas las expresiones

anteriormente evaluadas den por resultado falso se ejecutaran las instrucciones del

bloque 3, finalizado este se termina la evaluación y se dirige el control a la linea

posterior a END IF.

Cabe mencionar que no es obligatoria la inclusión de ELSE IF ó ELSE, estas se

colocan de acuerdo a nuestras necesidades, al omitir ELSE, se termina la evaluación

de ser falsa la expresión ó expresiones correspondientes. No hay limitaciones a

considerar para poder incluir expresiones ELSE IF dentro de IF, no obstante solo

puede haber un ELSE por cada IF que usemos, para finalizar siempre debe colocarse

END IF; si se definió un nombre este deberá colocarse inmediatamente después.

(Brian, 1994).

Muchas veces es útil usar lo que se conoce como IF lógico el cual funciona de manera

similar con la diferencia que no hace falta colocar END IF, su tarea es evaluar el valor

de una expresión lógica e inmediatamente ejecutar alguna tarea, veamos la sintaxis:

IF (ex_presión 1) {instrucción a ejecutar}

Consta de una línea, la instrucción que podemos ejecutar puede ser cualqHi'~

menos CASE, SELECT CASE, DO, END DO, DO WHILE, WHERE, END WHERE, IF,

END IF, END, END FUNCTION ó END SUBOUTINE.

WHERE Ejecuta cierto conjunto de operaciones de asignación mientras la

expresión evaluada sea verdadera.

35

Page 37: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

Sintaxis

WHERE (expresión 1)

{proposiciones de asignación 1}

ELSEWHERE

- {proposiciones de asignación 2}

ENDWHERE

expresión 1 se refiere a la evaluación que arrojara un valor de verdadero ó falso; de

ser verdadero tendremos que se realizaran las proposiciones de asignación 1 y pasara

a la línea posterior a END WHERE, de lo contrario pasara a la siguiente línea interior,

si se colocó ELSEWHERE se ejecutarán las proposiciones de asignación 2 y se

terminará colocando el control en la línea posterior a END WHERE. Colocar

ELSEWHERE no es obligatorio, dependerá de nuestras necesidades.

PAUSE Suspende temporalmente la ejecución del programa, permitiendo

la ejecución de comandos del sistema operativo durante la

suspensión.

Sintaxis

PAUSE (mensaje)

El mensaje pueden ser caracteres o números enteros de O a 99,999; el control

retornará al oprimir la tecla ENTER.

STOP Termina la ejecución del programa.

Sintaxis

STOP [mensaje]

Colocar Stop para terminar un programa no es obligatorio, en cuanto al mensaje es

opcional y pueden ser un conjunto de letras ó números entre O y 99,999, si se omite

este mensaje, por defecto el sistema mostrara:

STÓP - Program terminated

36

Page 38: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

1.5.8 Procedimientos de formato Entrada/Salida

FORMAl Carga el formato para ingreso y salida de datos, ya sea por

archivo ó por pantalla.

Sintaxis

FORMAl [descriptores]

Los descriptores definen la forma en que se presentan ó extraen los datos de las

variables, existen dos tipos los de edición y los de entrada y salida de datos a

continuación se muestra una tabla para los más utilizados en ambos casos.

Descriptor de

entrada y salida

Tabla (1.1) Descriptores de ingreso y salida.

Tipo de variable

lw[.m] Valores enteros

Bw[.m]

Ow[.m]

Zw[.m]

Fw.d

Ew.d[Ee]

ENw.d[Ee]

ESw.d[Ee]

Gw.d[Ee]

Dw.d

Lw

A[w]

Datos binarios

Valores octales

Valores hexadecimales

Valores reales

Valores reales con exponentes

Valores reales con exponentes en notación de ingeniería

Valores reales en notación científica

Valores reales en rango extendido

Valores reales de doble precisión

Datos de tipo lógico

Datos de tipo caracter

(w) representa el ancho de campo es decir el número total de cifras que contendrá~

valor de variable representado; (m) indica el número de ceros a la izquierda del punto

decimal (solo para valores enteros, octales y hexadecimales; (d) especifica el número

de cifras a la derecha del punto decimal y (e) representa el exponente.

37

Page 39: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

Tabla (1.2) Descriptores de edición.

Descriptor de Efecto de edición ·

edición

nx Espacios en blanco

1 Envía la posición de escritura a la línea siguiente

$ Indica posición de cursor para entrada de registro

' ' (apostrofes) Permite adición de texto en salida de escritura

1.5.9 Funciones de conversión de tipo

DBLE Convierte el argumento establecido en un número real de

precisión doble.

Sintaxis

DBLE (arg)

El valor en arg puede ser entero, real ó complejo, el resultado será un número real

de tipo REAL(8).

FLOAT Convierte el argumento establecido en un número real de

precisión simple.

Sintaxis

FLOAT (arg)

El valor en arg debe ser entero, el resultado será un número real de tipo REAL(4).

IFIX Convierte el argumento establecido en un número entero de

precisión simple.

Sintaxis

IFIX (arg)

El valor en arg debe ser real tipo REAL(4), el resultado será un número entero de­

tipo INTEGER(4).

38

Page 40: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

NINT Convierte el argumento establecido en un número entero de

clase arbitraria, en este caso se emplea el redondeo.

Sintaxis

NINT (arg, clase)

El valor en arg debe ser real de tipo REAL(4}, el resultado será un número entero

de clase INTEGER(1), INTEGER(2) ó INTEGER(3).

REAL Convierte el argumento establecido en un número real de tipo

arbitrario.

Sintaxis

REAL (arg, tipo)

El valor en arg puede ser entero, real ó complejo, el resultado será un número real

de tipo REAL(4) ó REAL(8).

CMPLX Convierte el argumento establecido en un número real de tipo

arbitrario.

Sintaxis

CMPLX (X, Y, tipo)

El valor en X e Y puede ser entero ó real, el resultado será un número complejo de

tipo COMPLEX(4) ó COMPLEX(8).

1.6 Algoritmos y diagramas de flujo

En el proceso de resolución de problemas, es posible distinguir varias fases

distintas. La primera fase es la formulación. Al formular un modelo matemático de una

situación física, el científico debe tomar en cuenta de antemano que espera resolver

su problema en un computador, indicando el conjunto de datos y variables a utilizar.

Luego deben diseñarse métodos numéricos, junto con un análisis de error, @0 ,. caso se empleará un algoritmo que es un conjunto de procedimientos mate~.

completo y carente de ambigüedad que lleva a la solución del problema planteado.

39

Page 41: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

En la fase de programación se debe transformar el algoritmo en un conjunto de

instrucciones detalladas y sin ambigüedad; en este punto se hace necesario ampliar el

conjunto de comandos, sentencias e instrucciones en Fortran para lograr la

elaboración de rutinas cíclicas y subprogramas que permitan individualizar las etapas

para la solución de un problema.

1.6.1 Algoritmos

Un algoritmo es una serie lógica de pasos ó procedimientos consecutivos que

guarda independencia respecto al lenguaje de programación a emplear. Su función es

definir la secuencia de ocurrencia de eventos a ser ejecutados por el computador. Una

vez creado el algoritmo para determinada tarea el programador deberá traducir estas

instrucciones usando algún lenguaje de manera que puedan ser interpretadas por el

ordenador.

Por ejemplo, supongamos que se desea ejecutar mediante el computador una

tarea repetitiva que consiste en ingresar datos desde teclado, luego efectuar una

operación matemática de adición de estos valores e imprimir los resultados en

pantalla, por impresora ó almacenarlos en un disco, según la decisión del usuario; el

algoritmo para este proceso seria:

(1) Ingreso de los valores a sumar [A y 8].

(2) Realizar la operación de adición [A+B], almacenar el resultado en C

(3) Ingreso de la opción de salida de resultados (1, 2, ó 3), en D

(4) Evaluación del valor almacenado en D

Si D = 1, realizar el paso (5)

Si D = 2, realizar el paso (6)

Si D = 3, realizar el paso (7)

(5) Imprimir resultados por pantalla

(6) Imprimir resultados en impresora predeterminada

(7) Guardar datos en archivo

1.6.2 Diagramas de flujo

Un diagrama de flujo es una representación gráfica de los pasos ó

procedimientos a realizar por el computador a fin de cumplir una tarea, al igual que

4os algoritmos este no depende del tipo de codificación que se empleará

40

Page 42: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

Los diagramas de flujo utilizan una terminología simbólica tal como se

muestra a continuación:

( ______ )

[]

Inicio ó termino de un programa.

Asignación de información a una variable, realización de

proceso.

Decisión IF- THEN.

Ingreso de datos por teclado.

Ingreso de datos por archivo.

Bloque DO- END DO.

Llamada a proceso predefinido.

Almacenamiento interno de información.

Page 43: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

o o

Salida de datos por pantalla.

Salida de datos por archivo.

Salida de datos por impresora.

Conector interno (dentro de pagina}.

Conector externo (fuera de página}.

42

Page 44: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

Empleando la simbología mostrada el algoritmo ejemplo indicado en la sección

1.6.1, se puede construir en el siguiente diagrama de flujo:

INICIO

A,B C=A+B

D

N

e

N

e e

43

Page 45: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

Ejemplo:

Usando un programa en Fortran calcule el seno hiperbólico de rt/2 si se sabe que este

se puede representar mediante la serie infinita:

oo X 2n+l

senh(x)= I-­n=o (2n + 1)!

En este caso se puede considerar como infinito un número lo suficientemente grande

como para que los términos generados posteriormente sean despreciables; por ello,

solicitamos como máximo un error porcentual relativo Es % de 3x1 o-2%; el error

porcentual alcanzado Ea% está dado por la ecuación:

Ea% = X actual -X previa xl 00%

X actual

Donde: Xactual se refiere al valor que es resultado de la iteración actual.

Xprevia se refiere al valor resultado de una iteración inmediatamente anterior.

Se obtiene un resultado; es decir, el programa se detiene cuando se cumple la

condición de convergencia:

Ea% S Es%

Los resultados computacionales según estas consideraciones fueron:

PROGRAMA PARA CALCULAR EL SENO HIPERBÓLICO MEDIANTE UNA SERIE INFINITA INGRESE EL VALOR A EVALUAR EN RAD Y ES% 1.5707 0.03 RESULTADOS N X**(2*N+1) (2*N+1) ! SUMA

1 l. 5707 1.0000 l. 5707 2 5.4458 6.0000 2.4783 3 15.0060 120.0000 2.6034 4 38.5919 5040.0000 2. 6110 5 96.7807 362880.0000 2. 6113

RESULTADO SENOH (1.5707) 2. 6113 ERROR % 0.0102

44

Ea%

100.000 36.623

4.803 0.2933 0.0102

Page 46: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

Codificación:

La codificación que genera los resultados mostrados es la siguiente:

PROGRAM SENOHYP

REAL(4)X,EA,ES,F,SUMA,D

WRITE(*,*) 'PROGRAMA PARA CALCULAR EL SENO HIPERBOLICO' WRITE(*,*) 'MEDIANTE UNA SERIE INFINITA' WRITE(*,*) 'INGRESE EL VALOR A EVALUAR EN RAD Y ES%' READ(*,*)X,ES WRITE(*,*)' RESULTADOS' WRITE(*,*)' N X** (2*N+1) (2*N+1)! SUMA Ea%' !CALCULO DE LA SERIE SUMA=O N=O

10 D=X** (2*N+1) F=1.0

19 20 21

DO I=1, (2*N+1) F=F*I END DO

SUMA=SUMA+D/F EA=(ABS((SUMA-(SUMA-D/F))/SUMA))*100 WRITE(*,19)N,D,F,SUMA,EA

IF(EA.LE.ES)THEN WRITE(*,20)X,SUMA WRITE(*,21)EA ELSE N=N+1 GOTO 10 END IF

FORMAT(1X,I2,1X,4(F17.4,1X)) FORMAT(1X, 'RESULTADO: SENOH (',F9.4, ') FORMAT(lX, 'ERROR%= ',F9.4) END

45

', F9. 4)

Page 47: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

Ejemplo:

Elabore un ¡:>rograma en Fortran que Permita evaluar las funciones siguientes:

a) y= 5x2 + 6x+ 7, en el intervalo: [-5, 5], para total N= 20 divisiones.

b) y= cos(x2) +sen(x3

), en el intervalo: [-5, 5], para total N= 20 div.

e) z = 5xy + 6x3 + 0.6, en intervalo: y E [-1, 1] y x E [-1, 1], para N= 8 div.

El Programa debe presentar los resultados por pantalla y por archivo, permitiendo

exportar los datos a Excel u otro graficador y elaborar la grafica correspondiente.

Los resultados computacionales obtenidos para la parte (a) fueron:

PROGRAMA PARA EVALUAR PUNTOS EN UNA FUNCION

INGRESE EL TIPO DE FUNCION A EVALUAR (1) BIDIMENSIONAL (2) TRIDIMENSIONAL 1 INGRESE LOS LIMITES DE LA FUNCION XO Y Xf -5 5 INGRESE NUMERO DE INTERVALOS 20

RESULTADOS H = 0.50000000

N X y

1 -5.0000 102.0000 2 -4.5000 81.2500 3 -4.0000 63.0000 4 -3.5000 47.2500 5 -3.0000 34.0000 6 -2.5000 23.2500 7 -2.0000 15.0000 8 -1.5000 9.2500 9 -1.0000 6.0000

10 -0.5000 5.2500 11 0.0000 7.0000 12 0.5000 11.2500 13 1.0000 18.0000 14 1.5000 27.2500 15 2.0000 39.0000 16 2.5000 53.2500 17 3.0000 70.0000 18 3.5000 89.2500 19 4.0000 111.0000 20 4.5000 135.2500 21 5.0000 162.0000

46

Page 48: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

Gráfica:

------------------~1~ ~.-----------------------!

------------------~1ro-·~: ------------------+---­!

-------------------~Mo,------------------f-----1

uo--;--------------~-------

\.----------------loo---¡----------------;1-

------'·---------------so~-------------J•-----------:

-------'~o..------------60-:----------/-------------

' --·-----·------- -----------------40-¡----·---- --------------·--¡

------------ -----20-;-------- ------·

-6 -4 -2 o 2 4

Los resultados computacionales obtenidos para la parte (b) fueron:

PROGRAMA PARA EVALUAR PUNTOS EN UNA FUNCION

INGRESE EL TIPO DE FUNCION A EVALUAR (1) BIDIMENSIONAL (2) TRIDIMENSIONAL 1 INGRESE LOS LIMITES DE LA FUNCION XO Y Xf -5 5 INGRESE NUMERO DE INTERVALOS 20 RESULTADOS H = 0.50000000

N X y

1 -5.0000 l. 6072 2 -4.5000 0.1883 3 -4.0000 -1.8777 4 -3.5000 1.8449 5 -3.0000 -l. 8675 6 -2.5000 0.9166 7 -2.0000 -1.6430 8 -1.5000 -0.3969 9 -1.0000 -0.3012

10 -0.5000 0.844'2 11 0.0000 1.0000 12 0.5000 l. 0936 13 1.0000 1.3818 14 1.5000 -0.8595 15 2.0000 0.3357 16 2.5000 1.0823 17 3.0000 0.0452 18 3.5000 0.0559 19 4.0000 -0.0376 20 4.5000 0.1507 21 5.0000 0.3752

47

6

Page 49: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

Gráfica:

-------------------2-o--5-, -----------------

l-¡--------------1

-~---- -·-··--

----~---------~ i -----------! 1

6

·---- .... ·-··.-··-·····---------··-····· --·······-·-- ··--·~z-:5---L -· ---- ··--·--·----------·--·--·-··- ··-·-- ---···--- ---

Los resultados computacionales obtenidos para la parte (e) fueron:

PROGRAMA PARA EVALUAR PUNTOS EN UNA FUNCION

INGRESE EL TIPO DE FUNCION A EVALUAR (1) BIDIMENSIONAL (2) TRIDIMENSIONAL 2

INGRESE LOS LIMITES DE LA FUNCION EN -1 1

INGRESE LOS LIMITES DE LA FUNCION EN -1 1

INGRESE NUMERO DE INTERVALOS EN X 8

INGRESE NUMERO DE INTERVALOS EN y

8

RESULTADOS

X, xo y

Y, YO y

HX 0.25000000 HY = 0.25000000

-l. 000 -0.750 -0.500 -0.250 0.000 0.250 -l. 000 -0.400 l. 819 2.350 l. 756 0.600 -0.556 -0.750 -l. 650 0.881 l. 725 l. 444 0.600 -0.244 -0.500 -2.900 -0.056 1.100 1.131 0.600 0.069 -0.250 -4.150 -0.994 0.475 0.819 0.600 0.381

0.000 -5.400 -l. 931 -0.150 0.506 0.600 0.694 0.250 -6.650 -2.869 -0.775 0.194 0.600 l. 006 0.500 -7.900 -3.806 -1.400 -o .119 0.600 1.319 0.750 -9.150 -4.744 -2.025 -0.431 0.600 l. 631 l. 000 -10.400 -5.681 -2.650 -0.744 0.600 l. 944

48

Xf

Yf

0.500 -1.150 -0.525

0.100 0.725 1.350 l. 975 2.600 3.225 3.850

0.750 -0.619

0.319 1.256 2.194: 3 .13<1 4.069 5.006 5.944 6.881

l. 000 l. 600 2.850 4.100 5.350 6,600 7.850 9.100

10.350 11.600

Page 50: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

Gráfica:

15

Codificación:

La codificación que genera los resultados mostrados es la siguiente:

PROGRAM FUNCION

REAL(4)A 1,B 1 C1 D1 X1 Y1 XK(110) 1 YK(110) 1 ZK(110 1 110) 1 H1 1 H2 1 H

10 WRITE(* 1 *) 'PROGRAMA PARA EVALUAR PUNTOS EN UNA FUNCION'

WRITE ( * 1 *) ' ' WRITE(* 1 *) 'INGRESE EL TIPO DE FUNCIONA EVALUAR ' WRITE(* 1 *)' (1) BIDIMENSIONAL ' WRITE(* 1 *)' (2) TRIDIMENSIONAL' READ(* 1 *)NT IF (NT.EQ.1)THEN WRITE(* 1 *)' INGRESE LOS LIMITES DE LA FUNCION XO Y Xf' READ(* 1 *)A1 B WRITE(* 1 *)' INGRESE NUMERO DE INTERVALOS' READ(* 1 *)N

H=(B-A)/N OPEN (1 1 FILE='BID.TXT') WRITE(* 1 *)' RESULTADOS' WRITE(1 1 *)' RESULTADOS' WRITE(* 1 *)' H = 1

1 H WRITE(* 1 *)' N X WRITE(1 1 *)' N X DO I=1 1 N+1 X=A+(I-1)*H Y=F(X)

49

Y' Y'

Page 51: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

WRITE(*,100)I,X,Y WRITE(1,100)I,X,Y END DO ELSE IF (NT.EQ.2)THEN WRITE(*,*)' INGRESE LOS LIMITES DE LA FUNCIONEN X,

XO Y Xf' READ(*,*)A,B

WRITE(*,*)' INGRESE LOS LIMITES DE LA FUNCIONEN Y, YO Y Yf'

READ(*,*)C,D WRITE(*,*)' INGRESE NUMERO DE INTERVALOS EN X' READ(*,*)N1 WRITE(*,*)' INGRESE NUMERO DE INTERVALOS EN Y' READ(*,*)N2

H1=(B-A)/N1 H2=(D-C)/N2 OPEN (1,FILE='TRI.TXT') WRITE(*,*)' RESULTADOS' WRITE(1,*)' RESULTADOS' WRITE ( *, *) ' HX = ' , H1, ' HY ' , H2

DO I=1,N1+1 XK(I)=A+(I-1)*H1

DO J=1,N2+1 YK(J)=C+(J-1)*H2 ZK(I,J}=Z(XK(I),YK(J)) END DO

END DO

WRITE(*,150) (XK(I) ,I=1,N1+1) WRITE(1,150) (XK(I) ,I=1,N1+1)

DO J=1, N2+1 WRITE(1,200)YK(J), (ZK(I,J) ,I=1,N1+1) WRITE(*,200)YK(J), (ZK(I,J) ,I=1,N1+1) END DO

ELSE GOTO 10 END IF

100 FORMAT (1X,I3,1X,F9.4,1X,F9.4) 150 FORMAT (8X,100(F7.3,1X}) 200 FORMAT (1X,F6.3,1X,100(F7.3,1X))

END

FUNCTION F(X) F=cos(x**2)+sin(x**3) RETURN END

FUNCTION Z(X,Y) Z=5*X*Y+6*X**3+0.6 RETURN END

50

Page 52: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

1.7 Problemas de aplicación

á Empleando las proposiciones y funciones de entrada y salida, numéricas y

trigonométricas, construir un programa que permita efectuar lo siguiente:

Ingresar por archivo y teclado los elementos de dos matrices cuadradas de orden 2 (A

y B), definidas tal como se muestra a continuación:

Donde:

A = leos( a) sen(b )1 tan( e) cot( d)

Para el caso ( 1)

y er

B= log(g)

a = 45°, b = 30°, e = 60°, d = 53°, f = 5.0, g = 3.0, h = 4.0

Para el caso (2)

a= 30°, b = 53°, e= 300°, d = 30°, f= 10.0, g = 0.5, h = 0.7

Calcular la suma, el producto y la transpuesta de la matriz resultado.

Generar un archivo de datos con los valores de la matriz resultado.

Permitir una visualización por pantalla de las tres matrices.

b. Se tienen N = 50 tipos de nutrientes distintos, los cuales se pueden incluir en

un número máximo de K = 4 por vez dentro de la dieta diaria. Se desea

determinar cuántas combinaciones son posibles, para la presentación de un

cronograma nutricional; para resolver este problema elaborar un programa en

Fortran y emplee la siguiente ecuación:

(N) N! K -K!(N-K)!

c. Empleando las proposiciones de definición, control y formato, elaporar un

programa que permita realizar lo siguiente:

51

Page 53: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

Ingresar por archivo los datos de velocidad vs. tiempo mostrado en la siguiente tabla:

Tabla (1.3) Velocidad vs. Tiempo para un móvil con MRUA.

-·-----Tiempo 0.0 0.5 1.0 1.5 2.0 2.5 3.0

(s) -----~

Velocidad 5.0 10.0 15.0 20.0 25.0 30.0 35.0

(m/s) --··--------·-----·

• Realizar el cálculo de la aceleración y velocidad inicial del móvil.

• Calcular el espacio recorrido por el móvil.

• Permitir una visualización por pantalla de los resultados.

d. Elaborar un programa en Fortran para demostrar que se cumple la ecuación

siguiente:

e. Elaborar un programa en Fortran para determinar la convergencia o no de las

series siguientes:

• ~2+sen3 (n+1) L. 2n 3 n=l +n

00 1

• ~ 2n -{1 +sen2 (n 3))

00 1 • ~-(2-n---1)-(2_n_+-1)

oo n3(-J2 +2Y .¿--n=l 3n

oo -Jn3 +1 • L n

n=l e

52

Page 54: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

Se _propone la siguiente codificación:

PROGRAM CONVERGENCIA

REAL(4) NX,EA,ES,F,SUMA,D

WRITE(*,*) 'PROGRAMA PARA CALCULAR CONVERGENCIA' WRITE(*,*) 'DE UNA SERIE INFINITA' WRITE(*,*) 'INGRESE EL VALOR DE ER% MAX' READ(*,*)ES WRITE(*,*)' RESULTADOS' WRITE(*,*) 'N 2+SIN(N+1)**3 2**N+N**3 SUMA ER%' !CALCULO DE LA SERIE

SUMA=O N=1 NX=1 10 D=2+SIN(NX+1)**3

F=2**NX+NX**3 SUMA=SUMA+D/F

EA=(ABS((SUMA-(SUMA-D/F))/SUMA))*100 WRITE(*,19)N,D,F,SUMA,EA IF(EA.LE.ES)THEN

WRITE(*,20)SUMA WRITE(*,21)EA

ELSE IF (N.GT.10)THEN WRITE(*,*)' LA SERIE ES DIVERGENTE' ELSE N=N+1 NX=NX+1 GOTO 10 END IF

END IF 19 FORMAT(1X,I2,1X,4(F17.4,1X))

20 FORMAT(1X, 'LA SERIE CONVERGE A: ',F9.4) 21 FORMAT(1X, 'ERROR%=',F9.4) END

53

Page 55: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

f. Elaborar un programa en Fortran que permita resolver el siguiente problema:

Se deja caer una pelota desde una altura de 20 m, cada vez que toca el suelo

rebota 3/4 de su altura anterior, encuentre la distancia total que viaja la pelota

antes de llegar a reposo. (Considere la solución como una serie infinita).

g. Elaborar un programa en Fortran para calcular el valor de e5 con un error

solicitado de 0.001%, considerando la siguiente serie:

h. Elaborar un programa en Fortran que calcule el Campo eléctrico generado

por cinco cargas puntuales de 1 O J.JC puestas sobre el eje x separadas entre

sí una distancia de 10 cm, si el punto de prueba está entre la primera y

segunda carga, considere:

E= 1 f q~ 47tE 0 i=I r

i. Mediante un programa en Fortran, evalué los 100 Primeros términos del seno

(1t/2) según la serie:

oo X 2n+l

sen(x)= L(-l)n -­(2n+l)! n=O

j. Las bacterias crecen siguiendo una progresión geométrica en la que $

número de individuos se duplica al cabo de un tiempo determln~do •,

denominado tiempo de generación (t9). De esta forma, podemos calcular, t;;ll /~ .

número de bacterias (N) al cabo de un número de generaciones (g) usando J~

ecuación siguiente:

N= No 2g

Siendo N0 el número de bacterias en el momento actual. El número de

generaciones se puede calcular de la siguiente forma:

g=t/lg

Donde t es el tiempo transcurrido.

54

Page 56: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

Elaborar un programa en Fortran que calcule el número de bacterias que

habrá luego de un periodo de incubación de 5 horas, siendo que se cuenta

con una cantidad inicial N0 de 108 individuos y un tiempo de generación de 30

m in.

Nota: Los tiempos de generación de bacterias creciendo en ambientes

favorables pueden ser muy cortos (valores de tg de 20 min.). Esto lleva a que

una única bacteria (No = 1) creciendo con un tg = 20 min., llegue a poder

producir 4. 7 x 1 021 bacterias en 24 -horas.

k. Elaborar un programa en Fortran que permita calcular la n-ésima raíz de un

número real arbitrario.

l. Calcule el valor de la raíz cuadrada de 2, empleando una calculadora de

bolsillo y compare este valor con el arrojado usando la función SQRT en

doble precisión en un programa de fortran.

55

Page 57: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

6.2 Capítulo 11

2. Solución de ecuaciones no lineales

Uno de los problemas de ocurrencia más frecuente en el trabajo científico es

hallar las raíces de ecuaciones de la forma f(x) = O, con frecuencia f(x) puede

conocerse solo implícitamente; en general, podemos esperar la obtención de

soluciones aproximadas solamente contando con alguna técnica computacional para

producir la aproximación. Dependiendo del contexto "solución aproximada" puede

significar entonces un punto en x para el cual f(x) se "satisface aproximadamente", es

decir esta cercana a una solución.

El procedimiento a utilizar depende del problema específico, en este capítulo

se elaboraran algoritmos que basados en técnicas numéricas conocidas nos proporcionen las raíces aproximadas de los polinomios evaluados.

2.1 Método de Bisección

Las condiciones para aplicación del algoritmo de bisección, establecen que la

función f(x) evaluada sea continua sobre el intervalo [a, e], tal que: f(a)f(c) :-:::: O; de esto

se sabe que existe al menos una raíz de f(x) en el intervalo.

Teorema del valor intermedio

Sea f(x) continua en un intervalo [a, e] y supongamos que f(a) < f(c). Entonces

para cada z, tal que: f(a) < z < f(c), existe un x0 E [a, e] tal que: f(Xo) = z. La misma

conclusión se obtiene paia el caso que f(a) > f(c).

Básicamente el Teorema del Valor Intermedio nos dice que toda función continua 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 f(a) y f(c) tienen signos opuestos, entonces un valor intermedio es

precisamente z = O, y por lo tanto, el Teorema del Valor Intermedio nos asegura que

debe existir Xo E [a, e] tal que f(Xo) = O, es decir, debe haber por lo menos una raíz de

f(x) en el intervalo [a, e].

56

Page 58: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

Funcionamiento

Suponga que el intervalo entre x = a y x = e, denotado por [a, e], tiene una sola

raíz como se muestra en la figura (2.1), el método de bisección se sustenta en el

hecho de que para que en un intervalo [a, e] exista una raíz basta que los signos de

f(x) en los extremos sean opuestos o bien que se anulen f(a)f(c) sO.

Primero se divide en dos el intervalo [a, e], estas mitades son: [a, b] y [b, e], donde

b = (a + c)/2, al verificar los signos de f(a)f(b) y f(b)f(c), se localiza la mitad del intervalo

que contiene a la raíz, este intervalo se divide en dos de nuevo, y se evalúa el error

porcentual alcanzado (ea%) respecto al solicitado por el usuario (1 o-3::;; es% S1 o-\

recomendado para evitar acumulación de error por redondeo y truncamiento), cuya

magnitud indica el grado de aproximación en el resultado, para calcular el error

porcentual alcanzado emplearemos la siguiente fórmula:

b actual - bprevia lQQOI' _ O/' 1-----IX ;o- ea ;o

b actual

(2.1)

El proceso iterativo debe detenerse cuando se cumpla la condición de convergencia

siguiente:

e. %ses%

Cuando la raíz buscada es cero, se debe adicionar un valor del orden de 10-3 al valor

de bactual a fin de evitar error por división entre cero.

57

Page 59: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

La figura (2.1) ilustra el proceso de aproximación por bisección.

y

Secuencia de los intervalos y puntos medios

y == f(x)

Figura (2.1). Proceso de Bisección. Tomado de: Nakamura, S. (1992); "Métodos

Numéricos Aplicados con Software".

Algoritmo:

(i) Ingresar: a, e y es

(ii) Evaluar: f(a)*f(c) :s; O

• Si se cumple, Continuar al paso iii)

• Si no se cumple, regresar al paso i) (la función no tiene raíz en el intervalo)

(iii) Calcular: b = (a + c)*O.S

(iv) Evaluar: f(a)*f(b) :s; O

• Si se cumple, hacer: e= b

'"' Si no se cumple, hacer: a = b

(v) Calcular ea

(vi) Evaluar: ea :s; es

• Si se cumple, la raíz es b

• Si no se cumple, volver al paso iii)

58

Page 60: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

Limitaciones:

• El método de Bisección se satisface siempre que el intervalo tenga un

número impar de raíces, por lo cual presenta dificultades para encontrar

una pareja de raíces dobles debido a que la función toca al eje x de manera

tangencial en las raíces dobles.

• El método puede confundir una singularidad como si fuera una raíz, para

evitar este problema se debe verificar si lf(c) - f(a)l converge a cero cuando

se ejecuta la bisección, si esta cantidad diverge se trata de una

singularidad.

• El programa funciona siempre que se conozca el intervalo que contiene a la

raíz.

Ejemplo:

Calcular la raíz de la función sen(x), en el intervalo [2.5, 4.0] con una

aproximación del O. 1%.

r--~-~-·--_,_-,,~.-.---· ... --..,..,..·-----··-<">"·---··-.----·~-----,...···--.~---.. ·--·-<~w--......---~="--~l ¡ 1.500 ' ! 1

1 1 l 1.000 w ;~~--- • • •••••• 1

1 0500 ¡ / ........... ··"\·· . .. ... ... . 1

! / 1 ¡ 0.000 f. . .. ¡ 1 0.000 1.000 2.000 3.000 4.000 5.000 6.000 1

l ·0.500 "' . . - ... . . .. - .. . .. ... . 1

l i

1 ·1.000 ............. ·--. ·- ··,~·--·····-· -- --- 1 l 1 1 ¡ ¡ 1 ¡ -1.soo -- _j

Figura (2.1 a). Grafica de la función Seno(x) desde 0.0 hasta 5.0 con espaciamiento de

0.1 unidades.

59

Page 61: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

N 1 2 3 4 5 6 7 8 9

Aplicando el método de Bisección se obtienen los resultados mostrados en la a

continuación:

METODO BISECCION

INGRESE A, C Y ES 2.5 4.0 0.1

RESULTADOS BISECCION

A F(A) 2.5000 0.5985 2.5000 0.5985 2.8750 0.2634 3.0625 0.0790 3.0625 0.0790 3.1094 0.0322 3.1328 0.0088 3.1328 0.0088 3.1387 0.0029

e F(C) 4.0000 -0.7568 3.2500 -0.1082 3.2500 -0.1082 3.2500 -0.1082 3.1563 -0.0147 3.1563 -0.0147 3.1563 -0.0147 3.1445 -0.0029 3.1445 -0.0029

B F(B) EA 3.2500 -0.1082 100.0000 2.8750 0.2634 13.0435 3.0625 0.0790 6.1224 3.1563 -0.0147 2.9703 3.1094 0.0322 l. 507 5 3.1328 0.0088 0.7481 3.1445 -0.0029 0.3727 3.1387 0.0029 o .18 67 3.1416 -0.0000 0.0933

APROXIMACION FINAL AL 0.0933 % 3.1416

Codificación:

La codificación utilizada para generar los resultados mostrados es la siguiente:

!AUTOR: LIC. JORGE LUIS GODIER AMBURGO

PROGRAM BISECCION

REAL(4) A,B,BP,C,EA,ES

18 WRITE(*,*)' METODO BISECCION ' WRITE ( *, *) ' ' WRITE(*,*)'INGRESE A, C Y ES' READ(*,*)A,C,ES IF (F(A)*F(C).LE.8)THEN ELSE WRITE(*,*)'RAIZ NO EXISTE EN INTERVALO' GOTO 18 END IF WRITE(*,*)' RESULTADOS BISECCION' WRITE ( * , * ) ' ' WRITE(*,*)' N A F(A)

F(B) EA' BP=8

N=0 15 N=N+1

B=(A+C)*8.5 EA=ABS((B-BP)/8)*188 WRITE (*,16)N,A,F(A),C,F(C),B,F(B),EA

60

e F(C) B

Page 62: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

IF (F(A)*F(B).LE.0)THEN C=B ELSE A=B END IF IF(EA.LE.ES)THEN WRITE(*,17)EA,B ELSE

BP=B GOTO 15 END IF

16 FORMAT (I3,7(F9.4,1X)) 17 FORMAT (1X,' APROXIMACION FINAL AL ',F9.4,'% =',F9.4)

END

FUNCTION F(X) F=SIN(X) RETURN END

2.2 Búsqueda de intervalos

Utilizando el Teorema del Valor Medio, es posible construir un algoritmo que

nos permita, localizar los posibles intervalos donde se localizan las raíces de una

función; para esto, es necesario dividir el dominio donde se desea hacer la búsqueda

(un dominio amplio donde la función sea continua y exista por lo menos una raíz), en N

partes, cada una de un ancho más pequeño h. el algoritmo para este problema sería el

siguiente:

Algoritmo:

(i) Ingresar a, e y N

(ii) Calcular h, usando: h = (e- a)/N

(iii) Evaluar para 1 desde 1 hasta N, la condición:

F(a+(i -1)*h)*F(a+i*h):::; o • Si es afirmativo, se muestra el intervalo: [a+(i -1)*h, a+i*h]

= Si no es afirmativo se continua la búsqueda

61

Page 63: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

Ejemplo:

Calcular los intervalos de ubicación de las posibles raíces de la función cos(x),

evaluando un dominio general [0.1, 1 O], con un ancho de búsqueda de 0.1; es decir

N= 99.

Los resultados computacionales arrojan:

******************************************* * BUSQUEDA DE INTERVALOS DE UNA RAIZ * ******************************************* INTRODUCIR A, e y N 0.1 10 99 RESULTADOS ITERACION: 15 INTERVALO: 1.5000 , 1.6000] ITERACION: 47 INTERVALO: 4.7000 , 4.8000] ITERACION: 78 INTERVALO: 7.8000 , 7.9000]

Lo cual indica que se encontró intervalos que cumplen la condición en las iteraciones o búsquedas número 15, 47 y 78.

Codificación:

!AUTOR: LIC. JORGE LUIS GODIER AMBURGO

PROGRAM BUSQUEDA_INTERVALOS

REAL(4)A,C,H

*******************************************1 WRITE(*,*)' WRITE(*, *)' * BUSQUEDA DE INTERVALOS DE UNA RAIZ * 1

WRITE(*,*)' *******************************************' WRITE ( *, *) 1 1

WRITE(*,*)'INTRODUCIR A,C y N' READ(*J*)A,C,N WRITE ( *, *) 1 ' H=(C-A)/N WRITE(*,*)'RESULTADOSI DO I=l,N IF(F(A+(I-l)*H)*F(A+I*H).LE.0)THEN WRITE(*,10)I,A+(I-l)*H,A+I*H ELSE END IF END DO

10 FORMAT(lX, 1ITERACION:',I2, 'INTERVAL0:[ 1,F8.4,1X, ', ',F8.4, ']') END

FUNCTION F(X) F=COS(X) RETURN END

62

Page 64: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

2.3 Método de Falsa Posición

Este método es análogo al método de bisección, puesto que el tamaño del

intervalo que contiene la raíz se reduce mediante iteración; sin embargo, se utiliza una

interpolación lineal ajustada a dos puntos extremos para encontrar una aproximación

de la raíz.

Funcionamiento:

Dado un intervalo [a, e], que contenga a la raíz de la función lineal que pasa por

(a, f(a)) y (e, f(c)). la ordenada en un punto se escribe como:

fl(c) - fl(a) y=f(a)+ (x-a)

c-a

Despejando x, se tiene:

c-a x =a+ (y-f(a))

f(c)-f(a)

La coordenada b, en donde la línea intercepta al eje x, se determina al hacer

y= O, en la ecuación (2.3), así:

b ;::; a _ e - a f( a) ;::; af( e) - cf( a) f(c)-f(a) f(c)-f(a)

(2.2)

(2.3)

(2.4)

Después de encontrar b, el intervalo [a, e] se divide en [a, b] y [b, e], si: f(a)f(b) :::; O,

la raíz se encuentra en [a, b], en caso contrario, está en [b, e]. Los extremos del nuevo

intervalo que contiene a la raíz se renombran a y c. y se evalúa el error porcentual

alcanzado (ea%) respecto al solicitado por el usuario como tolerancia (es%), cuya

magnitud indica el grado de aproximación en el resultado.

63

Page 65: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

/ 1 a. interpolación // 2a. interpolación / 3a. interpolación

/ 1 a. aprox!mac!?n .. /~ 2a. aproxtmac1on

. . '

x=a

Raíz exacta

3a. aproximación

1 x =e 1 1 1

Figura (2.2). Método de falsa posición. Tomado de: Nakamura, S. (1992); "Métodos

Numéricos Aplicados con Software".

Algoritmo:

(i) Ingresar: a, e y es

(ii) Evaluar: f(a)*f(c) ::; O

• Si se cumple, Continuar al paso iii)

• Si no se cumple, regresar al paso i) (la función no tiene raíz en el intervalo)

(iii) Calcular b usando (2.4)

(iv) Evaluar: f(a)*f(b) ::; O

o Si se cumple, hacer: e= b

= Si no se cumple, hacer: a = b

(v) Calcular ea

(vi) Evaluar: ea ::; es

• Si se cumple, la raíz es b

• Si no se cumple, volver al paso iii)

Limitaciones:

• Pueden aparecer extremos fijos, en donde uno de los extremos de la

sucesión de intervalos no se mueve del punto original; esto hace más lenta

la convergencia en particular cuando el intervalo inicial es muy grande, ver

figura.

64

Page 66: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

Ejemplo:

Calcular la raíz del polinomio -10x3+5x2+3x+10, en el intervalo [O, 2], con un

error aproximado de 0.1 %.

f 15.000 ··-··-·------ ---- .. ~------··----- --·--- ---- -----------·------·· ----·-----

5.000 ' ' - -- ,,

o.qoo 0.500 1.000 2.000 2.500

-5.000

Figura (2.2a). Grafica de la función y= -1 Ox3+5x2+3x+1 O, en el intervalo [O, 2), con un

avance de 0.1.

Los resultados computacionales proporcionan los siguientes resultados:

METODO FALSA POSICION

INGRESE A,C Y ES

0.0 2.0 o. 1

RESULTADOS FALSA POSICION

N A F(A) e F(C) B F(B) EA 1 0.0000 10.0000 2.0000 -40.0000 0.4000 12.1600 100.0000 2 0.4000 12.1600 2.0000 -40.0000 0.7730 12.2337 48.2540 3 0.7730 12.2337 2.0000 -40.0000 l. 0604 9.0009 27.1011 4 1.0604 9.0009 2.0000 -40.0000 l. 2330 5.0219 13.9984 5 l. 2330 5.0219 2.0000 -40.0000 1.3185 2.3622 6.4887 6 l. 3185 2.3622 2.0000 -40.0000 l. 3565 l. 0209 2.8012 7 l. 3565 l. 0209 2.0000 -40.0000 1.3725 0.4249 1.1667 8 l. 3725 0.4249 2.0000 -40.0000 l. 3791 0.1741 0.4782 9 1.3791 0.1741 2.0000 -40.0000 l. 3818 0.0709 0.1947 10 1. 3818 0.0709 2.0000 -40.0000 1.3829 0.0288 o' 0791

APROXIMACION FINAL AL 0.0791 % = l. 3829

65

Page 67: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

Codificación:

La codificación empleada para obtener los resultados mostrados es la siguiente:

!AUTOR: LIC. JORGE LUIS GODIER AMBURGO

PROGRAM FALSA_POSICION

REAL(4) A,C,ES,EA,B,BP

18 WRITE(*,*)' METODO FALSA POSICION ' WRITE(*, *)'' WRITE(*,*)'INGRESE A,C Y ES' READ(*,*)A,C,ES IF (F(A)*F(C).LE.8)THEN ELSE WRITE(*,*)'RAIZ NO EXISTE EN INTERVALO' GOTO 18 END IF WRITE(*,*)' RESULTADOS FALSA POSICION' WRITE(*,*)'' WRITE(*,*)' N A F(A) C F(B) EA' N=8 BP=8

15 N=N+1 B=A-((C-A)/(F(C)-F(A)))*F(A) EA=ABS((B-BP)/8)*188 WRITE (*,16)N,A,F(A),C,F(C),B,F(B),EA IF (F(A)*F(B).LE.8)THEN C=B ELSE A=B END IF IF(EA.LE.ES)THEN WRITE(*,17)EA,B

ELSE BP=B GOTO 15 END IF

16 FORMAT (I3,7(F9.4,1X))

F(C)

17 FORMAT (1X,' APROXIMACION FINAL AL ',F9.4,'% =',F9.4) END

FUNCTION F(X) F=-18*X**3+5*X**2+5*X+18 RETURN END

66

B

Page 68: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

2.4 Método de Newton-Raphson

Se encuentra la raíz partiendo de una estimación inicial, utilizando las rectas

tangentes que se evalúan analíticamente. El método de Newton se puede aplicar a

partir del desarrollo de Taylor.

Funcionamiento:

Supongamos que el problema es encontrar la raíz de f(x) = O, el desarrollo de

Taylor en torno a una estimación Xo truncado en términos de orden superior, es:

(2.5)

Dónde: h = x- x0 , es el intervalo de avance.

Xo, es una estimación inicial para la raíz.

Al despejar x en la ecuación (2.5) no se obtiene el valor exacto debido al error por

truncamiento, pero la solución se aproxima a el valor exacto de x si utilizamos el valor

obtenido como aproximación mejorada de Xo; por ello, lo siguiente es obtener la

función lineal que pasa por (Xo, y0) y aproximar por iteración.

La intersección de la recta tangente con el eje x, se denota como x1 y se

considera una segunda aproximación de la raíz. Se repite el mismo procedimiento

utilizando el valor actualizado para el siguiente ciclo de iteración.

La recta tangente que pasa por (x0 , f(Xo)), es:

(2.6)

La raíz de g(x), denotada por x1, satisface:

(2.7)

67

Page 69: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

Despejando x1, se tiene:

(2.8)

Por lo tanto las aproximaciones sucesivas a la raíz, se pueden escribir como:

(2.9)

El proceso de aproximación, puede observarse en la figura (2.3).

y

Figura (2.3). Aproximación iterativa en el método de Newton. Tomado de: Nakamura,

S. (1992); "Métodos Numéricos Aplicados con Software".

La primera derivada de la función puede obtenerse, usando una aproximación por

diferencias centrales de segundo orden.

( ) f(x 0 +h)-f(x 0 -h)

f X o = ---'-----=------. 2h (2.10)

68

Page 70: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

En el proceso iterativo la ecuación (2.1 O), puede escribirse como:

f(x. )= f(x¡_1 +h)-f(x¡_1 -h) 1-1 2h (2.11)

Dónde: h, es un número real que cumple lo siguiente: 1 o-3 :::; h :::; 1 o-1, y se define

de antemano.

En este caso se ha optado por utilizar como elemento de convergencia un

valor de tolerancia (TOL), el cual define la máxima diferencia en valor absoluto que se

permitirá entre los valores evaluados funcionalmente para Xo y x1 ; mientras menor sea

esta diferencia mayor será la aproximación al valor de raíz buscado. Generalmente se

emplea un valor para TOL que cumple lo siguiente: 1 o-3:::; TOL:::; 1 o-1

Algoritmo:

(i) Ingresar Xo y Tol

(ii) Evaluar f (Xo) usando la ecuación (2.1 O)

(iii) Calcular x1 usando (2.8)

(iv) Evaluar lf(Xo) - f(x1)l :::; Tal

• Si se cumple entonces, x1 es la raíz aproximada

• Si no se cumple entonces hacer Xo = X1 y volver al paso ii)

Limitaciones:

• El método de Newton requiere una buena estimación inicial de la raíz. De

otro modo la solución puede divergir o converger a una solución irrelevante.

• El método puede encontrar raíces complejas si las variables se definen

como complejas.

69

Page 71: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

Ejemplo:

Calcular la raíz más próxima a 0.1 de la función y = -x + cos(x2), con una

tolerancia de 0.01, mostrando 5 decimales de aproximación.

---- ---- -- ~=-=-~-=-=---¡

1

1 1 l

Figura (2.3a). Grafica de la función y= -x + cos(x2), desde O hasta 2 con un avance de

0.1 unidades.

Los resultados computacionales para este ejemplo son:

RAIZ DE UNA FUNCION (METODO DE NEWTON_RAPHSON)

INGRESO DE DATOS

INGRESE XO Y TOL 0.1 0.01

RESULTADOS NEWTON-RAPHSON

N xo X1 DFX ABS(F(XO)¡F(X1)) 1 0.10000 0.99814 -1.00202 l. 35465 2 0.99814 0.82820 -2.67578 0.40034 3 0.82820 0.80167 -2.04922 0.05319 4 o. 80167 0.80107 -l. 96104 0.00118

LA RAIZ HALLADA ES: 0.80107 APROXIMACION 0.00118

70

Page 72: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

La raíz obtenida luego de 4 iteraciones, con una diferencia en valor absoluto de .00118

y una aproximación de cinco decimales fue: 0.80107

5

18

Codificación:

La codificación empleada para obtener estos resultados fue la siguiente:

!AUTOR: LIC. JORGE LUIS GODIER AMBURGO

PROGRAM NEWTON RAPHSON

REAL(4) X0,X1,TOL,DFX,E

WRITE(*, *)'' WRITE ( * , * ) ' WRITE(*,*)'

RAIZ DE UNA FUNCION (METODO DE NEWTON_RAPHSON)' 1 ==============================================

WRITE ( *, *) ' ' INGRESO DE DATOS' WRITE(*, *)'

WRITE(*,*)' ================================== INGRESE X0 Y TOL' WRITE ( *, *) '

READ(*,*)X0,TOL WRITE(*,*)'RESULTADOS WRITE(*,*)' N X0 H=0.01 N=0

NEWTON-RAPHSON' X1

N=N+1 DFX=(F(X0+H)-F(X0-H))/(2*H) X1=X0-F(X0)/DFX E=ABS(F(X0)-F(X1)) IF(E.GT.TOL)THEN WRITE(*,22)N,X0,X1,DFX,E X0=X1 GOTO 10 ELSE WRITE(*,22)N,X8,X1,DFX,E WRITE(*,28)X1,E END IF

DFX ABS(F(X0)-F(X1))'

28 FORMAT(' LA RAIZ HALLADA ES: ',F9.5,1x, 'APROXIMACION = ',F9.5) 22 FORMAT(1X,I2,4(F9.5,1X))

END

FUNCTION F(X) F=-x+cos(x**2) RETURN END

En el caso de que f'(x¡) = O, el método no se puede aplicar. De hecho,

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 X¡

mismo es una raíz de f(x).

71

Page 73: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

2.5 Método de la Secante

Este método se diferencia al de Newton en que f se aproxima usando los

valores de iteraciones consecutivas de f.

Esto elimina la necesidad de evaluar tanto a f como a f' en cada iteración. Otra

diferencia es que la técnica se basa en el método de falsa posición dado que se utiliza

la fórmula de interpolación lineal.

Funcionamiento:

El principal inconveniente del método de Newton estriba en que requiere

conocer el valor de la primera derivada de la función en el punto. Sin embargo, la

forma funcional de f(x) dificulta en ocasiones el cálculo de la derivada. En estos casos

es más útil emplear el método de la secante.

El método de la secante parte de dos puntos (y no sólo uno como el método de

Nevvton) y estima la tangente (es decir, la pendiente de la recta) por una aproximación

de acuerdo con la expresión:

f'(xo) = f(x¡)-f(xo) X 1 -X 0

Sustituyendo esta expresión en la ecuación (2.8) del método de Newton­

Raphson, obtenemos la expresión del método de la secante que nos proporciona el

siguiente punto de iteración:

(2.12)

Dónde: Xo y x1, son dos suposiciones iniciales para comenzar la iteración.

En la siguiente iteración se utilizan x1 y x2 como nuevas supos1c1ones; el

proceso iterativo utiliza como elemento de convergencia un valor de tolerancia

(TOL), el cual define la maxima diferencia en valor absoluto que se permitirá entre los

valores obtenidos para x2 y x1; mientras menor sea esta diferencia mayor será la

aproximación al valor de raíz buscado.

72

Page 74: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

El esquema geométrico de aproximación puede observarse en la figura (2.4).

y

Figura (2.4). Aproximación por el método de la secante. Tomado de: Nakamura, S.

(1992); "Métodos Numéricos Aplicados con Software".

Algoritmo:

(i) Ingresar los valores de Xo, x1 y Tal

(ii) Calcular f(xo) y f(x1)

(iii) Calcular x2 usando (2.12)

(iv) Evaluar: 1x2- x1l ~Tal

• Si se cumple: la raíz es x2

• Si no se cumple, hacer: Xo = x1 y x1 = x2, volver al paso ii)

Limitaciones:

• El método de la secante puede conyerger a una raíz no deseada ó puede

no converger del todo si la estimación inicial no es buena.

• Es una variación del método de Newton y desde el punto de vista

computacional es más eficiente, pero conlleva sus mismas limitaciones.

• Cuando dos aproximaciones sucesivas están demasiado cercanas, pueden

aparecer errores de redondeo.

73

Page 75: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

Ejemplo:

Calcular usando el método de la secante la raíz de: -10x5+5cos(x2), más

próxima a 0.5, con 5 decimales de aproximación y tolerancia de 0.001.

5.000

4.500 i ...

4DOO 3.500 . . .. ··- ....

3.000 ......... .

2.500 ·'· 2.000 ---~-~ - .....

1.500

1.000 . --· ---- ..

0.500 '"-·------·-·-···

0.000 -- -------....... .

-o.5oQJ.ooo · · · o;soo· · -1.000 ···-·-··--···-······· ..

-1.500 _¡_ ___ -- -·- --· .

-2.000

Figura (2.4a). Grafica de ia función y= -10x5+5cÓs(x2), en ei intervalo de O a 2 con un avance de 0.1 unidades.

Los resultados computacionales para este ejemplo son:

METODO DE LA SECANTE

INGRESAR LOS PUNTOS DE APROXIMACION XO, X1 y TOL 0.5 0.6 0.001

RESULTADOS

N XO X1 X2 ABS (X2-X1) 1 0.50000 0.60000 l. 21917 0.61917 2 0.60000 1.21917 0.67943 0.53974 3 1.21917 0.67943 0.73477 0.05534 4 0.67943 0.73477 0.86954 0.13478 5 0.73477 0.86954 0.81791 0.05164 6 0.86954 0.81791 0.82639 0.00848 7 0.81791 0.82639 0.82727 0.00088

LA RAIZ HALLADA ES: 0.82727 APROXIMACION 0.00088

La raíz obtenida luego de 7 iteraciones, con una tolerancia de 0.001 y una aproximación de cinco decimales fue: 0.82727

74

Page 76: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

Codificación:

La codificación empleada para obtener estos resultados fue la siguiente:

!AUTOR: LIC. JORGE LUIS GODIER AMBURGO

PROGRAM SECANTE

REAL(4) XB,Xl,TOL,E

WRITE(*,*)'METODO DE LA SECANTE' WRITE ( *, *) ' ' WRITE(*,*)'INGRESAR LOS PUNTOS DE APROXI~4CION Xe, Xl y TOL' READ(*,*)XB,Xl,TOL WRITE(*,*)'RESULTADOS ' WRITE(*,*)' N XB Xl X2 ABS(X2-X1)' N=e

18 N=N+l X2=X8-F(XB)*((X1-XB)/(F(X1)-F(Xe))) E=ABS(X2-X1) WRITE(*,22)N,XB,X1,X2,E IF(E.LE.TOL)THEN WRITE(*,2B)X2,E ELSE XB=Xl X1=X2 GOTO 18 END IF

28 FORMAT(' LA RAIZ HALLADA ES: ',F9.5,1x, 'APROXIMACION = ',F9.5) 22 FORMAT(1X,I2,4(F9.5,1X))

END

FUNCTION F(X) F=-1B*x**5+5*cos(x**2) RETURN END

2.6 Método de Muller

Los polinomios tienen muchas aplicaciones en ciencia e ingeniería, como es el

caso de su utilización en ajuste de curvas. Sin embargo, se considera que una de las

aplicaciones más interesantes y potentes es en los sistemas dinámicos,

particularmente en los lineales.

75

Page 77: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

Casi todos los métodos considerados hasta ahora han aproximado la función en la

vecindad de la raíz por medio de una recta. El método de Muller se basa en aproximar

la función en la vecindad de la raíz por medio de un polinomio cuadrático

denominado: ecuación característica, que es de la forma:

a 2 x 2 +a 1x+a 0 =0

Donde las raíces de este polinomio satisfacen:

Funcionamiento:

Se construye un polinomio de segundo grado para ajustar tres puntos cerca de

una raíz, [Xa, f(Xa)], [x1, f(X1)] y [x2, f(x2)]. El cero propio de esta cuadrática, usando la

formula cuadrática, se usa como la estimación mejorada de la raíz. Luego se repite el

proceso usando el mismo conjunto de tres puntos más próximos a la raíz que está

evaluándose.

El procedimiento del método de Muller consiste en escribir una ecuación

cuadrática que se ajusta a través de tres puntos en la vecindad de una raíz, en la

forma ax2+bx+c, tal como se ve en la figura (2.5). El desarrollo se simplifica cuando

los ejes se transforman de modo que pasen por el punto medio, haciendo el cambio de

variable v = x- x0.

Sean h1 =x1 - Xo y h2 = Xo - x2. Se evalúan los coeficientes al evaluar p2(v) en los tres

puntos:

Vo =O; (x = Xo);

v1 = h1; (x = x1);

V2 = -h2; (x = x2);

. a(Oi + b(O) + e= f(Xo) = fo

ah?+ bh1 + e= f(x1) = f1

ah/- bh2 + e= f(x2) = f2

A partir de la primera ecuación, e= f(x0). De esta forma, se puede tener un sistema de

dos ecuaciones con dos incógnitas.

76

Page 78: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

Haciendo h2/h1 = y, es posible resolver las otras dos ecuaciones par~ a y b.

Para a:

Para b:

a= yfi-fo(l+y)+fz yh¡(I +y)

(2.13)

(2.14)

Después de calcular a, b, y e, la raíz de av2+ bv + e = O se encuentra aplicando la

formula cuadrática modificada por racionalización y eligiendo la raíz más próxima al

punto medio x0 , este valor es:

(2.15)

Con el signo en el denominador tomado a fin de proporcionar el mayor valor absoluto

en el denominador (es decir, si b > O, se elige signo positivo; si b < O, se elige signo

negativo; si b = O, se elige cualquiera de los dos). La razón para justificar el uso de

esta fórmula es hacer que la siguiente iteración este más próxima a la raíz verdadera.

y

- ¡. t¡ 11 ~hz-·-h¡

1

!

Figura (2.5). Aproximación por el método de Muller. Tomado de: Curtis, F. (2000);

"Análisis Numérico con aplicaciones".

77

Page 79: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

Para la siguiente aproximación se toma la raíz del polinomio como uno de los

puntos de un conjunto de tres, tomando los tres puntos cuya separación entre si sea la

más pequeña (es decir, si la raíz está a la derecha de Xo, se toman Xo y X1 y la raíz; si

está a la izquierda, se toman Xo. x2 y la raíz). Siempre vuelven a colocarse los

subíndices a fin de Xo que sea el valor de en medio.

El proceso iterativo del método de Muller utiliza como elemento de

convergencia un valor de tolerancia (TOL), el cual define la máxima cantidad en valor

absoluto que se permitirá para la evaluación funcional de la raíz; mientras menor sea

mayor será la aproximación al valor de raíz buscado. En este caso se emplea un valor

para TOL del orden de 1 o-3 o 104 que implica una aproximación al cero de cinco

decimales.

Es posible indicar un solo punto para arranque del método, este sería el valor

central Xo, considerando que x2 sería: xa- a y x1 seria: xa + a; donde a es un valor del

orden de 10-1.

A continuación se presenta un algoritmo para el método de Muller.

Algoritmo:

(i) Ingresar Xo, a y TOL

(ii) Calcular x1 y x2

(iii) Evaluar los valores funcionales correspondientes: f2, fa y f1.

(iv) Encontrar los coeficientes de la parábola determinados por los tres puntos.

(v) Calcular Xrsegún el valor de b.

(vi) Evaluar (xr > Xo)

Si, entonces reordenar: x2 = :xa; Xo = Xr y X1 = X1

No, entonces reordenar: x2 = x2; Xo = Xr y X1 = Xo

(vii) Evaluar lf(xr)l < Tal

Si, entonces la raíz es Xr

No, entonces regresar al paso iii)

El método de Muller, como el método de Newton, halla una raíz compleja si se

proporcionan valores iniciales complejos. Por supuesto, los cálculos deben hacerse

con aritmética compleja.

78

Page 80: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

Limitaciones:

• El método de Muller converge mejor para porciones de la función en la cual

esta es creciente.

Ejemplo:

Calcular la raíz de la función: 3x+sen(x)-ex, usando como punto de

aproximación x0 = 0.5, una tolerancia de 10-6 y una cantidad de a= 0.5.

~---~~~-- --- - -- .. ----2 !

-1·----·-· "/~~- ----

: / ""· ¡

1

¡ -1.5

o -- ~ ---- --- ~--- --~--- --\·

-~~--- -o.s ---l-/--- _o_.s 1 -~--~---- ___ \ _______ :5

/; - --- --------/---------3-----. ------- --- ---------------------------------------------------- -----·--

/ ¡ -. 0- - - - -4

1 ---- ------- - ----5- e - ------ ---. -- ---· - ·-·· --- . ------------L ______ ------------------------------ --------~--------- --·----- ---------·

Figura (2.5a). Grafica de la función y = 3x+sen(x)-ex, en el intervalo de -1 a 2

con un avance de 0.1 unidades.

Los resultados computacionales para este ejemplo son:

METODO DE MULLER

INGRESAR EL PUNTO DE APROXIMACION XO,ALFA Y TOL 0.5 0.5 0.0001 RESULTADOS

N XO 1 0.5000 2 0.3549 3 0.3605

X1 l. 0000 0.5000 0.5000

X2 0.0000 0.0000 0.3549

H1 0.5000 0.1451 o .1395

H2 A 0.5000 -1.0764 0.3549 -0.8083 0.0056 -0.9470

LA RAIZ FINAL ES : 0.36042

B e 2.1232 0.3307 2.4918 -0.0138 2.5014 0.0001

XR 0.3549 0.3605 0.3604

La raíz obtenida luego de 3 iteraciones, con una tolerancia de 1 o-4 y una aproximación de cinco decimales fue: 0.36042

79

Page 81: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

Codificación:

La codificación empleada para obtener estos resultados fue la siguiente:

!AUTOR: LIC. JORGE LUIS GODIER AMBURGO

PROGRAM MULLER

REAL(4) X8,X1,X2,ALFA,TOL

WRITE(*,*)' METODO DE MULLER' . WRITE ( *, *) ' '

WRITE(*,*)' INGRESAR EL PUNTO DE APROXIMACION X8,ALFA Y TOL' READ(*,*)X8,ALFA, TOL X2=X8-ALFA X1=X8+ALFA WRITE(*,*)' RESULTADOS' WRITE(*, *)'' WRITE(*,*)' N X8 X1 X2 H1 H2 A 8 C XR' N=8

18 N=N+1 H1=X1-X8 H2=X8-X2 G=H2/H1 C=F(X8) A=(G*F(X1)-C*(1+G)+F(X2))/(G*H1**2*(1+G)) B=(F(X1)-C-A*H1**2)/H1 IF(B.GE.8)THEN XR=X8-(2*C/(B+SQRT(B**2-4*A*C))) ELSE XR=X8-(2*C/(B-SQRT(B**2-4*A*C))) END IF WRITE(*,28)N,X8,X1,X2,H1,H2,A,B,C,XR IF(XR.GT.X8)THEN X2=X8 X8=XR ELSE X1=X8 X8=XR END IF IF(ABS(F(XR)).LT.TOL)THEN WRITE (*,21)XR ELSE GOTO 18 END IF

28 FORMAT(1X,I2,9(F7.4,1X)) 21 FORMAT(1X,' LA RAIZ FINAL ES :',F9.5)

END

FUNCTION F(X) F=3*X+SIN(X)-EXP(X) RETURN END

80

Page 82: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

2. 7 Método de Laguerre

Los sistemas de álgebra por computadora son de especial valor para obtener

Jos ceros de una función. Tienen funciones integradas que encuentran Jos ceros.

Aunque su uso puede ser limitado en problemas grandes del mundo real; en general,

siguen estando adaptados a los métodos ya estudiados; así, cuando no existen

discontinuidades, la bisección es lenta pero certera y el método de Newton es rápido

aunque puede ser inestable, ambos problemas se resuelven con el método de

Laguerre. Curtis, F. (2000).

Funcionamiento:

Supóngase un polinomio de grado n: Pn (x) = (x- x1) (x- X2) (x- X3) .... (x- Xn).

Al calcular la derivada de In IPnJ, es fácil demostrar que~

P' n 1 A=-n =:L--

pn i=l (x-xJ (2.16)

Al calcular la segunda derivada de In IPnJ, se encuentra que:

(2.17)

Se observa que 8 siempre es positivo.

Sea x1 la raíz que quiere determinarse. Supóngase que todas las otras raíces están

lejos de x1 y que están acumuladas estrechamente entre si en algún punto x = X. Se

definen las siguientes cantidades: a = x - x1 y b = x - X. Las ecuaciones para A y 8

pueden volver a escribirse como: ·

y (2.18)

81

Page 83: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

A partir de estas dos ecuaciones se elimina b para obtener a:

n (2.19) a= ---:r======

A± ~(n -l)(nB- A 2)

Donde n es el grado del polinomio analizado; se usa el signo "mas", si A es positiva y

el signo "menos" si A es negativa. Se empieza con un valor para Xo que este próximo

a la raíz deseada. Usando este valor se calcula a. La siguiente iteración es X1 = Xo­

a. Esto se repite hasta que el valor absoluto de a sea suficientemente pequeñO. El

valor obtenido de x1 se emplea como aproximación mejorada de la raíz.

El proceso iterativo del método de Laguerre utiliza como elemento de

convergencia un valor de tolerancia (TOL), el cual define la máxima cantidad en valor

absoluto que se permitirá para la diferencia entre Xo y x1; mientras menor sea mayor

será la aproximación de x1 al valor de raíz buscado.

La primera derivada de la función puede obtenerse, usando una aproximación

por diferencias centrales de segundo orden, proporcionada en la ecuación (2.9).

Para la segunda derivada puede usarse una aproximación por diferencias centrales

tal como la mostrada a continuación:

Dónde:

f"(xo)= f(x 0 +h)-2f(~ 0 )+f(x 0 -h) h

h, es un número real del orden de 10-1 ó 10-3 y se define de antemano.

Algoritmo:

(i) Dados los puntos Ingresar el valor de h, n, Xo y TOL

(ii) Evaluar P(Xo), P'(Xo) y P"(:xo)

(iii) Calcular A, B y a usando las ecuaciones (2.16), (2.17) y (2.19).

(iv) Determinar el valor de x1 usando: x1 = x0 - a

(v) Evaluar (!al ::;; TOL)

Si entonces la raíz es x1

No entonces hacer Xo = x1, luego volver al paso (ii)

82

Page 84: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

IT 1

2

3

Limitaciones:

• El método de Laguerre puede converger a una raíz no deseada o puede no

converger del todo si la estimación para la primera y segunda derivada del

polinomio no es buena. Curtis, F. (2000);

Ejemplo:

Aplicando el método de Laguerre obtenga la raíz más próxima a 1.0 del

polinomio: y=:Jé3-8.6~+22.41x-16.236, utilice una tolerancia de 10-3.

Los resultados computacionales arrojan lo siguiente:

METODO DE LAGUERRE

INGRESAR ORDEN DEL POLINOMIO, PTO APROX XO Y TOL 3 1.0 0.001 RESULTADOS

xo FXO DFXO DDFXO a X1 l. 00000 -1.42600 8.21018 -10.72884 -.19856 1.19856 A= -5.757489 B = 25.624950

1.19856 -.00880 6.10473 -10.00985 -.00144 1.20000 A= -693.342700 B = 479587.300000

l. 20000 .00000 6.09028 -10.00054 .00000 l. 20000 A= -l. 210640E+07 B = 1.465649E+14

La raíz obtenida luego de 3 iteraciones, con una tolerancia de 1 o-3 y una

aproximación de cinco decimales fue: 1.20000

83

Page 85: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

Codificación:

La codificación empleada para obtener estos resultados fue la siguiente:

!AUTOR: LIC. JORGE LUIS GODIER AMBURGO

PROGRAM LAGUERRE

REAL(4) X0,X1,N,A,B,AA,FX0,DFX0,DDFX0,H

WRITE(*,*)'METODO DE LAGUERRE' WRITE ( *, *) ' ' WRITE(*,*)'INGRESAR ORDEN DEL POLINOMIO, PTO APROX X0 V TOL' READ(*,*)N,X0,TOL H=0.001 WRITE(*,*)'RESULTADOS' WRITE ( *, *) ' ' WRITE(*,*)'IT X0 FX0 DFX0 DDFX0 a X1'

10 NN=NN+1 FX0=F(X0) DFX0=(F(X0+H)-F(X0-H))/(2.0*H) DDFX0=(F(X0+H)-2.0*F(X0)+F(X0-H))/H**2.0 A=DFX0/FX0 B=(A**2)-(DDFX0/FX0) IF(A.GT.0)THEN AA=N/(A+SQRT((N-1)*(N*B-A*A))) ELSE AA=N/(A-SQRT((N-1)*(N*B-A*A))) END IF X1=X0-AA WRITE(*j21)NNjX0jFX0,DFX0 1 DDFX0 1 AA 1 X1 WRITE(*J*)'A ='JA WRITE(*J*)'B ='JB IF(ABS(AA).LE.TOL)THEN WRITE(*J20)X1 ELSE X0=X1 GOTO 10 END IF

20 FORMAT(1X, 'VALOR FINAL DE RAIZ = ',F9.5) 21 FORMAT(1XJI2J6(F9.5,1X))

END

FUNCTION F(X) F=X**3-8.6*X**2+22.41*X-16.236 RETURN END

84

Page 86: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

Problemas de aplicación

Los siguientes problemas pueden resolverse empleando los algoritmos

propuestos para cada método presentado, es indispensable para una solución usando

el computador elaborar programas en el Lenguaje Fortran; algunos de estos

problemas han sido tomados de: Nakamura, S. (1992) y Curtis, F. (2000).

a. La función f(x) = x- 0.2senx -0.5, tiene una raíz entre ><o = 0.5 y x1 = 1.0,

se verifica fácilmente que: f(0.5) = -0.09589 mientras que f (1.0) =

0.33171, localizar mediante un programa, la raíz correcta hasta seis

cifras significativas usando el método de Bisección; genere, el diagrama

de flujo correspondiente y luego haciendo uso del comando OPEN y la

instrucción FUNCTION, generalice el código a cualquier función,

indicando lectura y escritura por archivo de datos.

b. Se sabe que la función e-x+ 4x3- 5 tiene una raíz en x = 1.05151652,

resuelva para el intervalo [1 ,2], con el método de Muller, para un límite de

1 O iteraciones, luego elabore una tabla indicando el valor de la raíz, el

número de iteración y el error porcentual. ¿Aumenta o disminuye

conforme se incrementa el número de iteraciones?

c. Desarrolle un programa que calcule la raíz positiva de f(x) = x- cos (2x),

mediante el método de Newton hasta seis cifras significativas, utilice

como aproximación inicial x = n/4. Adicionalmente genere el diagrama de

flujo.

d. La aceleración del cerrojo en un mecanismo deslizador-manivela está

dado por la ecuación:

Se desea determinar el ángulo e de la manivela, respecto a una línea

que pasa por el punto fijo de la misma, si se conoce que: a = 25 cm/s2, e

(cociente de la longitud de la manivela y la longitud de la barra cerrojo)

es: 1.3, ro (velocidad angular de la manivela) es: 5.6 rad/s, r (longitud de

la manivela) es 0.8 cm.

85

Page 87: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

e. La potencia adiabática teórica necesaria para comprimir un volumen de

gas de Q pies cúbicos por segundo de la presión P1 a P2 es:

HP- 144K p P2 _ 1 ( J [( J(K-1)/K ]

- 500(k -1) 1Q P1

En esta ecuación Q es la cantidad de gas comprimida (2.4 pies3/seg), P1

es la presión inicial del gas (12 lb/in2), P2 es la presión final del gas (30

lb/in2) y K es el cociente de calor específico a presión constante entre el

calor específico a volumen constante. Determinar K.

f. La amplitud A de una oscilación Forzada, está dada por la ecuación:

Dónde: Q, es el valor de la fuerza periódica de perturbación (0.1 N), K es

la constante del resorte (25 N/m), oo es 2n la frecuencia de excitación (f =

2.3Hz), oon es 2n la frecuencia de natural de oscilación (fn = 5.0Hz) y e es

el coeficiente de amortiguamiento. Determinar e, si se sabe que A es

igual a 0.5 m.

g. Un recipiente de diámetro D = 0.5 cm y lleno de agua hasta una altura h

de 0.2m, se perfora circularmente en su base, la velocidad V con la que

desciende el nivel del agua es 8x10-4 mis, y está dada por:

Determinar el diámetro de la perforación d, considerando g = 9.8 m/s2

86

Page 88: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

h. Si la energía cinética de un electrón (m0 = 9.11 x 1 o-31 Kg) es 5 Me V,

determine su velocidad v a partir de la siguiente ecuación relativista:

Dónde: e, es la velocidad de la luz (3x1 08 m/s)

1 Me V = 1 .6x1 o-13 J

i. El momento transferido a un núcleo en una dispersión incoherente con

fotones no polarizados de energía cinética k es:

2ksen(8/2)[1 +(k 2 + 2k)sen(8/2)]112

a = ----'----=--=-------'------'-----'----=---

• 1+2ksen 2 (8/2)

Si q es el momento transferido e igual a 10-8 Ns, y e el ángulo de

dispersión e igual a n/2, determine la energía cinética k de los fotones

incidentes en eV.

j. Para neutrones que colisionan con un núcleo y cuya energía sea menor a

unos pocos MeV la dispersión es isótropa y la relación entre los ángulos

de dispersión en los sistemas de centro de masa y laboratorio es:

Acos8+1 cos <p = --;=======

.) A 2 + 2A cos e + 1

Dónde: e, es el ángulo dispersado respecto al centro de masas y en

este caso igual a n radianes.

cp, es el ángulo dispersado respecto al laboratorio, en este caso

numéricamente igual a n/3 radianes.

Determine la constante de normalización a la unidad A.

87

Page 89: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

6.3 Capítulo 111

3. Solución de sistemas de ecuaciones lineales

Los métodos numéricos para resolver sistemas de ecuaciones lineales se pueden

dividir en dos tipos, exactos e iterativos. Los métodos exactos son aquellos en los

cuales en ausencia de errores de redondeo u otros, proporcionan la solución exacta

para un número finito de operaciones aritméticas elementales. En la práctica, puesto

que un computador trabaja con una longitud de palabra finita, los métodos directos no

conducen a soluciones exactas; en realidad los errores que provienen del redondeo,

inestabilidad y pérdida de cifras significativas pueden conducir a resultados

extremadamente pobres o inútiles.

Una gran parte del análisis numérico tiene que ver con el por qué y como del

surgimiento de errores y la búsqueda de métodos para minimizar la totalidad de estos.

La técnica fundamental usada para solución directa de sistemas de ecuaciones

lineales es la eliminación de Gauss, pero aun dentro de esta clase de métodos hay

una gran variedad de escogencias que varían en eficiencia computacional y en

exactitud.

Dónde:

Un sistema de tres ecuaciones lineales se representa de la siguiente manera:

Ax. + By + Cz = O

Ex+ Fy + Gz = H

lx + Jy + Kz = L

(3.1)

(A, 8, C, E, F, G, 1, J, K), son coeficientes del sistema y corresponden a

los elementos ge la mé;ltriz A, (O, H, L), son valores constantes y corresponden a la matriz de

términos independientes B.

(x, y, z), variables por determinar, corresponden a la matriz de

incógnitas X.

Para resolver el problema (hallar las incógnitas), representamos las ecuaciones

(3.1), como un producto de matrices, a modo de facilitar el uso de la técnica de

eliminación y sustitución regresiva.

88

Page 90: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

(3.2)

Recordemos que una condición para que se realice el producto de matrices, es

que el número de columnas de la primera matriz sea igual al número de filas de la

segunda, es decir:

A mxn .B nxp = C mxp (3.3)

3.1 Método de eliminación de Gauss y sustitución regresiva

Sean A una matriz cuadrada dada de orden N, y B un vector dado de orden N;

se desea, resolver la ecuación matricial:

AX=B (3.4)

El vector solución X puede obtenerse sin dificultad en caso de que A sea

triangular superior con todas la entradas diagonales no nulas. como generalmente no

se presenta este caso, nuestro trabajo será convertir la matriz A y B en A' y 8', tal que

se cumpla lo siguiente:

A'X=B', donde: A' es una matriz triangular superior.

Para lograr esto utilizamos la matriz ampliada [A: b], que es fa unión de

términos de A y B; así, para el caso de un sistema de 3 ecuaciones lineales con 3

incógnitas, en orden cero la representación es:

Dónde:

(3.5)

[E1]0

, es la representación de la primera fila de la matriz ampliada en

orden cero.

89

Page 91: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

Por eliminaciones sucesivas, convertimos esta matriz ampliada a otra nueva,

de modo que al final se obtenga [A: B]N-1 , es decir una matriz ampliada en orden N-1,

entonces:

[A:B]o -+[A: B]1-+ ............ -+[A: B]N-2-+ [A: B]N-1 (3.6)

El método consiste en sustituir los vectores fila [E¡]m secuencialmente en dos pasos:

i) [E)m = [Eir-1; (j = 1, 2, ..... , m)

ii) m-Í

[E.]m =[E.]m-1 _ aim [E ]m-1. (" + 1 N) ¡ ¡ m-1 m ' 1 = m ' ...... '

a mm

(3.7)

Donde m, es el orden de eliminación y el valor amm es el elemento pivote por

aplicaciones sucesivas de los pasos (3.7), se llega a una matriz ampliada [A: st\ que

es una matriz triangular superior de la forma:

l N'

N-1 N-' b N-• J a¡¡ a1z al3 1

[A:Bt-1 = ~

N-1 N-1 b N-1 (3.8) azz az3 z

o N-1 b N-1 a33 3

En este punto podemos resolver el sistema, acomodando la ecuación (3.8) en la

siguiente forma:

[

N-1 an o o o

N-IJ( J [b N-1 J al3 X= X¡ 1

a23N-l ly = Xz = b2N-l

N-1 b N-1 a33 z = X3 3

El proceso de sustitución regresiva tiene dos partes:

(3.9)

a) Dado que la última ecuación solo involucra a z (x3) y siendo que aNNN-1 F O,

debemos tener:

bN-1

X - N N- N-1 aNN

90

(3.1 O)

Page 92: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

b) El segundo paso nos permitirá conocer el valor de las incógnitas restantes:

[bN-1 ~ N-1 ] 1 . (" - N 1 1) xí = í - .L..,.aít xt N-1 ' 1- - , ...... ,

t=>+1 a¡; (3.11)

Ejemplo:

Resolver mediante el método de Eliminación de Gauss y Sustitución Regresiva

el siguiente sistema de ecuaciones lineales:

En notación matricial, tenemos:

-1 x + 1 y - 4z = O

2x + 2y = 1

3x+ 3y+ 2z = 1/2

Calculamos la matriz ampliada [A: 8]0, en orden cero.

Llevamos [A: b]0 -+[A: b]\ el elemento pivote es el primer valor de la diagonal,

entonces, como es la primera eliminación m = 1.

Se mantiene fijo el primer vector fila, es decir: [El = [E1]1

El cálculo se inicia para [E2]1

91

Page 93: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

[E,]' ~[E,J'-(:::)E¡J' ~(2 2 o 1)-(:1)-1 1 -4 oHo 4 -8 1)

[E,J' ~ [E,J' -( :::)E,J' ~ (3 3 2 112)-( ~1 )c-1 1 -4 o)~ (o 6 -10 112)

La nueva matriz ampliada [A: 8]1

1 -4 o J 4 -8 1

6 -101/2

Como [A: 8]1 no es una matriz triangular superior, es necesario repetir el proceso a

partir del vector fila por reducir.

Llevamos [A: 8]1 -+[A: 8f; el elemento pivote es el segundo valor de la diagonal, para

este caso m = 2.

Fijo el primer y segundo vector fila, es decir: [E1f = [E1]1 y [E2f = [E2]1

El cálculo se inicia para [E3] 2

[E,l' ~ [E,l' -( ::: J[E,J' ~(o 6 -10 112)-(¡}(o 4 -8 1) ~(o o 2 -1)

La nueva matriz ampliada [A: 8f es:

1 -4 o] 4 -8 1

o 2 -1

Esta matriz es triangular superior. Nótese que se emplearon N-1 matrices ampliadas.

En este punto procedemos a efectuar la sustitución regresiva:

92

Page 94: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

El proceso de sustitución regresiva tiene dos partes:

a) Operando con la ecuación (3.1 O) se tiene:

b2 -1 X =-3- -+ Z =-

3 2 2 a33

b) El segundo paso nos permitirá conocer el valor de las incógnitas restantes:

i =2

x2 =y= -0.75

i =1

x1 = x = 1.25

Las soluciones del Sistema son: x = 1.25; y= -0.75 y z = -0.5

93

Page 95: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

Los resultados computacionales para este problema empleando Fortran son los

siguientes:

SOLUCION DE SISTEMAS DE ECUACIONES LINEALES ELIMINACION GAUSS Y SUSTITUCION REGRESIVA

============================================================ INGRESO DE DATOS (SOLUCION SISTEMA DE N EC.CON N INCOGNITAS

INGRESE DIMENSION DE LA MATRIZ DE COEFICIENTES 3

INGRESE ELEMENTOS DE MATRIZ A

-1.0 1.0 -4.0 2.0 2.0 0.0 3.0 3.0 2.0

INGRESE VECTOR DE TERMINOS INDEPENDIENTES

0.0 l. O 0.5

MATRIZ TRIANGULAR SUPERIOR PRELIMINAR

-1.00000 .00000 .00000

1.00000 4.00000 6.00000

-4.00000 -8.00000

-10.00000

MATRIZ TRIANGULAR SUPERIOR PRELIMINAR

-1.00000 .00000 .00000

MATRIZ INGRESADA

-1.00000 2.00000 3.00000

1.00000 4.00000

.00000

l. 00000 2.00000 3.00000

-4.00000 -8.00000

2.00000

-4.00000 .00000

2.00000

MATRIZ TRIANGULAR SUPERIOR FINAL

-1.00000 .00000 .00000,

SOLUCIONES

X 1= X 2= X 3=

l. 25000 -.75000 -.50000

1.00000 4.00000

.00000

-4.00000 -8.00000

2.00000

94

.00000 1.00000

.50000

.00000 1.00000

-1.00000

Page 96: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

Codificación:

La codificación elaborada que genera los resultados mostrados es la siguiente:

!AUTOR: LIC. JORGE LUIS GODIER AMBURGO

PROGRAM SOLUCION_SIST_EC_LINEALES

REAL(4) A(188,188),A1(188,188),XSOL(188)

18 WRITE (*,*)'' WRITE (*,*)' SOLUCION DE ECUACIONES LINEALES SIMULTANEAS ELIMINACION DE' WRITE (*,*)' GAUSS Y SUSTITUCION REGRESIVA' WRITE (*,*)' ==========================================================' 1.-JRITE (*, *)' ' WRITE (*,*)' INGRESO DE DATOS (SOLUCION SISTEMA DE N CON N INCOGNITAS)' WRITE (*, *)' ========·=================================================='

WRITE ( *, *) ' ' WRITE (*,*)' INGRESE DIMENSION DE LA MATRIZ DE COEFICIENTES ' READ (*,*)M1 WRITE (*, *)'' WRITE (*,*)' INGRESE ELEMENTOS DE MATRIZ A' DO I=1,M1 READ(*,*)(A(I,J),J=1,M1) END DO

DO I=1,M1 WRITE (*,*)' INGRESE VECTOR DE TERMINOS INDEPENDIENTES' READ(*,*)A(I,M1+1) END DO

COPIANDO EN LA MATRIZ DE PASO 28 LP=2

LN=LP-1 DO I=1,M1 DO J=1,M1+1 A1(I,J)=A(I,J) END DO END DO FIN DEL COPIADO HACIENDO LA ELIMINACION

21 DO I=LP,M1 WPAS01=A1(I,LN) WPAS02=A1(LN,LN) DO J=1;M1+1 A1(I,J)=A1(I,J)-(WPAS01/WPAS02)*A1(LN,J) END DO END DO FIN DE LA ELIMINACION REPITIENDO EL PROCESO

WRITE(*, *)'' WRITE(*,*)' MATRIZ TRIANGULAR SUPERIOR PRELIMINAR'

95

Page 97: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

WRITE(*J*)' ===================================== DO J'.U=lJf·U WRITE(*Jlee)(Al(MIJMJ)JMJ=lJMl+l) END DO t'IIRITE(*.; *)''

LP=LP+l LN=LP-1 IF (LP.GT.Ml)THEN NK=Ml GOTO 27 ELSE GOTO 21 END IF SUSTITUCION REGRESIVA

27 SUMA=e DO J=lJMl SUMA=SUMA+Al(NKJJ)*XSOL(J) END DO XSOL(NK)=(Al(NKJMl+l)-SUMA)/Al(NKJNK) NK=NK-1 IF (NK.LE.e) THEN GOTO 28 ELSE GOTO 27 END IF FIN DE SUSTITUCION REGRESIVA PRESENTACION DE RESULTADOS

28 WRITE (*J*)'' WRITE(*J*)' MATRIZ INGRESADA' WRITE(*J*)' ================ DO I=lJMl WRITE(*Jlee)(A(IJJ)JJ=lJMl) END DO WRITE(* J *)'' WRITE(*J*)' MATRIZ TRIANGULAR SUPERIOR' WRITE(*J*)' ========================== DO I=lJMl WRITE(*Jlee)(Al(IJJ)JJ=lJMl) END DO WRITE ( *; *) ' ' WRITE(*J*)' SOLUCIONES' WRITE(*J*)' ========== DO I=l,Ml WRITE(*J29)IJXSOL(I) END DO FIN DE PRESENTACION WRITE ( * J *) ' ' WRITE(* J *)'' WRITE(* J *)''

29 FORMAT (lXJ' X'JI3J '='JF11.5) 1ee FORMAT (15(3XJF11.5))

WRITE ( * J *) ' ' t>JRITE ( * J *) ' ' END

96

Page 98: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

3.2 Método de descomposición LU (Lower-Upper)

Nuevamente el problema es resolver la ecuación matricial AX = B, vale decir la

solución del sistema de ecuaciones lineales.

Pero en este caso definimos A como: A=L.U, ó sea el producto de dos matrices

Ly U, donde:

rt .. o 0 ............ o

121 122 0 ............ o L= y U=

\)ni ln2 1n3·········· 1nn

Además podemos definir las siguientes operaciones:

L(U.X) = B L .Y = B U. X= Y

U¡¡ U¡z ul3 ......... U In

o U22 u23 ......... u2n

o o 0 ........... unn

Donde y es una matriz columna accesoria, que puede obtenerse de la relación:

r¿· u¡2 ul3"""'" U In rx, y¡

Uzz u23 ......... u2n Xz y2 =

o 0 ........... \o unn \Xn Yn

Ahora por definición sabemos que LU = A, entonces:

¡~· o 0 ............

ii ["~· U¡z uB ......... u,. l [a., a¡z aJ3·········

121 122 0 ............ ll22 u23 ......... U2n a21 a2z a23 ........

. .

In! ln2 ln3 .......... o 0 ........... unn anl an2 an3········

97

(3.12)

(3.13)

(3.14)

aml a2n

ann

(3.15)

Page 99: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

Por lo cual es posible definir:

N

,l)ikuki = aii donde: (i = 1,2,3,4, ..... , N) y G = 1,2,3,4, ..... , N) (3.16) k=l

Por conveniencia hacemos: l¡¡ = 1, donde: (i = 1, 2, 3, 4, ...... , N), es decir todos los

elementos de la diagonal principal de L son iguales a i. También u1¡ = a1¡, de modo que

podemos simplificar los cálculos, quedando por determinar elementos en un triángulo

más pequeño.

Para nuestra matriz A, podemos diferenciar los elementos para los cuales (i > j) y los

elementos donde (i::; j), así:

Para los elementos donde (i > j)

Para los elementos donde (i ::; j)

j

I lik u¡q = aii k=l

1

"likuk. = a .. L.J ' •J lJ k=l

Esto nos permite hacer la evaluación de los uli y los lu, restantes:

i-1

uii = a;i- .l:Iikukj (i = 2,3, ..... ,j) k=l

1 i-1

l;i = -(aij- IIikuki) (i = j +1, ..... ,N) a_¡¡ k=1

(3.17)

(3.18)

(3.19)

Calculados los valores de L y U, debemos resolver primero L.Y = B, para obtener los

valores de la matriz accesoria y, lo cual nos permitirá calcular los valores de x,

resolviendo U.X = Y.

Nota: en el primer caso será necesario realizar una sustitución progresiva (Upper) y

en el segundo una sustitución regresiva (Lower).

98

Page 100: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

Ejemplo:

Resolver el siguiente sistema de ecuaciones lineales con el método de

descomposición LU.

En notación matricial, tenemos:

2x + 5y + 7z = 1 O

5x + By - 3z = 15

3x - 9y + 6z = -8

Iniciamos la descomposición recordando que: u1¡ = a1¡ , l¡¡ = 1 y A= L.U, entonces:

[1:, o

~J [~ 5

u:}[~ 5

~3J 1 Uzz 8

131 132 o u33 3 -9

Triangular: inferior superior

Calculamos los valores de 1 y u intercalando las formulas (3.17) y (3.18)

1

1 . ~ 1 1 (?) (Z) (5) 1 21 ~ a21 = ~ 2k uk1 ~ 21 Un = a2I ~ 21 = 2.5

k~!

2 "1 1 (5/2) (5) 1 (!) (?) (8) u2z ~ a22 = L...J 2k uk2 ~ 21 u12 + 22 u22 = a22 ~ u22 = -4.5

k=o1

1

1 " 1 1 (?) (2) (3) 1 31 ~ a31 = L...J 3k uk1 ~ 31 Un = a3I ~ 31 = 1.5

k~I

2 "1 1 (5/2) (7) 1 (!) (?) (-3)

u23 ~ a23 =.L.. 2k uk3 ~ 21 ul3 + 22 u23 = a23 ~ u23 = -20.5 k~!

2

1 "1 1 (3/2) (5) 1 (?) (-4.5) (-9) 1 32 ~a32 = L...J 3kuk2 ~ 31 ui2 + 32 U22 =a32 ~ 32 =3.7

k~!

3 "1. 1. (3/2) (7) 1. (3.7) (-20.5) 1. (1) (?) (6) 7 U33 ~ a33 = L...J 3k uk3 ~ 31 ul3 + 32 u23 + 33 U33 = a33 ~ u33 = 70.

k~!

99

Page 101: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

Usamos la relación L Y = B, para calcular el vector accesorio por sustitución

progresiva, así:

[2\ 1.5

o 1

3.7

El proceso de sustitución progresiva tiene dos partes:

a) Dado que la primera ecuación solo involucra a y1 y siendo que 111 * O, debemos

iener:

b¡ y¡=-

1¡¡

b) El segundo paso nos permitirá conocer el valor de las incógnitas restantes:

10 = 10, y¡=¡

Y- = [b- -~ l y l _1_ 2 2 L... 2t tj l

t=l 22

[

2

] 1 = b- l -Y3 3 L 3tYt ¡ t=l 33

(i = 2, 3, ...... , N)

Luego calculamos el vector X, de la relación: U .X= Y, por sustitución regresiva, así:

l~ -:.5 -2~.5J(l~J = [-\

0

oj o o 70.7 z 14

100

Page 102: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

El proceso de sustitución regresiva tiene dos partes:

a) Dado que la última ecuación solo involucra a X3 y siendo que UNN "* O, debemos

tener:

YN X-­N-UNN

b) El segundo paso nos permitirá conocer el valor de las incógnitas restantes:

[

N ] 1 . . x1 = Y; - í:u;1X1 -; (1 = N-1 , ...... , 1) t=i+l U¡¡

Finalmente aplicando una sustitución regresiva se obtiene:

14 Z =X =--= 0.198 3

70.7

101

Page 103: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

Los resultados computacionales con el programa en Fortran son:

DESCOMPOSICION LU (LOWER UPER)

INGRESO DE DATOS

INGRESE DIMENSION DE LA MATRIZ DE COEFICIENTES 3 INGRESE ELEMENTOS DE MATRIZ A

2.0 5.0 7.0 5.0 8.0 -3.0 3.0 -9.0 6.0

INGRESE VECTOR DE TERMINOS INDEPENDIENTES

10.0 15.0 -8.0

MATRIZ A

2.0000 5.0000 7.0000 5.0000 8.0000 -3.0000 3.0000 -9.0000 6.0000

MATRIZ L

1.0000 .0000 .0000 2.5000 1.0000 .oooo 1.5000 3.6667 1.0000

MATRIZ U

2.0000 .0000 .0000

5.0000 -4.5000

.0000

7.0000 -20.5000

70.6667

SOLUCIONES

X: 1 .9701 X: 2 l. 3412 X: 3 .1934

102

Page 104: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

Codificación:

La codificación que genera los resultados mostrados del ejemplo anterior es la

siguiente~

!AUTOR: LIC. JORGE LUIS GODIER AMBURGO

PROGRAM DESCOMP LU

REAL(4) A(100~100)~WL(100~100)~U(100~100)~8(100)~X(100)~C(100)

10 WRITE (*~*)''

WRITE (*~*)' DESCOMPOSICION LU (LOWER UPPER)' WRITE (*j*)' ================================ WRITE ( *, *) ' ' WRITE (*~*)' INGRESO DE DATOS' WRITE (*,*)' ============================================= WRITE ( * ~ *) ' ' WRITE (*,*)' INGRESE DIMENSION DE LA MATRIZ DE COEFICIENTES ' READ (*,*)M1 WRITE (*, *)'' WRITE (*~*)' INGRESE ELEMENTOS DE MATRIZ A' DO I=1~M1 READ(*,*)(A(I~J)~J=1~M1) END DO WRITE (*~*)' INGRESE VECTOR DE TERMINOS INDEPENDIENTES' DO I=1~M1 READ(*~*)B(I) END DO WRITE ( *; *) ' '

20 DO J=1~Ml U(l~J)=A(l,J) END DO DO J=l,Ml WL(J~J)=l END DO SUMA3=0 SUMA4=0

DO J=l~M1 SUMA3=0

DO I=2~J

SUMA3=0 DO K=l,I-1 SUMA3=SUMA3+WL(I,K)*U(K,J) END DO U(I,J)=A(I,J)-SUMA3 END DO SUMA4=9 DO I=1,Ml

SUMA4=9 DO K=l,J-1

103

Page 105: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

SUMA4=SUMA4+WL(I,K)*U(K,J) END DO

WL(I,J)=(A(I,J)-SUMA4)/U(J,J) END DO

END DO WRITE(*,*)' MATRIZ A' WRITE( * *)' --------' J --------

DO J=1,M1 WRITE(*,30)(A(J,I),I=1,M1) END DO WRITE(*,*)' MATRIZ L' WRITE( * *)' --------' J --------

DO I=1,M1 WRITE(*,30)(WL(I,J),J=1,M1) tND DO WRITE(*,*)' MATRIZ U' WRITE( * *)' --------' J --------

DO I=1,Ml WRITE(*,30)(U(I,J),J=1,M1) END DO NK=1

26 SUMA=0 DO J=M1,1,-1 SUMA=SUMA+WL(NK,J)*C(J) END DO C{NK)=(B(NK)-SUMA)/WL(NK,NK) NK=NK+1 IF (NK.GT.M1) THEN NK=M1 GOTO 27 ELSE GOTO 26 END IF

27 SUMA=0 DO J=1,M1 SUMA=SUMA+U(NK,J)*X(J) END DO X(NK)=(C(NK)-SUMA)/U(NK,NK) NK=NK-1 IF (NK.LE.0) THEN GOTO 28 ELSE GOTO 27 END IF

28 WRITE(*,*)' SOLUCIONES' WRITE(*,*)' ========== DO I=1,M1 WRITE(*,35)I,X(I) END DO

30 FOR~AT (7(F8.4)) 35 FORMAT (' X:',I3,F8.4)

END

104

Page 106: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

Problemas de aplicación

Los siguientes problemas y cuestiones pueden resolverse empleando los

algoritmos propuestos para cada método presentado; para una solución usando el

computador, se recomienda elaborar programas en el lenguaje Fortran.

a. Determine las concentraciones molares de una mezcla de cinco

componentes en solución a partir de los datos mostrados en la tabla

(3.1).

Tabla (3.1), Datos espectrofotométricos.

Lañ9iiücl -ae---·· -· ······ ·-····AEs9'r6-añ~Büi.mal~·r.·JEú .. qam·p·óne·nt~:r;- ·.'-··· ··-···· ··'A6sorbanCia·--··· : :·· ~~-.\~-- -<-/ ... ~~-:. ~::::·, .. :,; ........ ,:e_..,,.~~----.:~: ... ~-.:-:::.~: --~- :------~----- ...... ;, •. ~ . .,,. . . -~-----. . ·._· .. -:~ ~~- ... :\ ·. _.,:( _.:.: .... : :_ :_ •. , ..

onda i 4 > .··.· 5 · total observada

·•b.s-····•.··· .. · 0.1100

Considere que la longitud de la trayectoria óptica es unitaria y que el solvente no

absorbe a estas longitudes de onda. También se debe considerar que se cumple la

ley de Beer, entonces a una longitud de onda dada, ocurre:

Donde:

n

AToT = ""fO .. c 1 LlJ J j=l

Arar¡= absorbancia total observada a la longitud de onda i.

r>u = absorbancia molar del componente j a la longitud de onda i

ci =concentración molar del componente j en la mezcla.

105

Page 107: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

b. Se necesita preparar una formula alimenticia para engordar ganado, se

dispone de maíz, desperdicios, alfalfa y cebada, cada uno con ciertas

unidades de ingredientes nutritivos, de acuerdo con la tabla (3.2).

Tabla (3.2), Unidades de ingredientes nutritivos por Kg. en cada alimento disponible.

Ingrediente > 1\/léáíz Desperdicio ·<Aifálfc:l Cebada

nutritivo

Requerimiento

diario

unidades/Kg. ·-~-<- -~ ........ ~-~--~-,-~·····,.·~-~::::~--~:.:~ .. ~~;.::.;..:;;, .'(~~--~ :~--.. ~.;~--~~·.::"(_:: •. ~ ..... ,~-~-~- .. ··--··-~--~--~-,.·o.·~--~--~- .. ··~-~-,.~--,~- ..... ,. ........... ~-~-........ ,..,., .. ,..,. ...... ~., .. ,. . ., .. -..... ,..~_, __

Cárbohidrátos·····.. · so· .. ·.·.· 15 Proteína < ~k··· .. ·.·.····· .. · . 72

······ ···v·•·t· ·.· .. · .... ··.· ·.·.· . ··· ....• ·.·.2:···a· <· .. ·. · .. ·.· .. ·.· •.·.· ... ·2·.a·.·.·.·.•.<· .· >1······2· .•. ·.···•.•··········•· .. ··.·.· .. •. ·.··••.··.·.•·•.· .. ·.··•.· ... ··.·.··.·2· .·a· .·•··•·. •• · .· • .l. í:lmmas .·.. · .. ::········.· ........ •.·.··•s···•··•··.··a···•.··.··•.·.·.·.·.···.···.·· .. ·•.·.· .. •·.••.· .. •·.·.· .. •.·.···•·•••·.·····.···:: ···: 1 o 60 Celulosa ~()\ i

35 < !3.0> • .. ·.· !)¿\ . 25

··· ... <23o··.··.·

180

160 -~~-....-.-........ ~-- --~-................ , .. ·----· ....... , ...... ~-~ ........ , "' .,., .................. ~--:~-: <~:"·:·;·.~--~:-.. : ·. . ............. ,, .. ,,-: ..... ,.. ............... .,...,-._. ........... . .... .,., .. , .................. :::-:~~~~-~~ ~- ~:-~ ... -;,_~~~-- . -~-.-..... ., .. .._,: ... ., ....... ~ .......................... ,.,_._,,- ................ ..,..._ ................................................... -.......................... , .. ..,_._ ..................................... ·---~~-.~~-~

Costo en soles · t8 5 >. T > 20 -~·-~··--··'''"'·''''-."•''-'·"''·'"''''•'"'•'•'•'••,.. ................ .,..'<' ..... ·~~·'"·~--:~~:::~ ... :;·~~-~-:-.. :.::- .:_::·::~ ..................... -.-.~····''" .... "'"~----..... , .. --,-.-.~·.-.--.--~:~:~;-~~-:.~:>:::~:~~~ ·.· ... -: .... , ........... ~ .. · ..................... , ......... ..,., ... , . .,. .... ,--. ... -. ... ,,, ............................. -<o-.......-.·--.~··"'"''•·-·.-.-. ... --..-... -.. ...................... _.. ........ .

a) Calcule los kilogramos necesarios de cada material para satisfacer el

requerimiento diario (presentado en la última columna).

b) Determine el costo de mezcla.

Nota: la formula alimenticia debe contener los cuatro alimentos.

c. Considerando la red de la figura (1.2), con s1 = 8V, s2 = 4V, r1 = 1.5Q, r2

= 1.0Q, r3 = S.OQ, r4 = 6.0Q, r5 =2.0Q. Determine la intensidad para la

corriente que circula por cada malla (1 1, 12 e 13).

malla A

Figura (3.2). Circuito de corriente continua.

106

Page 108: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

Nota: Aplique las reglas de Kirchhoff a cada una de las mallas, construya su

sistema de ecuaciones lineales y condiciónelo de manera que tenga diagonal

dominante.

d. Una masa M de 2 Kg. se encuentra suspendida de dos cuerdas, tal

como se ve en la figura (3.3). Calcule la tensión en cada una de las

cuerdas, sabiendo que el sistema se encuentra en equilibrio.

Figura (3.3). Sistema estátiéO.

e. Una masa M de 1.5 Kg. Está sujeta a un techo por tres cables, tal como

se muestra en la figura (3.4). Calcule la tensión para cada cable, si el

sistema se encuentra en equilibrio.

Figura (3.4). Sistema estático.

107

Page 109: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

6.4 Capítulo IV

4. Ajuste de curvas

En física los datos a menudo son valores discretos a lo largo de un continuo. En

este capítulo, se describen técnicas para el ajuste de curvas de tales datos para

obtener de igual modo estimaciones intermedias, pero podremos además conseguir

versiones simplificadas de funciones en un numero de valores discretos a lo largo del

dominio de interés, pudiendo luego derivar una función más simple para ajustar esos

valores; a esta aplicación se le conoce como ajuste de curva.

Existe un procedimiento general para el ajuste de curvas que se distingue por

trabajar con el grado de error asociado con los datos. Es decir, donde los datos

exhiban un grado significativo de error o "ruido", la estrategia será derivar una sola

curva que represente la tendencia general de los datos. Debido a que cualquier dato

individual puede ser incorrecto, no se necesita interceptar cada punto. En lugar de

esto, se designa una curva para seguir un patrón de los puntos tomados como un

grupo. Este procedimiento se conoce como regresión por mínimos cuadrados.

La regresión por mínimos cuadrados se basa en la suposición de que la

relación entre variables dependientes e independientes es lineal ó en todo caso está

dada por una función polinómica; sin embargo, este no siempre es el caso, por ello

algunas veces se requiere utilizar transformaciones (linearizaciones), para expresar los

datos en forma que sea compatible con la regresión lineal, de ese modo será posible

resolver problemas físicos que impliquen ajustar datos procedentes de experimentos

reales, para derivar funciones que relacionen fas variables del fenómeno.

4.1 Regresión por mínimos cuadrados

Esta técnica surge debido a la necesidad de hacer a un lado la subjetividad de

trazar la mejor línea a través de los puntos por simple inspección visuaí. Una forma de

hacerlo es derivar una curva que minimice la discrepancia entre los puntos y fa curva.

Supóngase que se desea ajustar una curva a un conjunto de datos aproximados,

como los obtenidos por estudiantes en el laboratorio de física para determinar los

efectos de la temperatura sobre una resistencia. Los estudiantes registraron las

mediciones de temperatura y resistencia como se muestra en la figura (4.1), donde la

gráfica sugiere una relación lineal.

108

Page 110: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

Quiere determinarse de manera idónea las constantes a y b en la ecuación que

relaciona la resistencia R con la temperatura T.

R = aT+h

De modo que en un empleo ulterior sea posible predecir la resistencia a

cualquier temperatura. La recta, trazada a simple vista, representa bastante bien a los

datos, pero si estos vuelven a trazarse y se pide algo mas para dibujar una recta, rara

vez se obtiene exactamente la misma recta.

1050

1000

• 950 ~

~ o

/ "' T,"C R,Ohms ·e:; 900 e

20.J 76~ Q)

u; 37..7 27.6 ·¡;; Q) 51.0 873

0:: T},2 942 95.7 1032

850

Temperatura( oc) 30 35 40 45 50 55 60 65 70 75 80 85 90 95 100

Figura (4.1). Grafica Resistencia vs. Temperatura con recta de ajuste.

Las desviaciones de los puntos se miden por las distancias de los puntos a la

recta, y como se miden estas distancias depende del hecho que ambas variables

estén sujetas a error, en el caso del ejemplo resistencia temperatura se supondrá que

el error al leer las temperaturas en la figura (4.1) es despreciable, de modo que todos

los errores estén en la medición de la resistencia, y se usaran distancias verticales,

entonces las desviaciones pueden minimizarse haciendo su suma un mínimo,

considerando el caso de solo dos puntos ver figura (4.2).

109

Page 111: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

Resulta evidente que la mejor recta para por cada punto, pero cualquier recta

que pase por el punto medio del segmento que une los puntos tiene una suma de

errores igual a cero.

Figura (4.2). Error asociado a dos datos, respecto a recta de ajuste.

Además de proporcionar uri resultado único para un conjunto de datos, el

método de mínimos éuaaradós también coincide con el principió de máXima probabilidad de estadística.

Si los errores de medición poseen una distribución denominada normal y si la

desviación estándar es constante para todos los datos, entonces puede demostrarse

que la recta determinada al minimizar la suma de los cuadrados tiene valores de

pendiente y ordenada al origen con máxima probabilidad de ocurrencia.

4.2 Regresión lineal

El ejemplo más simple de una aproximación por mínimos cuadrados es mediante

el ajuste de un conjunto de pares de observaciones; así, sea Y¡ un valor experimental,

y sea y¡ un valor de la ecuación:

y¡ =ax¡ +b (4.1)

Donde X¡ es un valor particular de la variable que se supone libre de error. Quiere

determinarse los mejores valores para a y b de modo que las y predigan los valores de

la función que corresponden a los valores de x. Sea e¡ = Y¡- y¡. El criterio de mínimos

cuadrados requiere que:

1"10

Page 112: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

N N

S = e; +e; + ....... + e~ = Le; = L (Y¡ - ax¡ -bY (4.2) i=l i=l

La ecuación (4.2), sea mínima. N es el numero de pares (x,Y). Se alcanza el mínimo

al elegir adecuadamente los parámetros a y b, de modo que sean las "variables" del

problema. En el mínimo para S, ambas derivadas parciales astaa y astab son cero.

Por tanto, recordando que las X¡ y las Y¡ son puntos de datos no afectados por la

elección de los valores de a y b, se tiene:

as N -=O= ¿2(Yi -axi- b)(-xJ aa i=l

as N -=O= ¿2(Y¡ -ax¡- b)(-1) oh i=l

(4.3)

Al dividir entre -2 cada una de estas ecuaciones y desarrollar la sumatoria, se obtienen

las denominadas ecuaciones normales.

i=l i=l i=l

N N (4.4a)

aixj +bN= IY¡ i=l i=l

Al resolver simultáneamente estas ecuaciones se obtienen los valores para la

pendiente y la ordenada al origen a y b, respectivamente. Para ello emplearemos las

siguientes ecuaciones:

N N

N Ix¡IY¡ "'x. y - i=l i=l ¿ 1 1 N. i=l a=---------

(Ix·J2 fx;- i=1N1

i=l

(4.4b)

N N

IY¡ -aix¡ b = _i=_l ___ i_=l __

N

111

Page 113: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

Para los datos mostrados en la figura (4.1), se encuentra que:

N=5;LT¡ =273.l;LT¡2 =18607.27;LR¡ =4438,

I T¡R¡ = 254932.5

Luego las ecuaciones normales son:

18607.27a + 273.lb = 254932.5

273.la + 5b = 4438

A partir de lo anterior se encuentra a = 3.395, b = 702.2 y así, la ecuación se escribe

como:

R = 702+ 3.39T

De esta ecuación que relaciona las variables resistencia y temperatura, es

posible predecir datos más allá de los obtenidos experimentalmente.

Ejemplo:

Usando el método de mínimos cuadrados para regresión lineal, ajuste la

siguiente tabla de datos experimentales, y determine la relación entre las dos

variables.

· x f(x)

·•-·. o;1o 5.3o

0:20 5.30 .·

·. 0.30. 5.60

.0.40 .· .5.76

: 0,50 6.00

.· 0~60 ·. 6.32 ·:.:. ·.· ... · .

0.70 . 6.61

0.80 6.60

ü.·so •••· e.8o. ·. •·· J.OO · TOO

1.10·.·.· 6.20

120 •.. ·.· 7.76 .-

1.30 7.60 · ..... ·

f4ó 7.80 . ·.:· .... :·.

1:50 8.30

9.orn---·-················-----·---·-------·--··--··························----------·-·························································

8.0

7.0

6.0

5.0

4.0

3.0

2.0

0.0 0.00 0.20 0.40 0.60 0.80 1.00 1.20 1.40 1.60

112

Page 114: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

La solución computacional arroja los siguientes resultados:

AJUSTE LINEAL MÍNIMOS CUADRADOS

INGRESE NUMERO DE PARES PARA AJUSTE (MAX (100)) 15

INGRESE PARES UNO POR UNO INGRESE PAR NRO. 1 X E y 0.1 5.3 INGRESE PAR NRO. 2 X E y

0.2 5.3 INGRESE PAR NRO. 3 X E y

0.3 5.6 INGRESE PAR NRO. 4 X E y

0.4 5.76 INGRESE PAR NRO. 5 X E Y e. s 6 INGRESE PAR NRO. 6 X E y

0.6 6.32 II\JGRESE PAR NRO. 7 X E y 0.7 6.61 INGRESE PAR NRO. 8 X E y

0.8 6.6 INGRESE PAR NRO. 9 X E Y 0.9 6.8 1

INGRESE PAR NRO. 10 X E y 1 7 INGRESE PAR NRO. llX E y

1.1 6.2 INGRESE PAR NRO. 12 X E y

1. 2 7. 76 INGRESE PAR NRO. 13X E y

1.3 7.6 INGRESE PAR NRO. 14 X E y

1.4 7. 8 INGRESE PAR NRO. 15 X E Y 1.5 8.3

RESULTADOS

PENDIENTE = 2.0054 INTERSECCION CON EL EJE Y = 4.9924

N X Y(AJUSTADO) 1 .1000 5.1929 2 .2000 5.3935 3 .3000 5.5940 4 .4000 5.7945 5 .5000 5.9951 6 .6000 6.1956 7 .7000 6.3961

113

Page 115: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

8 .8000 6.5967 9 .9000 .6. 7972 9

10 1.0000 6.9977 11 1.1000 7.1983 7 12 1.2000 7.3988 6

13 1.3000 7.5993 14 1.4000 7.7999 4 . 15 1. 500@ 8.0@@4

3 ..

2

.... ···--

o o 0.2 0.4 0.6 0.8

Por lo tanto la relación entre las dos variables según el ajuste es:

y= Sx +b

Codificación:

La codificación que genera los resultados mostrados es la siguiente:

!AUTOR: LIC. JORGE LUIS GODIER AMBURGO

PROGRAM REGRESION LINEAL

REAL(4) X(100),Y(108)JN,Y2(100)

WRITE(*,*)' AJUSTE LINEAL MINIMOS CUADRADOS' WtlTTC/* *) • 1

1"'\..1. I·L.-\ J

1.2

WRITE(*J*)' INGRESE NUMERO DE PARES PARA AJUSTE (MAX (108))' READ(*J*)N WR!TE(*,*)' ING~ESE PARES UNO POR UNO' DO I=1,N WRITE(*J*)'INGRESE PAR NRO. 'JI,' X E V' READ(*, *)X(I), V(I) END DO SUMA1=8 SUMA2=0 SUMA3=0 SUMA4=0 DO I=1JN SUMAl=SUMAl+X(I) SUMA2=SUMA2+Y(I) SUMA3=SUMA3+X(I)*X(I) SU~A4=SUMA4+X(I)*Y(I) END DO A=(SUMA4-(SUMA1*SUMA2)/N)/(SUMA3-(SUMA1*SUMA1)/N) B=(SUMA2-A*SUMA1)/(N) WRITE(*,*) ' RESULTADOS'

114

1.4 1.6

Page 116: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

WRITE(*J15)A WRITE(*J16)8 WRITE(*J*) N X Y(AJUSTADO)' ! REEVALUACION DE LA FUNCION OPEN (1JFILE~'REGLIN.TXT') DO I=1JN Y2(I)=A*X(I)+B WRITE(*,10)I,X(I),V2(I) WRITE(1,10)IJX(I),Y2(I) END DO 10 FORMAT(1XJI3J2(F8.4,1X)) 15 FORMAT(1XJ' PENDIENTE ='JF8.4) 16 FORMAT(1X,' INTERSECCION CON EL EJE V ='JF8.4) END

4.3 Ajuste polinomial

Si consideramos el caso de datos cuya tendencia no es lineal, es necesario

determinar parámetros de ajuste correspondientes a funciones no lineales; sin

embargo, el método de mínimos cuadrados sigue siendo aplicable dado que para esta

situación las ecuaciones normales siguen siendo lineales. En el desarrollo, n se usa

como el grado del polinomio, y N como el número de pares de datos. Resulta evidente

que cuando tenemos que N = n +1; entonces el polinomio pasa exactamente por cada

punto, de modo que en lo sucesivo siempre se tendrá que N > n+1. Se supone la

relación funcional:

(4.5)

Con errores definidos como:

(4.6)

Nuevamente se usa Y¡ para representar el valor observado o experimental

correspondiente a X¡ con X¡ libre de error. Se minimiza la suma de los cuadrados.

(4.7)

115

Page 117: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

En el mínimo, todas las derivadas parciales 8S/8a0, 8S/8a1, BS/Ba2 , ... ....... , BS/Ban son

iguales a cero; al escribir, las ecuaciones para lo anterior se obtienen n+1 ecuaciones:

(4.8)

Al dividir entre -2 y reordenando se obtienen n + 1 ecuaciones normales a resolver

simultáneamente:

a 0N +a1 LX; +a2 Ix~ + ......... +anix~ = LY; aoLX; +a¡Ix~ +azix~ + ......... +anixtl = Ix;Y;

a 0 Ix~ +a1 LX~ +a2 Ix~ + ......... +anix~+2 = ¿x¡Y; (4 .. 9)

!'1 '"' n '"' n+l '"' n+2 '"' v 2n _ "\' V ny ~aL.., X; +a¡.L.,X; +az.L.,X; + ......... +an.L.."~; ~L..."~; i

Al expresar tales ecuaciones en forma matricial se observa un patrón interesante en la

matriz de coeficientes.

N Ix; ¿x; Ix~ Ix~ a o IYi

LX; ¿x; ¿x; Ix~ Ixrl a¡ IxY 1 1

¿x; ¿:x~ ~>t Ix~ L n+2 x. 1 az :¿x;Y; (4.10)

~>~ L:x~+l L:x~+2 L:x~+3 ....... :¿x;n an L:x?Y;

Estas ecuaciones particulares presentan una dificultad adicional en el sentido

de que tienen la propiedad indeseable denominada mal condicionamiento. Su

resultado es que Jos errores por redondeo al resolverlas provocan errores grandes en

las soluciones.

116

Page 118: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

La matriz de la ecuación (4.1 O) se denomina matriz normal para el problema de

mínimos cuadrados; para resolver el sistema puede aplicarse eliminación Gaussiana.

Ejemplo:

Usando el método de mínimos cuadrados para regresión cuadrática, ajuste la

siguiente tabla de datos experimentales, y determine la relación entre las dos

variables.

Se emplea en este caso la eliminación de Gauss y sustitución regresiva, ya que

se trata de un sistema de tres ecuaciones con tres incógnitas.

-·.· )(

0.10 3.73 · .. _·-.·~-_ ... : .. ·~-<-·-.-0~20 4:4a···_-_-...... ·. 0.30··.-. 6.40

'o.-48 6 60

()_~(} 7:00 .

O.~()i 9.60 -.... :

().70 11.40

o.so. t4.fo o.9b 15.60

t:óo 1á.áo•-·

20.00

18.00

16.00

14.00

12.00

10.00

8.00

-¡ i

l ¡ 1 1

6.00 1 i i 4.00 - -- (

1 200 . i i 0.00 +-------,-----,-------¡------r--------r---11

0.00 0.20 0.40 0.60 0.80 1.00 1.20

Los resultados obtenidos con el programa en Fortran son los siguientes:

AJUSTE CUADRATICO MINIMOS CUADRADOS

INGRESE NUMERO DE PARES PARA AJUSTE (MAX (100)) 10

INGRESE PARES UNO POR UNO INGRESE PAR NRO. 1 X E y

0.1 3.73 INGRESE PAR NRO. 2 X E y

0.2 4.4 INGRESE PAR NRO. 3 X E y

0.3 6.4 INGRESE PAR NRO. 4 X E y

o. 4 6.6 INGRESE PAR NRO. 5 X E Y 0.5 7 INGRESE PAR NRO. 6 X E y

117

Page 119: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

o. 6 9. 6 INGRESE PAR NRO. 0.7 11.4 INGRESE PAR NRO. 0.8 14.1 INGRESE PAR NRO. 0.9 15.6 INGRESE PAR NRO. 1.0 18.3

RESULTADOS

SUMATORIAS

SUMA1 EX (I) SUMA2 EX(I)**2 SUMA3 EX(I)**3 SUMA4 EX(I)**4 SUMAS EY(I) SUMA6 EY (I) *X (I) SUMA7 EY(I)*X(I)**2

MATRIZ NORMAL

7 X E Y

8 X E Y

9 X E Y

10 X E Y

5.500000 3.850000 3.025000 2.533300 97.130000 66.673000 52.597300

10.0000 5.5000 3.8500

5.5000 3.8500 3.0250

3.8500 97.1300 3.0250 66.67_30 2.5333 52.5973

A 11. 8484 B ~ 3.0292 e 3.4853

N X Y (AJUSTADO) 1 .1000 3.9067 2 .2000 4. 5651 3 .3000 5.4604 4 .4000 6. 5927 20

5 .5000 7. 9620 18

6 .6000 9.5683 16

7 .7000 11. 4115 14

8 .8000 13.4916 12

9 .9000 15.8088 10

10 1.0000 18. 3\5.2_9 8

6

4

2

o o 0,2 0.4

118

0,6 o.~

Page 120: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

Codificación:

La codificación que genera estos resultados es la siguiente:

!AUTOR: LIC. JORGE LUIS GODIER AMBURGO

PROGRAM REGRESION_CUADRATICA

REAL(4) X(100),Y(100),N,Y2(100),A(100,100),A1(100,100),XSOL{100)

WRITE(*,*)' AJUSTE CUADRATICO MINIMOS CUADRADOS' WRlH(*, *)'' WRITE(*,*)' INGRESE NUMERO DE PARES PARA AJUSTE (MAX (100))' READ(*,*)N WRITE(*1 *)' INGRESE PARES UNO POR UNO' DO I=l,N WRITE(*, *)' INGRESE PAR NRO.', I,' X E V' READ(*,*)X(I),Y(I) END DO SUMA1=0 SUMA2=0 SUMA3=0 SUMA4=0 SUMA5=0 SUMA6=0 SUMA7=0

CALCULANDO SUMAS DO I=1 1 N SUMA1=SUMA1+X(I) SUMA2=SUMA2+X(I)*X(I) SUMA3=SUMA3+X(I)*X(I)*X(I) SUMA4=SUMA4+X(I)*X(I)*X(I)*X(I) SUMAS=SUMAS+Y(I) SUMA6=SUMA6+X(I)*Y(I) SUMA7=SUMA7+X(I)*X(I)*Y(I) END DO WRITE(*,*) RESULTADOS' WRITE(*,*)'' WRITE(*,*) SUMATORIAS' WRITE(*,*)'SUMAl = EX(I) ',SUMAl WRITE(*, *) 'SUMA2 = EX(I)**2 ',SUMA2 WRITE(*,*)'SUMA3 = EX(I)**3 ',SUMA3 WRITE(*,*)'SUMA4 EX(I)**4 ',SUMA4 WRITE(*,*)'SUMAS = EY(I) ',SUMAS WRITE(*,*)'SUMA6 = EY(I)*X(I) ',SUMA6 WRITE(*,*)'SUMA7 = EY(I)*X(I)**2',SUMA7

119

Page 121: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

INGRESANDO EN MATRIZ ML:;3 A(1,1)=N A(1, 2).=SUMA1 A(1;3)=SUMA2 A(1,4)=SUMAS A(2,1)=SUMA1 A(2,2)=SUMA2 A(2,3)=SUMA3 A(2,4)=SUMA6 A(3,1)=SUMA2 A(3,2)=SUMA3 A(3,3)=SUMA4 A(3,4)=SUMA7 WRITE(*,*)'' WRITE(*,*) MATRIZ NORMAL' WRITE(*, *)'' DO 1=1,3 WRITE(*,38)(A(I,J),J=1,4) END DO

COPIANDO EN LA MATRIZ DE PASO 28 LP=2

LN=LP-1 DO I=1JM1 DO J=1,M1+1 Al(I,J)=A{I,J) END DO END DO FIN DEL COPIADO HACIENDO LA ELIMINACION

21 DO I=LP,Ml WPAS01=A1(I,LN) WPAS02=A1(LN,LN) DO J=1,M1+1 A1(I,J)=A1(I,J)-(WPAS01/WPAS02)*A1(LN,J) END DO END DO FIN DE LA ELIMINACION REPITIENDO EL PROCESO LP=LP+1 LN=LP-1 IF (LP.GT.Ml)THEN NK=M1 GOTO 27 ELSE GOTO 21 END IF

FIN DE REPETICION SUSTITUCION REGRESIVA

27 SU~1A=8

DO J=l,Ml SUMA=SUMA+Al{NK,J)*XSOL(J) END DO

120

Page 122: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

XSOL(NK)=(A1(NK,M1+1)-SUMA)/A1(NK,NK) NK~NK-1

IF (NK.LE.0) THEN GOTO 28 ELSE GOTO 27 END IF FIN DE SUSTITUCION REGRESIVA

28 C=XSOL ( 1) B=XSOL(2) AA=XSOL(3) !PRESENTANDO WRITE(*,15)AA WRITE(*,16)B WRITE(*,17)C WRITE(*,*) N X Y(AJUSTADO)' REEVALUACION DE LA FUNCION Y SALIDA POR ARCHIVO OPEN {1,FILE::::'REGCUA.TXT') DO I=1,N Y2(I)=AA*X(I)**2+B*X(I)+C WRITE(*,10)I,X(I),Y2(I) WRITE(1,10)I,X(I),Y2(I) END DO

30 FORMAl (1XJ4(F8.4J1X)) 10 FORMAT(1XJI3J2(F8.4,1X)) 15 FORMAT(1X,' A =',F8.4) 16 FORMAT(1X,' B =',F8.4) 17 FORMAT(1X,' C =',F8.4)

END

4.4 Linearización de funciones

Las técnicas de regresión no lineal, son apropiadas para ajustar ecuaciones a

datos experimentales dé mañera directa. Sin emoargo, una alternativa simple es usar manipulaciones matemáticas para transformar las ecuaciones en una forma lineal.

Después, se puede emplear la regresión lineal simple para ajustar las ecuaciones a

datos reales; en esta ocasión, nos centraremos en la linearización de formas

conocidas en ciencias como las funciones exponenciales y potenciales.

121

Page 123: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

Funciones potenciales y exponenciales

La función potencial, es aquella en que la variable dependiente está

relacionada con la variable independiente, mediante una potencia de ésta. Muchas

leyes en física trabajan con este tipo de funciones, su ecuación matemática es: ·

(4.11)

Se pueden considerar algunos casos especiales:

a. Si n = 1, se obtiene: y = kx, que viene a ser la ecuación de una recta que pasa

por el .origen.

b. Si n = 2, se obtiene: y = lo2, llamada función cuadrática, correspondiendo su

grafica a una parábola.

c. Si n = 3, se obtiene y= kx3, llamada función cúbica.

d. Si n = -1, se obtiene y = klx, llamada función hiperbólica, correspondiendo su

gráfica a una hipérbola.

e. Si n = -2, se obtiene y = klx2, que también es una función hiperbólica,

denominándose su gráfica hiperbólica cuadrática.

La función exponencial, es aquella en que la variable dependiente se relaciona

exponencialmente con la variable independiente. La ecuación matemática que rige

esta función es:

y= Kanx (4.12)

Técnica de linearización

La forma científica de relacionar las variables en estudio es expresándolas

mediante una ecuación matemática. Para determinar esta ecuación debemos

considerar lo siguiente:

1. En la toma de datos respecto a algún fenómeno obtenemos pares de datos con

cierta variabilidad (grande ó pequeña); estos conforman la nube de puntos, en

primera instancia una inspección visual sugiere una posible relación entre x e y.

122

Page 124: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

2. La estrategia apropiada es derivar una función aproximada que ajuste la

tendencia general de los datos sin ajustar necesariamente con los puntos

individuales.

Para demostrar la linearización de una ecuación potencial, usaremos como ejemplo la

gráfica de la ecuación (4.12), cuando n > 1.

Ecuacion Potencial [y=2x**2]

250.0 .

200.0 .

150.0 :

>-100.0 .•

50.0 • 4>-

. 4.--4··· 0.0 0 ··•·• .-'$> ··'·' ............. .

0.0 2,0 4.0

Figura (4.3). Grafica de la función y= 2x2.

6.0

X

RO 10.0

El proceso requiere aplicar ellog1o en ambos lados de la ecuación (3.30), así:

Aplicando las propiedades del logaritmo, queda:

log10 y= nlog10 x + log10 k (4.13)

Evaluar esta ecuación y realizar un ajuste sobre los datos linearizados permitirá

conocer los valores desconocidos de n y k en la ecuación potencial. La grafica de la

ecuación (4.13), es una línea recta, tal como se ve en la figura (4.4).

123

Page 125: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

Linearizacion logy=21ogx+log2

2.50

2.00

~ 1.50 >-Oí .Q 1.00 -...

0.50

0.00 +-------,-----,----,-------,-----.--------,---------,

02 0.4 0.6

log(x)

Figura (4.4). Grafica de la función potenciallinearizada.

o.a 1.~

Aquí la pendiente nos proporciona el valor de n y la intersección con el eje y

corresponde ai logaritmo de k.

Para demostrar la linearización de una ecuación exponencial, usaremos como ejemplo

la gráfica de la ecuación (4.12), cuando a= e (base del logaritmo neperiano).

400.0

350.0

300.0

250.0

> 200.0

150.0

100.0

50.0

0.0

0.0

ecuacion exponencial y=2.5 e**0.5x

... A---~---4>···-<$-···

2.0 4.0

~-.- _. .. 6.0

X

Figura (4.5). Grafica de la función y= 2.5e0·5x.

124

B.O 10.0 12.0

Page 126: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

El proceso para este tipo de ecuaciones, requiere aplicar el logaritmo en base a = e,

es decir el logaritmo natural a ambos lados de la ecuación (4.12), así:

loge Y = loge (kenx) => ln y = ln(kenx) (4.14)

Aplicando las propiedades del logaritmo, queda:

lny =nx+lnk (4.15)

Evaluar esta ecuación y realizar un ajuste sobre los datos linearizados nos permitirá

conocer los valores desconocidos de n y k en la ecuación exponencial. La grafica de la

ecuación (4.15), es una línea recta, tal como se ve en la figura (4.6).

Linearizacion lny=nx+lnk

7.0

6.0 • -~ 5.0 • -~· .• -~·.

~-.

>- 4.0 • -·· ••• &:: • -~·. - 30 .,. ••

... . •... ·v

2.0 •• -~ ••• • • 4).

1.0 ~~ ••

0.0+-------~------~--------~------~~----~-------.

0.0 2.0 4.0 6.0

X

8.0

Figura (4.6). Grafica de la función exponenciallinearizada.

10.0 12.0

Aquí la pendiente nos proporciona el valor de n y la intersección con el eje y

corresponde al logaritmo natural de k.

125

Page 127: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

Ejemplo a:

Linearizar y ajustar para obtener la relación entre las variables registradas en la

siguiente tabla, si se observa tendencia exponencial:

·:x-···.·.·. •· v < >o.1dÓ··.· .. ·. 12.214

>ó.3oo·• 1s.221

. a.5ba/\ · · 27.183 .: .............. ..

• 8.1ao •-··.·-•·· .· 40;552 · . _., ·.·.·. · ....

...• _ .• __ ._ .•....•.. o.•

1•.•_-.•-•_·····.· __ ·s ___ ·_

1•.-•.-.·.o0···-·····_o

0 ___ .•. _ ....••••... _·_ .•• _ •. ·.·.·._·. ·.·. 60.496

. 90~250>

1.36() 134.637 .......... · .. ·. 1 :soó 200,855

J.7óó 299.641

1~~6() 447:012

500.000 ····-············ .. ·······•············· ··················-····-·--·--·········--·--·-···············"'·······--·-··-····-·····-·-········--·····-··¡

450.000 ...... l ¡

400.000 . i 1

350.000 .... 1 l

300.000 ... 1

250.000 .... "·-· .. .. . ... -· .¡ ¡

WMOO 1 150.000 ....... ¡

':::: ·~······· 1 0.000 +-----..,-------,------,-------ii

0.000 0.500 1.000 1.500 2.000

Los resultados obtenidos con el programa en Fortran son los siguientes:

LINEARIZACION EXPONENCIAL Y=K*EXP(NX)

INGRESE NUMERO DE PARES PARA AJUSTE (MAX (100)) 10 INGRESE PARES UNO POR UNO

INGRESE PAR NRO. 1 X E Y 0.1 12.214 INGRESE PAR NRO. 2 X E y

0.3 18.221 INGRESE PAR NRO. 3 X E y

0.5 27.183 INGRESE PAR NRO. 4 X E y

0.7 40.552 INGRESE PAR NRO. 5 X E y

0.9 60.496 INGRESE PAR NRO. 6 X E y

1.1 90.25 INGRESE PAR NRO. 7 X E Y

1.3 134.637 INGRESE PAR NRO. 8 X E Y 1.5 200.855 INGRESE PAR NRO. 9 X E y

1.7 299.641 INGRESE PAR NRO. 10 X E y

1.9 447.012

126

Page 128: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

RESULTADOS

EXPONENTE N 2.0000 COEFICIENTE K 10.0000

N 1 2 3 4 5 6 7 8 9

10

X y (LINEARIZADO Y AJUSTADO) .1000 2.5026 .3000 2.9026 .5000 3.3026 7.00

.7000 3.7026 6.00

.9000 4.1026 1.1000 4. 5 02 6

5.00

1.3000 4. 902 6 4.00-

1.5000 5.3026 3.00

1. 7000 5. 7 02 6 1.9000 6.102 6

2.00

1.00

0.00

0.00 0.50 1.00

Codificación:

La codificación que genera estos resultados es la siguiente:

!AUTOR: LIC. JORGE LUIS GODIER AMBURGO

PROGRAM LINEARIZACION EXPONENCIAL

REAL(4) X(188),Y(188),N,Y2(188),NN,K

WRITE(*,*)' LINEARIZACION EXPONENCIAL Y=K*EXP(NX)' WRITE( *, *)''

1.50

WRITE(*,*)' INGRESE NUMERO DE PARES PARA AJUSTE (MAX (188))' READ(*,*)N WRITE(*,*)' INGRESE PARES UNO POR UNO' DO I=l,N WRITE(*,*)'INGRESE PAR NRO.' ~I,' X E V' READ(*,*)X(I),Y(I) Y(I)=LOG(Y(I)) END DO SUMA1=8 SUMA2=8 SUMA3=8 SUMA4=8 DO I=l,N SUMAl=SUMAl+X(I) SUMA2=SUMA2+Y(I) SUMA3=SUMA3+X(I)*X(I) SUMA4=SUMA4+X(I)*Y(I) END DO NN=(SUMA4-(SUMA1*SUMA2)/N)/(SUMA3-(SUMA1*SUMA1)/N) K=EXP((SUMA2-NN*SUMA1)/(N)) WRITE(*,*) ' RESULTADOS'

127

2.00

Page 129: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

WRITE(*J15)NN WRITE(*J16)K WRITE(*J*) N X Y( LINEARIZADO Y AJUSTADO)' !REEVALUACION DE LA FUNCION OPEN (1JFILE='LINEXP.TXT') DO I=1JN Y2(I)=NN*X(I)+ LOG(K) WRITE(*J10}IJX(I)JY2(I) WRITE(1,10)IJX(I),Y2(I) END DO 10 FORMAT(1X,I3J2(F8.4,1X)) 15 FORMAT(1X,' EXPONENTE N =',F8.4) 16 FORMAT{1X,' COEFICIENTE K ='JF8.4) END

Ejemplo b:

Linea rizar y ajustar para obtener la relación entre las variables registradas en la

siguiente tabla, si se observa tendencia potencial:

X y

0.200 <ó.3ao··· 0.400

0.040

0.320

1 5.000

!4.000 .•.. 0.500·.···.·. 0~625< > 1

0.600 1.080 t 3.000 "'- .....

. . ·. cr:too t.7'1p · 1

0.800 2.560 i 2..000 ().9ob · ._--._ $,64$ < ¡ 1 000 5 000 \ 1000 ~-···~··-~-~·----··-··-

..... ._ .. ___ .. _.: ................ " ... , __ ._._ ....... .-..... : .................... __ 1 .

!

128

Page 130: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

Los resultados obtenidos con el programa en Fortran son los siguientes:

LINEARIZACION POTENCIAL Y=K*X**N

INGRESE NUMERO DE PARES PARA AJUSTE (MAX (100)) 10 INGRESE PARES UNO POR UNO

INGRESE PAR 0.1 0.005 INGRESE PAR 0.2 0.040 INGRESE PAR 0.3 0.135 INGRESE PAR 0.4 0.320 INGRESE PAR 0.5 0.625 INGRESE PAR 0.6 1.080 INGRESE PAR 0.7 1.715 INGRESE PAR 0.8 2.560 INGRESE PAR 0.9 3.645 INGRESE PAR 1.0 5.000

RESULTADOS

EXPONENTE COEFICIENTE

N X

1 -1.000

2 -0.699

3 -0.523

4 -0.398

NRO.

NRO.

NRO.

NRO.

NRO.

NRO.

NRO.

NRO.

NRO.

NRO.

N K

3.0000 5.0000

1

2

3

4

5

6

7

8

9

10

X E y

X E y

X E Y

X E Y

X E y

X E y

X E y

X E y

X E y

X E y

Y (LINEARIZADO Y AJUSTADO)

-2.301

-1.398

-0.870 -0.495

··· ····- -o.so?

5 -0.301

6 -0.222

-0.204

0.033 -1.200

/' -1.ooo -o.soo .. -o_~()() .. ·- :o_;O() ,/o~~r; o.oor~_000

7 -0.155

8 -0.097

9 -0.046

"10 0.000

0.234 0.408

0.562

o. 699

129

................ .,. -··---·-~-

. ,.-------·-·-

,, .,·"'

·- -1;000 ·-'

- ~1:500·""

-2.000 _:

Page 131: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

Codificación:

La codificación que genera estos resultados es la siguiente:

!AUTOR: LIC. JORGE LUIS GODIER AMBURGO

PROGRAM LINEARIZACION POTENCIAL

REAL(4) X{100),Y(100),N,Y2(100),NN,K

WRITE(*,*)' LINEARIZACION POTENCIAL Y=K*X**N' WRITE(*,*)'' WRITE(*,*)' INGRESE NUMERO DE PARES PARA AJUSTE (MAX (100))' READ(*,*)N WRITE(*,*)' INGRESE PARES UNO POR UNO' DO I=1,N WRITE(*,*)'INGRESE PAR NRO. ',I,' X E V' READ(*,*)X(I),Y(I) Y(I)=LOG10(Y(I)) X(I)=LOG10(X(I)) END DO SUMA1=0 SUMA2=0 SUMA3=0 SUMA4=0 DO I=1,N SUMA1=SUMA1+X(I) SUMA2=SUMA2+Y(I) SUMA3=SUMA3+X(I)*X(I) SUMA4=SUMA4+X(I)*Y(I) END DO NN=(SUMA4-(SUMA1*SUMA2)/N)/(SUMA3-(SUMA1*SUMA1)/N) K=ALOG10((SUMA2-NN*SUMA1)/(N)) WRITE(*,*) ' RESULTADOS' WRITE(*,15)NN WRITE(*,16)K WRITE(*,*) N X Y {LINEARIZADO Y AJUSTADO)' !REEVALUACION DE LA FUNCION OPEN (1,FILE='LINPOT.TXT') DO I=1,N Y2(I)=NN*X(I)+ LOG10(K) WRITE(*,10)I,X(I),V2(I) WRITE(1,10)I,X(I),Y2(I) END DO 10 FORMAT(1X,I3,2(F8.4,1X)) 15 FORMAT(1X,' EXPONENTE N =',F8.4) 16 FORMAT(1X,' COEFICIENTE K =',F8.4) END

130

Page 132: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

Problemas de aplicación

Los siguientes problemas pueden resolverse empleando los algoritmos

propuestos para cada método presentado, es indispensable para una solución usando

el computador elaborar programas en el Lenguaje Fortran.

a. El siguiente problema requiere de una regresión lineal por Mínimos

Cuadrados.

Cierto móvil se desplaza con aceleración constante; realizando una medición con un radar se cuenta con veinte (20) datos de su velocidad respecto al tiempo. Se requiere:

a) Calcular el módulo de la aceleración y velocidad inicial.

b) Predecir cuál será su velocidad luego de una hora de haber partido.

e) Realizar una gráfica en Excel de los datos y la recta de ajuste.

· "Be;.n;;·s:·" · ~veYoéi'did" .... ,. ü~m'Pa·······--· veYadiCigCi.,., ... (s)· .·.·.· .. · <ihfs) ·•· .··.· .. · .. ·.· .. ·.·.(s) (rtJ/~)········

ú.56 15,80 5 50 28,80

.. 17;0() . s:aa 31;Jo .·.··•·•

4,5Q ', 5,oo···.·······

20,70

···.······18,38

>.··.i·.. 8,oq .···. · ·. ·.· 34,22 .. . · ... :·

· .. 8,50 34,01

2500 .·· .. ··. ·. ·'· ......

22,90

28,60'··

b. El siguiente problema requiere de una regresión cuadrática por Mínimos

Cuadrados.

... _ ...... . •.•· .. · (m)

. 0,50 17,15

. t,oo · .. ·.·. ··. 26,85·····.

•<1,50 ••... 20,15

54,55 · .. · ... · .···•·· ··· 7b.f5 · .. ·.·· .·

. ················i;¿8 \.··· 78,35

. 4,d6····.

Las mediciones realizadas por un radar indican que cierto móvil se desplaza con aceleración constante; el equipo ha logrado registrar la posición del objeto con respecto al tiempo, tal como se muestra en la tabla adjunta. Se requiere:

a) Calcular la posición de partida del objeto respecto al radar, su velocidad inicial y la aceleración que tiene.

b) Predecir cuál será su posición luego de una hora de haber partido.

e) Realizar una gráfica en Excel de los datos y la curva de ajuste .

131

Page 133: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

:'?'~(55'''''''''''''~''81":55'"~----····

. 5.6o·· .. ·.··.· · 1qa,9s . 5,50 ••.. 134,15

·.. -... :.

< 6;QO · · 146,35

·.:.·.·· .. 6 so.· '

1-39,15

·· .... f.ód .. f48;5:f· ;,50:····:. 177,55

8,0()' .··.· i94;1i9 .

á.so i · 226,35

·• ~.óa>· >240.1!) .. ·· .... ::

·. 9,50 257,55

.·. 10,00 . 275;55

c. El siguiente problema requiere de una regresión polinómica de tercer

grado por Mínimos Cuadrados.

-:."·." ·-<::--- .. -_::·.

.· {),!58b. ·.· ... ·. ~.()o{) .•.. · ..

·.· 1.5bo · .. ··· ... 2,000 ... •· 1.soo>··

.· ...... 5.500/',.

6.ooo··· ·

493,810 ...

498,328

·.· ... ·.·492;440: •...• :.·· .. •.· ..

263,538

·· .. ··.·.·• > 28~,9$0•: 171,008

· ·.· .. ,;1o2~.ato···

-1068,713 ·.· · •·.· .. 8;ooo . · .. ·.·.·. ~15$6,oop .·

·•·····. ·····a.sqo·· -2350,343

Las mediciones realizadas por un sensor de campo magnético indican que cierto material varia el módulo de su campo conforme transcurre el tiempo; el equipo ha logrado registrar valores de campo con respecto al tiempo, tal como se muestra en la tabla adjunta. Se requiere:

a) Calcular la relación matemática que relaciona el módulo de campo magnético con el tiempo.

b) Predecir cuál será su magnitud luego de transcurrida una hora.

e) Realizar una gráfica en Excel de los datos y la curva de ajuste.

132

Page 134: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

·~·::~;·9-.ooo·::··c·"··~·-·~:2a5T741·a·········~····w·.

9,50Ó . -3052,873

·";·•·~•••:;:_.::::.~,: ..... ;,c,c•: ··~--~~~gK·.i.?gL.:;_:,•;•.•••

d. La Ley de Beer-Lambert explica que hay una relación exponencial entre

fa transmisión de luz a través de una sustancia y fa concentración de fa

sustancia, así como también entre la transmisión y la longitud del cuerpo

que fa luz atraviesa. Si conocemos 1 (distancia que la luz atraviesa por el

cuerpo) y a (coeficiente a absorción), el valor de e (concentración de fa

sustancia),. puede ser deducida a partir de fa cantidad de luz transmitida

10, respecto de una luz incidente de intensidad 1, ver figura (4.7).

Es posible calcular el coeficiente de absorción a., utilizando:

47tK a.=--

A

Donde 'A, es la longitud de onda del haz incidente y K es el coeficiente de

extinción; dado esto, para cierta sustancia se consiguió los siguientes datos:

·intei15'iéiaa··¡·················¡·r9oa···4-.2s3···:··a:2s4·····a.os1·······~·.:•a.oo4·--s:9á9x1·cf4 ·--·s:330xfo:s·

~~~~etracrónT~t~;'oo~ ~ ~2·oso-+sj3403_ :roso· ,~;f4Í{- so¡o···· · ·· 7:120 · ~ (cm)

.. -..... , ..................... , . .., .... , ................... ,., .. , ............ ~- ................ :_,.;:.· :·.;, .-.. ~~;~~( ..... ;~~.:.~--~~---~: .. ;~ ....... , ... _ ......... ·''' ................ -... ~~ :.: .,.~~--~~-~-_: .... :~: ·.:-.--~---~'"·'""''· ............. _. .... , ......... :~~-~-.-: ...... ·::...,: -:~--~.- .. :~ ___ ·;:.:·,,:.,..,, .. ·.·-·· ,, .... ._,,,, .. _,..,...._,, ... _._,,._ ....... •····--~·-~~-.~"'"" .·.·.~·.-· •.. ,, ~ '"""·' .~,-~··"''""•

133

Page 135: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

. . · .. · .. ' ·-~ ..... - ":-+~-,~,···:-:

~,.·. ¿•,'--:· .( \¡·:t:.;: ·.;·~-~ /'- ........ ,·~· .'.:/:

' " ·t~ _._.¡

" e-- '"" -~ •" , ... "" \"

- .~ ... l

~· --- -~" - ...........

pd ...

lo Jl

Figura (4. 7). Diagrama de la absorción de un haz de luz atravesando una

cubeta de ancho l.

Con los datos de la tabla y mediante una linearización calcule la intensidad

liiminosa lntidente 10 y la concentración de la sustancia e, si se sa:be que el coeficiente

de absorción de la muestra liquida es 0.4 cm·1.

e. Según la Ley de Decaimiento Exponencial, la actividad inicial Ao de un

isótopo cualquiera disminuye según la ecuación:

Dónde: A, es la actividad en un tiempo t dado y medida en Becquerelios

(1 Bq = 1 desintegración/segundo); le es la constante de decaimiento en

unidades de años·1 y está relacionada con el tiempo de vida media por

t112 = 0.693//c; mediante una linearización determine la actividad inicial Ao

y el tiempo de vida media en años de los isótopos 1921r y 22Na, si

conocemos los siguientes datos de actividad y tiempo.

lsotopo 1921r ......................... '"5""'""'" ............. .- .• ,

A (x10 Bq) .· 115 .. 183 5.333 >0.247 0.011 ··~·.····· "'• .,, .-.•M· .,._, .• ,J."• ·."· ~ •.-• ., • ., • .-... ·•· .-..,. .......... :::-.:~·;,:..;:.~w-.-.~· .. ~ <·.: .-: -:~;:.-.~: ·.: ~:,: : ••.• ~ ''"'" .,, .,,..,_._. ., .. , .• ._ • ._ • .,..~~,-:;: ~~:~ ... :.: :: ··'•· .: ... :;:;: .;:~:~: .. ~:~,:: , .. , ... , ., . .,,._..•M•••·.w ., ..... , .......... •'• . ..,._. -<-•.-.., •• ,,._. ··••'" ,,.,

0.001

t (años) f ......... ·-~--..................................... '"'"'";:·-...·.,:·.·.-~:·;::;<_":":·. :·:.:~:~ ........ , ................... , ........ ,.~_:,_, .. :·~i";:_···:~.:~-~;-~ .. -:.·· .. <_·;:(· ......................... ·····-----·--··· ................ .

1.9 3.7 4.6

134

Page 136: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

lsotopo22Na ,.,., .• ,, .... _._._ .. _,.,tr······---·-·--.. --, .. , .. ._,._,._,.,.,,_ .. :,··-·-:··· .. ·· ., .. "_,.,.,._., .. , ... ,-.. "···"··· .. , .... , ... , .... _,,.,._ ....... ._, . ._,_ .. ,.,, .. , ... _,., ....... ,.,,, ...... ,,,,.,,.,,, . .-.,., .. " ..

A (x10 ~q) :~1}.E)35 182.698 107:107 77.745 62.792

_ --·--w·-- . -• LY __ > __________ " _________________________ _ 16

-f. Calcular por el método de Eliminación de Gauss y sustitución Regresiva

las intensidades que circulan por cada una de las mallas del siguiente

circuito:

14V

40hm

60hm

1-------1 ~/ lOV ~

Il

20h1U

Figura (4.8). Circuito con dos mallas.

g. En el siguiente gráfico se presenta un sistema de cinco poleas y una

barra en equilibrio. Calcular mediante el método de descomposición LU,

las tensiones en las cuerdas teniendo como dato que el peso de la barra

suspendida es 1 OON y la masa de las poleas A, B, e es: 1 Kg, · D es: 2 Kg

y E es: 3Kg.

Figura (4.9). Configuración de poleas.

135

Page 137: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

h. Los parámetros registrados por dos sensores uno de presión y otro de

temperatura para cierto gas se muestran en la tabla (3.1 ), calcule

mediante una linearización cuál es la relación entre las variables

involucradas.

Tabla (4.1), datos de presión y temperatura.

·····~-~fé'mi:l~railira:··:--·········F>r:esió·r:r··-················:··ra·;;,l:ia·¡.aiur-a:··.····--········-···rrésióñr·········--

·. (°C) . ·. (Pa) . (°C) . (pa)

· ..•.•. topoo

1.1000 . . .-.

·1.2000

. 1~3000 . . . · ..... .

1Aaoa · 1.5000

·1.6006 .. ·.· ..

5.0000

6~6550 .· .. ·

8.6400

1ó.985o· .··.: ....

13.7200

·. 16.8150 ..

··.·.· .. ·.·. t:ioób .··· 1:aoob ·· .. ·.· .. · ·

20.4800

24;p650

29.1600

. ·. ·.·.

2.0000··. ;_Ho()fu.··.:·.··.· 2:2000····· .. ·

2,3000:• .•. ·.:·.·.·.··

2.400Q .

·.· 2~5ooo·•·•·

.·.· ·. 34~2950 .•

40.0000

3,§ooo ·•···

. 3:6000

46:3o5o>·••····.···.· 3.7ooo·.· .. · ... ·.·.

s3.24oo · .. · .. ·.··< á.aodo · ..... 60.8350 .· ··••·• 3~9000

69.1200 · .. ··.··.·.·.·.·.·.··.·.·.·.· ... ·4:0000·. · .. ·

·. 78J2SO .. •'·''·'~ ···--~ --~~- .. ,.., ..... , .. , ,_,,,,,:.,: .... ¿,_ ~:·.;, .. , ., ....... ,. , ... · .. : .... ,.~ .. ,.-:. ,., .......... .; . .,.

87.8800

98;4150

109.7600

•·.··· 121.9450. 135.0000

148.9550.

163.8400

·179.6850:

196.5200

214:3750 .

233.2800

253:2650'.

274.3800

· .. 296:5950·.

320.0000

i. El crecimiento de una población de bacterias medido en número vs.

tiempo muestra los datos presentados en la tabla (4.2), utilice una

!inearización para determinar cuál es la tasa de ereeimiente par mes.

136

Page 138: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

Tabla (4.2), numero de bacterias vs. Tiempo .

. ·. . :. <e ~·:·T:"~;,·:e·:·:··m:: ... ·:p·.·:·:a· e>· .. · .. ·. : .. , ?';··:p··a::.:.·b·:··,··a:~·:·C·:::I:O;~··n·:· '-' .. , .. ,. ., ·•.· ·.·.· .. ·T: ... ;,· .. ·e:.:· ... m·.·. ·p····.·a·····.·~.;·. ::::·· ---~··· ..... p., ... a."'b"''l'a:::·C:··. :I:O·;··n--::·~ ·······~:··: . . . ,·.:·:<·::.:: .....•.. ·. ·' ........ ·.·.··

.· .. · .•••... (s) ... .... · (~HI~ne~r'·•· .. ·.·.· .. · <.(~)···:·.·.. ..<><· (~illbn~s)\ .

·•·•··· o.bóó .. ·. 2.5oo .··.·. · · ... ··: '>< 1:600··.· .. ·.· ... ···. 3348.577

·.•·•:··•.·:.··.·.··•········ &too >••·•···.·.· .. •·•·.•··.

.···.·.···.····,•···•·.· h.ioó····· a~921·•: · ·.·.· ......... 1."7o6 > i .. 5251$.14·

6.149 ·.··. :. f.soo··· 8236.í70 .·.··:····· >· \ •.•. ·.··();~~h··i .............. ···.

. •···.··•···••···.··•·•··.· .. i .•••••..•..• t.~dd•· ............ · .. ·: } ) ·•·· .. ··.·········••12~16\886 . 2.()00 .•. 20257.710

. · .•. ~;644

(l.-40(}····· .. :·.·. 15.124

>••/·.•·• .... · o.~ao'<····•·· · ..... 23a)g• ... ···.·••··.·.· ... ·. ·.·.i .... 1.1ó()~ x ......... · ..................... · ...• ·•s1r7oA13

b.s~$i 37.199 ·· · ;.260</ ...... ·.·· 49825.926

·. ··.··.·. · O:ió() .. ·•.•·.·.···.·.·· .. ·.. 58:~40< · >..... >i.~Ób <' .. ··•··· .. · .... ··•····•1á142.sor>

··················••••• .. ·•••••········ .• a.Sqo•••·•>·:r··· •... · •. · ... ·· .. ··.·.·. 91.496 ···•••··.•>)ik.4óo• .. ·••········.··.·· 122552.003 ·· .. · .. ··.·.· .. ·... 6.900 > .:.·.· .. ·.·.· ·' 143~494 •', .·.·.· .. ·.· .. ··.· ....• 2:500 > t$2199)99···.·: .. · ..

\ /i \.¿od i .. . ........... · ·. 225.043 ...•.... · .. ·..••.. / /2.~cJ6 3o 1429.287

<<r.1aa<·. ·.· .. ··· 352.$37 ·.·.·... 2_¿¿¿····· ·.·.· ............. ·· .. ·.·.· 472135,225· ... ··.•· >.. 1.260· 553.516 ··.· .. ·... k.éb()····.·· 741396.413

'<• ?; \.~~% ¿(i... 1a::1o::o >; 2 c;;~-g~~i;0> > • .. ;:::·:: •····

137

Page 139: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

6.5 Capítulo V

5. Interpolación Polinomial

En el análisis numérico, se denomina interpolación a la construcción de nuevos

puntos partiendo del conocimiento de un conjunto discreto de puntos. En ingeniería y

otras ciencias es frecuente disponer de un cierto número de puntos obtenidos por

mue~tr~o Q a. partir <;le un registrQ o experim~nto y pr~ten<;ler constrl!ir un~ func;ión qu~

los ajuste.

5.1 Polinomio interpolante de Lagrange

En el método de Lagrange, se utiliza una ecuación que aunque se va alargando

conforme más puntos se quieran unir, es siempre dei mismo tamaño y de la misma

forma por lo que una de sus ventajas es que es más claro y fácil de hacer.

Supongamos que x0 , x1, ..... , Xn son n+ 1 puntos distintos del eje real y que f(x)

es una función de valor real definido sobre algún intervalo [a, b] que contiene estos

puntos. Queremos construir un polinomio p(x) de grado ::::: n que interpole f(x) para los

puntos dados, esto significa que satisface:

(i = 0,1, 2, ...... , n)

Se busca un polinomio de grado ::::: n que se anule en todos los X¡, este polinomio de

orden n que pasa a traves de los n+1 puntos se puede escribir en una serie de

potencias como:

(5.1)

138

Page 140: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

Donde los a¡ son coeficientes indeterminados; si evaluamos (5.1) en los n+1 puntos

distintos del eje real dados anteriormente se obtiene:

La solución de este sistema por los métodos computacionales ya estudiados puede

ser poco práctica ya que las potencias de los X¡ pueden ser números muy grandes y

podrían incrementar el error por redondeo.

La idea de Lagrange para evitar esto es representar el polinomio (5.1) por el

producto de factores, es decir una función g(x) tal que:

Este es un polinomio de orden n que se anula en x = X1, x2 •..... , Xn y puede escribirse

como:

n

g(x) = IJ (x- x¡) (5.2) i=l

Cuando g(x) se divide entre g(Xo), la función resultante, conocida como función de

Lagrange lo (x) seria:

lo(x) = (x -X1)(x -x2)(x -x3)(x -x4) .... (x -xn)

(x 0 -x1)(x0 -xJ(x0 -x3)(x 0 -x4) .... (x 0 -xn)

Esta función toma el valor de 1 para x = Xo y O para x = x1, x2 .••••. , Xn y su

generalización es:

lk (x) = (x- X1 )(x- x 2)(x- x3 )(~- x 4) .... (x- xn) (xk -x1)(xk -x2)(xk -x3 )~xk -x4) .... (xk -xn)

139

Page 141: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

Donde el numerador no incluye (x- xk) y el denominador no incluye (xk- x), la función

lk(x) es un polinomio de orden n y toma el valor de 1 cuando x = Xk y de cero en x = Xj, j

* k, dado esto se puede hacer:

(5.3)

Si multiplicamos los 10(x), 11(x), b(x), ...... , ln(x) por la función evaluado en los puntos

dados f0 , f1, f2 , ....... , fn y las sumamos, el resultado será un polinomio de orden a lo

más n e igual a fk para cada k= O hasta k= n.

Este polinomio se denomina Forma interpolante de Lagrange y es de grado ::::; n,

pudiendo ser representado por la ecuación:

n

p(x) = ¿ f(xk)lk (x) (5.4) k=O

La ecuación (4.4) es equivalente a la solución del sistema de ecuaciones lineales visto

al inicio.

Ejemplo:

Suponiendo los siguientes datos para la densidad del sodio en función de la

temperatura, mostradas en la siguiente tabla:

Tabla (5.1), Densidad del Sodio en función de la temperatura.

Buscaremos aplicar el polinomio interpolante, para calcular la densidad a una

temperatura de 251 °C.

140

Page 142: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

Usando la ecuación (5.4) tendríamos que obtener una forma de Lagrange de

orden n = 2, para x = 251 por lo cual, ser debe calcular:

2

p(x) = Lf(xk)lk (x) = f(x 0 )1 0 (x) + f(x 1)1 1 (x) +f(x 2 )1 2 (x) k=O

Entonces las funciones de Lagrange en este caso son:

La forma interpolante que corresponde es por consiguiente:

Reemplazando datos se tiene:

(251) = (T) = (929) (251-205)(251-371) +(902) (251-94)(251-371) + p p (94- 205)(94- 371) (205- 94)(205- 371)

(860) (251- 94)(251- 205) = 890.5 (371- 94)(371- 205)

Luego según lo obtenido, la densidad del Sodio a la temperatura solicitada es 890.5

Kg/m3.

Los resultados computacionales para la solución de este problema son los

siguientes:

PROGRAMA INTERPOLACION DE LAGRANGE

INGRESO DE DATOS

INGRESE NUMERO DE PARES DE DATOS 3 PARES DE DATOS 94 929 205 902 371 860

141

Page 143: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

INGRESE EL PUNTO A INTERPOLAR X 251 ================================ RESULTADO INTERPOLACION ======================== 890. 55 620 ======================== PUNTOS EVALUADOS: 3.0000

Codificación:

La codificación que genera los resultados mostrados anteriormente es la

siguiente:

!AUTOR: LIC. JORGE LUIS GODIER AMBURGO

PROGRAM INTERPOLACION LAGRANGE

WRITE(*, *)'' WRITE(*,*)' PROGRAMA INTERPOLACION DE LAGRANGE' WRITE(*¡*)' ================================== WRITE(*,*)'' WRITE(*,*)' INGRESO DE DATOS ' WRITE(*)*)' ================= WRITE(*,*)' INGRESE NUMERO DE PARES DE DATOS' READ(*J*)N WRITE(*,*)' PARES DE DATOS' DO I=0,N-1 READ (*J*)X(I)~F(I) END DO WRITE(*J*)' INGRESE EL PUNTO A INTERPOLAR X' READ{*J*)XX WRITE(*,*)' ===================================== FX=0 DO I=0,N-1 Z=F(I) DO J=0,N-1 IF {!.NE. J) Z=Z*(XX-X(J) )/(X(I) -X(J)) . END DO FX=FX+Z END DO WRITE ( * , * ) ' ' WRITE(*,*)' RESULTADO INTERPOLACION' WRITE(*,*)' ======================== WRITE(*,10)FX WRITE(*,*)' ======================== WRITE(*,15)N

10 FORMAT{3X,F9.5) 15 FORMAl(' PUNTOS EVALUADOS: ',F8.4)

END

142

Page 144: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

Observaciones:

• Si una función se aproxima mediante un polinomio de interpolación no hay

garantía de que dicho polinomio converja a la función exacta al aumentar el

número de datos.

¡¡ No existiendo un criterio para determinar el orden óptimo del polinomio se

recomienda utilizar uno con orden relativamente bajo en un pequeño rango de x.

• El polinomio de error e(x) asociado a este método es:

e(x) ~ L(x)f(n+l) (xm) (5.6)

Donde Xm es el punto medio entre los extremos del intervalo de dominio [a, b],

por lo cual e(x) es aproximadamente proporcional a L(x), dada por la ecuación:

( ) _ (x- x 0)(x- x 1)(x- x 2 ) ...... (x- xn)

LX- .. · (n + 1)!

(5.7)

5.2 Interpolación con diferencias finitas

Si usamos los polinomios de interpolación de Lagrange, uno de los

inconvenientes es que no hay reiación entre la construcción del polinomio de orden n y

la del polinomio de orden n-1; cada polinomio debe construirse individualmente y el

trabajo necesario para construir polinomios de grado elevado requiere hacer muchas

operaciones. El método de Newton tiene ventajas debido a que profundiza en el

Gomportamiento de las diferentes fórmulas de orden superior. 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 requiere

calcular y almacenar diferencias divididas, la fórmula de Lagrange se usa, a menudo,

cuando el orden del polinomio se conoce a priori.

143

Page 145: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

El desarrollo de las fórmulas de interpolación polinomial, requiere la aplicación

de las diferencias finitas, por lo cual es necesario definirla forma matemática de estas

en cada una de sus variantes.

Diferencias Finitas

Sea f(x) una función que depende de una variable, y siendo que los valores de

dicha función son discretos y _equidistantes:

La cantidad:

(5.8)

Es llamada diferencia hacia delante, repitiendo esta operación podemos obtener

diferencias de orden superior:

~ zfk = Mk+l - Mk = fk+2 - 2fk+l + fk

~3fk = ~ 2fk+l - ~ 2fk = fk+3- 3fk+2 + 3fk+l - fk

Los coeficientes de los términos son los coeficientes binomiales, los cuales permiten

generar la siguiente formula recursiva:

(5.9)

Las diferencias hacia atrás, están definidas por:

(5.10)

Las diferencias hacia tras de orden superior, se obtienen por aplicaciones sucesivas,

por ejemplo:

144

Page 146: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

En general:

vrfk = :t (-1)1(r \k-r+t t=O tf

(5.11)

Las diferencias centrales, las cuales son simétricas con respecto a xk, las definimos

como:

Las diferencias centrales de orden superior:

o2fk = fk+l - 2fk + fk-1

o3fk = fk+3/2- 3fk+ll2 + 3fk-112 - fk-3/2

o4fk = fk+Z - 4fk+l + 6fk - 4fk-l + fk-2

(5.12)

La característica de este tipo de diferencias es que se requieren términos con índices

fraccionarios para las diferencias de orden impar, así:

órfk = i:C-1Y(rJf r t k+--t

t=O 2

(5.13)

Para poder trabajar con diferencias centrales de orden impar, es necesario definir el

promedio central, tal que:

1 ~k = 2[fk+l/2 + fk-112]

2 1 ¡.t fk = 2[,ufk+ll2 + ~k-112]

1 =¡[fk+l +2fk +fk_¡]

145

Page 147: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

Aplicando el promedio central a las diferencias centrales de orden impar tenemos que

se requieren datos con índice entero.

1 ~of k =

2 [of k+1,.7 + of k-1'.7 1

1 = 2[f k+1 - fk-1]

(5.14)

Aplicando el Promedio Central a la diferencia central de orden 3, para obtener sub

índices enteros.

Suponiendo que las abscisas de los datos tienen una separación similar h, usando la

información de las diferencias es posible elaborar una tabla, donde cada renglón

proporciona un conjunto de diferencias hacia delante para los puntos interpolados,

dicho ordenamiento para el caso de cinco pares de datos, sería el mostrado en la tabla

(5.2).

Los coeficientes binomiales, están dados por:

( ~) = 1; G) = s; ( s) = ~s(s -1)(s- 2) 3 3!

En general: ( s) = _.!_s(s -1)(s- 2) ........ (s -n + 1) n n!

146

Page 148: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

Tabla (5.2), Diferencias divididas hacia adelante

""'' o ,., .. ,,,,,,,,.,,.i~''''' '"" '"' '"'"~(~'''""'' ,,, ···-~2j~''""'' ··············,;ji~''"" ,,,,,,,,,,;&4(~' ,,,, ...... ,,,, ''"~5(~''·'''''"""'""'"'···········-

2

3

4

5

Ejemplo;

L~?f1 i13f1 .!14

f1

Construir la tabla de diferencias Progresiva y Regresiva del siguiente conjunto

de datos de intensidad luminosa en Candelas vs. Penetración en cm.

(Cd)

Penetración 1

(cm)

Tabla (5.3), Intensidad luminosa vs. Penetración.

0.36

Los resultados computacionales para este ejemplo _son los siguientes:

TABLA DE DIFERENCIA PROGRESIVA

PROGRAMA PARA REALIZAR LA TABLA DE DIFERENCIA PROGRESIVA ========================================================

MENU PRINCIPAL

INGRESO DE DATOS POR ARCHIVO [1] INGRESO DE DATOS POR TECLADO [2] SALIDA POR PANTALLA [3] SALIDA POR IMPRESORA [4] SALIR DEL PROGRAMA [5]

I-NGR-ES-E s0 6-PCi oN [ 1-5 J 2

147

Page 149: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

INGRESO DE DATOS POR TECLADO ===================================== INGRESE EL NUMERO DE PUNTOS A EVALUAR 7 INGRESE: X 1 SU IMAGEN: FX 1

0.0 5 INGRESE: X 2 SU IMAGEN: FX 2

0.06 4.985 INGRESE: X 3 SU IMAGEN: FX 3

0.12 4.970 INGRESE: X 4 SU IMAGEN: FX 4

0.18 4.955 INGRESE: X 5 SU IMAGEN: FX 5

0.24 4.940 INGRESE: X 6 SU IMAGEN: FX 6

0.3 4.926 INGRESE: X 7 SU IMAGEN: FX 7

0.36 4.911

DESEA MODIFICAR LOS DATOS [S o N] : n

PROGRAMA PARA REALIZAR LA TABLA DE DIFERENCIA PROGRESIVA

MENU PRINCIPAL

INGRESO DE DATOS POR ARCHIVO INGRESO DE DATOS POR TECLADO SALIDA POR PANTALLA

-------SAL~DA POR TMPRESORA SALIR DEL PROGRAMA

INGRESE SU OPCION [1-5] 3

[ 1]

[2] [3]

[ 4J [5]

RESULTADOS TABLA DE DIFERENCIAS PROGRESIVA

N X DD O DD 1 DD 2 DD 3 DD 4

1 .000 5.000000 -.015000 .000000 .000001 -.000001 2 . 060 4.985000 -.015000 .000000 .000000 .001000 3 .120 4. 970000 -.015000 .000000 .001000 -.003000 4 .180 4.955000 -.015000 .001000 -.002000 5 .240 4.940000 -.014000 -.001000 6 .300 4. 926000 -.015000 7 .360 4. 911000

[S] PARA SALIR / CUALQUIER TECLA PARA CONTINUAR

148.

DD 5 DD 6

.001002 -.005002 -.004001

Page 150: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

Codificación:

La codificación que genera los resultados mostrados se presenta a

continuaci6n:

AUTOR: LIC. JORGE LUIS GODIER AMBURGO

PROGRAM TABLA DE DIFERENCIA DIVIDIDA PROGRESIVA - - - -

COMMON H,J,X(100),FX(100),DD(100,100) CALL PRINCIPAL END

SUBROUTINE PRINCIPAL COMMON H,J,X(100),FX(100),DD(100,100) CHARACTER(50) RESP1,ARCHI

1 WRITE(*,*)'' WRITE(*,*)'PROGRA~~ TABLA DE DIFERENCIA PROGRESIVA' WRITE(*,*)'================================================' WRITE ( *, *) ' ' WRITE(*¡*)' MENU PRINCIPAL' WRITE(*,*)' ===================================== WRITE ( *, *)' INGRESO DE DATOS POR ARCHIVO [ 1]' WRITE(*J*)' INGRESO DE DATOS POR TECLADO [2]' WRITE(*,*)' SALIDA POR PANTALLA [3]' WRITE(*, *)' SALIDA POR IMPRESORA [ 4]' WRITE(*,*)' SALIR DEL PROGRAMA [5]'

· WRITE(*,*)' ===================================== WRITE(*,*)' INGRESE SU OPCION [1-5]' READ(*,*)RESP1 SELECT CASE (RESP1) CASE (' 1') J=0 IDtNT=1 WRITE(*,*)' INGRESO DE DATOS POR ARCHIVO' WRITE(*,*)' ===================================== WRITE(*,*)' INGRESE NOMBRE Y RUTA DEL ARCHIVO DE' WRITE(*,*)' ENTRADA' READ(*,*)ARCHI OPEN (1¡FILE=ARCHI) DO I=1,100 READ (1,*,END=2)X(I),FX(I) J=J+1 END DO

2 WRITE(*,S)J S FORMAT(' NUM DATOS INGRESADOS CORRECTAMENTE:',I3)

WRITE(*,*)' PULSE CUALQUIER TECLA PARA CONTINUAR' READ(*,*)RESP1 S~OSE(1) GOTO 1

149

Page 151: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

CASE (' 2') IDENT~1

WRITE(*J*)' INGRESO DE DATOS POR TECLADO' WRITE(*J*)' ===================================== WRITE(*;*)' INGRESE EL NUMERO DE PUNTOS A EVALUAR' READ(*J*)J DO I=1JJ WRITE(*J3)IJI READ(*J*)X(I),FX(I) END DO WRITE(*J*)' =====================================

3 FORMAT(' INGRESE: X',I3J' SU IMAGEN: FX' JI3) WRITE(*,*)' DESEA MODIFICAR LOS DATOS [S o N]' READ(*,*)RESP1 SÉlÉét éASE (RESPi) CASE ('S') GOTO 1 C~SE (' s') GOTO 1 CASE DEFAULT GOTO 1 END SELECT CASE (' 3') IF (IDENT.NE.1)GOTO 1 CALL CALCULO CALL PRESENTACION GOTO 1 CASE ('4') IF (IDENT.NE.1)GOTO 1 CALL CALCULO tALL íMPRi:síON GOTO 1 CASE (' 5') WRITE(*, *)'' WRITE ( * J *) ' STOP

GRACIAS POR USAR EL PROGRAMA'

CASE DEFAULT GOTO 1 END SELECT

RETURN END

150

Page 152: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

SUBROUTINE CALCULO COMMON H,J,X(100),FX(100),DD(100,100)

DO I=l,J DD(l,I)=FX(I) END DO DO M=l,J-1 DO I=l,J-M DD(M+l,I)=DD(M,I+l)-DD(M,I) END DO END DO

48 RETURN END

SUBROUTINE PRESENTACION COMMON H,J,X(100),FX(100),DD(100,100) CHARACTER RESPl

IN=8 WR;HJ~(* ;*),' WRITE(*,*)' RESULTADOS TABLA DE DIFERENCIAS PROGRESIVA' WRITE(*,*)'====================================================' WRITE(*,SS)IN 1 IN+1 1 IN+2 1 IN+3 1 IN+4,IN+5 1 IN+6 WRITE(*,*)'====================================================' L=0 IF (J.LT.7)THEN NM=8 ELSE NM=J-7 END IF DO I=l,J L=L+l WRITE(*,50)I,X(I),(DD(K,I);K=1;(~-NM)-(~-l)) IF(NM.GT.0)THEN NM=NM-1 END IF END DO WRITE(*,*)'====================================================' WRITE(*,*)'(SJ PARA SALIR/ CUALQUIER TECLA PARA CONTINUAR' READ(*,*)RESP1 SELECT CASE (RESPl) CASE ('S') Gótó iéé CASE (' s') GOTO 188 END SELECT IN=l

45 IF(J.GT.7+(IN-1))THEN IN=IN+7 NM=J-(IN-1) IF(NM.GT.7)THEN NN=NM-7 KK=(IN-1)+NM

151

Page 153: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

ELSE NN=0 KK=J END IF L=e WRITE(*,60)IN-1,IN,IN+l,IN+2,IN+3,IN+4,IN+S WRITE(*,*)'===================================================='

DO I=1,NM L=L+1 WRITE(*,65)I,(DD(K,I),K=IN,(KK-NN)-(L-1)) IF(NN.GT.0)THEN NN=NN-1 END IF END DO WRITE(*,*)'====================================================' WRITE(*,*)'[S] PARA SALIR/ CUALQUIER TECLA PARA CONTINUAR' READ(*,*)RESP1 SEL~CT CASE (RESPl) CASE ('S') GOTO 100 CASE ('s') GOTO 100 END SELECT GOTO 45 END IF WRITE(*,52)J

50 FORMAT(I3,F6.3,10F10.6) 52 FORMAT(' PUNTOS EVALUADOS:',I3) 55 FORMAT(' N X DD',I3,' DD',I3,' DD',I3,' DD',I3,' DD',I3,' DD',I3) 60 FORI\1AT(' N DD' ,B,' DD' ,B,' DD' ,B,' DD' I3 ' DD' I3 ' DD' I3) J J J J J .

65 FORMAT(I3,10F10.6) 100 WRITE(*;*)''

RETURN END

SUBROUTINE IMPRESION COMMON H,J,X(100),FX(100),DD(100,100)

IN=0 OPEN (1,FILE='LPT1') WRITE(1, *)''

DD', 13, '

DD',I3,'

WRITE(1,*)' RESULTADOS TABLA DE DIFERENCIAS PROGRESIVA' WRITE(1,*)'====================================================' WRITE(1,550)IN,IN+1,IN+2,IN+3,IN+4,IN+S,IN+6 WRITE(1,*)'================p===================================' L=0 IF (J. L T. 7)THEN NM=0 ELSE NM=J-7 END IF

152

Page 154: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

DO I=1;J L=L+1 WRITE(1,500)I,X(I),(DD(K,I),K=1,(J-NM)-(L-1)) IF(NM.GT.0)THEN NM=NM-1 END IF END DO WRITE(1,*)'====================================================' IN=1

45 IF(J.GT.7+(IN:1))THEN IN=IN+7 NM=J-(IN-1) IF(NM.GT.7)THEN NN=NM-7 KK=(IN-1)+NM ELSE NN=0 KK=J END I.F L=0 WRITE(1,600)IN-1,IN,IN+1JIN+2,IN+3,IN+4,IN+5 WRITE(1,*)'===================================================='

DO I=l,NM L=L+1 WRITE(1,650)I,(DD(K,I),K=IN,(KK-NN)-(L-1)) IF(NN.GT.0)THEN NN=NN-1 END IF END DO WRITE(1,*)'====~===============================================' GOTO 45 END IF WRITE(1,520)J

500 FORMAT(I3,F6.3,10F10.6) 520 FORMAT(' PUNTOS EVALUADOS:' ,I3) 550 FORMAT(' N X DD',I3,' DD',I3,' DD',I3,' DD',I3,' DD',I3,' DD',I3) 600 FORMAT(' N DD' ,I3,' DD' ,I3,' DD' ,I3,' DD',I3,' DD',I3,' DD',I3) 650 FORMAT(I3,10F10.6)

WRITE(*, *)'' 1000 WRITE(*,*)' IMPRESION DE DATOS TERMINADA'

CLOSE(1) RETURN

END

153

DD',I3,'

DD',I3,'

Page 155: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

TABLA DE DIFERENCIA REGRESIVA

PROGRAMA PARA REALIZAR LA TABLA DE DIFERENCIA REGRESIVA ========================================================

MENU PRINCIPAL

INGRESO DE DATOS POR ARCHIVO [1] INGRESO DE DATOS POR TECLADO [2] IMPRIMIR EN PANTALLA [3] SALIDA POR IMPRESORA [4] SALIR DEL PROGRAMA [5] ===================================== INGRESE su OPCION [1-5] 2 INGRESO DE DATOS POR TECLADO ===================================== INGRESE EL NUMERO DE PUNTOS A EVALUAR 7 INGRESE: X 1 su IMAGEN: FX 1 0.0 5.0 INGRESE: X 2 su IMAGEN: FX 2 0.06 4.985 INGRESE: X 3 su IMAGEN: FX 3 0.12 4.970 INGRESE: X 4 su IMAGEN: FX 4 0.18 4.955 INGRESE: X 5 su IMAGEN: FX 5 0.24 4.940 INGRESE: X 6 su IMAGEN: FX 6 0.30 4.926 INGRESE: X 7 su IMAGEN: FX 7 0.36 4. 911

DESEA MODIFICAR LOS DATOS [S o N] ; n

PROGRAMA PARA REALIZAR LA TABLA DE DIFERENCIA REGRESIVA

MENU PRINCIPAL

INGRESO DE DATOS POR ARCHIVO [1] INGRESO DE DATOS POR TECLADO [2] IMPRIMIR EN PANTALLA [3] SALIDA POR IMPRESORA [4] SALIR DEL PROGRAMA [5]

INGRESE SU OPCION [1-5] 3

154

Page 156: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

RESULTADOS TABLA DE DIFERENCIAS REGRESIVA

N X DD O DD 1 DD 2 DD 3 DD 4 DD 5 DD 6

1 .000 5.000000 2 .060 4.9S5000 -.015000 3 .120 4.970000 -.015000 .000000 4 .180 4.955000 -.015000 .000000 .000001 5 .240 4.940000 -.015000 .000000 .000000 -.000001 6 .300 4. 926000 -.014000 . 001000 .001000 .001000 .001002 7 .360 4. 911000 -. 015000 -.001000 -.002000 -.003000 -.004001 -. 005002

Codificación:

La codificación que genera los resultados mostrados se presenta a

continuación:

AUTOR: LIC. JORGE LUIS GODIER AMBURGO

PROGRAM TABLA DE DIFERENCIA DIVIDIDA REGRESIVA - - - -

COMMON H,J,X(100),FX(100),DD(10@,1@@) CALL PRINCIPAL END

SUBROUTINE PRINCIPAL COMMON M,J,X(100),FX(100),DD(10@,1@@) CHARACTER(50) RESP1,ARCHI

1 WRITE(*,*)'' WRITE(*,*)' PROGRAMA TABLA DE DIFERENCIA REGRESIVA' WRITE(*,*)' ============================================ WRITE(*,*)'' WRITE(*,*)' MENU PRINCIPAL' WRITE(*,*)' ===================================== WRITE(*,*)' INGRESO DE DATOS POR ARCHIVO [1]' WRITE(*,*)' INGRESO DE DATOS POR TECLADO [2]' WRITE(*,*)' IMPRIMIR EN PANTALLA [3]' WRITE(*,*)' SALIDA POR IMPRESORA [4]' WRITE(*, *)' SALIR DEL PROGRAMA [5]' WRITE(*,*)' ===================================== WRITE(*,*)' INGRESE SU OPCION [1-5]' READ(*,*)RESP1 SELECT CASE (RESP1) CASE (' 1') J=@ I=@ IDENT=1 WRITE ( *, *) ' WRIH(* ,*)' WRITE ( *, *) ,· WRITE ( * , * ) '

INGRESO DE DATOS POR ARCHIVO' ===================================== INGRESE NOMBRE V RUTA DEL ARCHIVO DE' ENTRADA'

155

Page 157: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

READ(*,*)ARCHI OPEN (1,FILE=ARCHI) DO I=1,100 READ (1,*,END=2)X(I),FX(I) ]::::;]+1

END DO 2 WRITE(*,5)J 5 FORMAT(' NUM DATOS INGRESADOS CORRECTAMENTE:' 1 I3)

WRITE(*,*)' PULSE CUALQUIER TECLA PARA CONTINUAR' READ(*,*)RESP1 CLOSE(1) GOTO 1 CASE (' 2') IDENT=1 WRITE(*,*)' INGRESO DE DATOS POR TECLADO' WRITE(*,*)' ===================================== WRITE(*,*)' INGRESE EL NUMERO DE PUNTOS A EVALUAR' READ(*,*)J DO I=1,J WRITE(*,3)I,I R~AD(*,*)X(I),FX(I) END DO WRITE(*,*)' =====================================

3 FORMAT(' INGRESE: X',I3,' SU IMAGEN: FX' ,I3) WRITE(*,*)' DESEA MODIFICAR LOS DATOS [S o N]' READ(*,*)RESP1 SELECT CASE (RESP1) CASE ('S') GOTO 1 CASE (' s') GOTO 1 CASE DEFAUL T GOTO 1 ~ND SELECT CASE (' 4') IF (IDENT.NE.1) GOTO 1 OPEN (1,FILE='LPT1') CALL CALCULO CALL IMPRESION GOTO 1 CASE (' 3') IF (IDENT.NE.1) GOTO 1 CALL CALCULO CALL PRESENTACION GOTO 1 CASE ('5') WRITE(*, *)'' WRITE(*,*)' STOP

GRACIAS POR USAR EL PROGRAMA'

CASE DEFAUL T GOTO 1 END SELECT RETURN END

156

Page 158: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

SUBROUTINE CALCULO COMMON H,J,X(188),FX(188),DD(l88,188)

DO I=1,J DD(1,I)=FX(I) ENO DO DO M=1,J-1 DO I=1,J-M DD(M+1,I)=DD(M,I+l)-DD(M,I) END DO END DO

48 RETURN END

SUBROUTINE PRESENTACION COMMON H,J,X(188),FX(188),DD(188,188) CHARACTER RESPl

IN=8 WRHE ( *, *) ' ' WRITE(*,*)' RESULTADOS TABLA DE DIFERENCIAS REGRESIVA' WRITE(*,*)'====================================================' WRITE(*,55)IN,IN+1,IN+2,IN+3,IN+4,IN+5,IN+6 WRITE(*,*)'====================================================' NM=J DO I=l,J WRITE(*,58)I,X(I),(DD(K+1,I-K),K=8,J-NM) IF (I.GT. 6)THEN NM=J-6 ELSE NM=NM-1 END IF END DO WRITE(*,*)'====================================================' WRITE(*,*)'[S] PARA SALIR/ CUALQUIER TECLA PARA CONTINUAR' READ(*,*)RESP1 SELECT CASE (RESP1) CASE ('S') GOTO 188 CASE (' s') GOTO 188 END SELECT IN=1

45 IF(J.GT.6+IN)THEN IN=IN+6 NM=IN+1 WRITE(*,68)IN,IN+1,IN+2,IN+3,IN+4,IN+S,IN+6 WRITE(*,*)'====================================================' DO I=NM,J WRITE(*,65)I,(DD(K+1,I-K),K=IN,(2*IN+1)-NM) IF (I.GT.IN+6)THEN ELSE NM=NM-1 END IF END DO

157

Page 159: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

WRITE(*,*)'====================================================' WRITE(*,*)'[S] PARA SALIR/ CUALQUIER TECLA PARA CONTINUAR' READ(*,*)RESP1 SELECT CASE (RESP1) CASE ('S') GOTO 100 CASE (' s') GOTO 100 END SELECT IN=IN+1 GOTO 45 END IF WRITE(*,52)J

50 FORMAT(I3,F6.3,100F10.6) 52 FORMAT{' PUNTOS EVALUADOS:' ,I3) 55 FORMAT(' N X DD',I3,' DD',I3,' DD',I3,' DD',I3,' DD',I3,' DD',I3) 60 FORMAT(' N DD' ,!3,' DD' ,!3,' DD' ,!3,' DD' I3 ' DD' I3 ' DD' I3) J J J J J

65 FORMAT(I3,100F10.6) 100 WRITE ( *, *) ' '

RETURN END

SUBROUTINE IMPRESION COMMON H,J,X{100),FX{100),DD(100,100)

IN=0 WRITE(1,*)''

DD',I3,'

DD',I3,'

WRITE(l,*)' RESULTADOS TABLA DE DIFERENCIAS REGRESIVA' WRITE(1,*)'====================================================' WRITE(1,550)IN,IN+1,IN+2,IN+3,IN+4,IN+5,IN+6 WRITE(1,*)'====================================================' NM=J DO I=1,J WRITE(1,500)I,X(I),(DD(K+1,I-K),K=0,J-NM) IF (I.GT. 6)THEN NM=J-6 ELSE NM=NM-1 END IF END DO WRITE(1,*)'====================================================' IN=1

450 IF(J.GT.6+IN)THEN IN=IN+6 NM=IN+1 WRITE(1,600)IN,IN+1,IN+2,IN+3,IN+4,IN+S,IN+6 WRITE(l,*)'===================================================='

DO I=NM,J WRITE(1,650)I,(DD(K+1,I-K),K=IN,(2*IN+1)-NM) IF (I.GT.IN+6)THEN

158

Page 160: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

ELSE NM=NM-1 END IF END DO WRITE(l,*)'====================================================' IN=IN+1 GOTO 458 END IF WRITE(1,528)J

588 FORMAT(I3,F6.3,18F18.6) 528 FORMAT(' PUNTOS EVALUADOS: ',!3) 558 FORMAT(' N X DD',I3,' DD',I3,' DD',I3,' DD',I3,' DD',I3,' DD',I3) 688 FORMA T ( ' N DD' , I3, ' DD' , I3, ' DD' , I3, ' DD',I3,' DD',I3,' DD',I3) 659 FORMAT(I3,19F19.6) 1eee WRITE(1,*)''

CLOSE(1) RETURN END

Interpolación NGF (Newton - Gregory Forward)

DD' ,I3,'

Para evaluar la Fórmula lnterpolante de Newton hacia adelante, se asumen

que los puntos xk son equidistantes, es decir se ubican a intervalos regulares, esto

impone emplear un intervalo de paso fijo, así: definimos a L)x (ancho de paso) como

una constante y a xk como algún punto particular de la tabla (xk, fk; k = 1, 2, 3, ... ).

Ahora para medir la distancia entre un punto arbitrario en el eje x y el punto xk

usaremos la cantidad normalizada:

x-x U=--k

me (5.15)

Es posible obtener el polinomio interpolante Fm (u) de orden m para valores

tabulados de una función con m + 1 puntos; en este caso, usaremos puntos del

dominio a la derecha de Xk incluyendo a Xk, este polinomio se escribe en términos de

diferencias hacia adelante como:

(5.16)

159

Page 161: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

Que al desarrollarse queda:

(5.17)

Para el caso de m = 2, el polinomio de interpolación de Newton hacia adelante, con el

desarrollo de las diferencias es:

En este caso solo son necesarios 3 pares de datos para interpolación y el valor de x

(punto a interpolar) debe estar dentro del dominio dado.

Para el caso de m = 3, el polinomio de interpolación de Newton hacia adelante es:

(5.19)

En este caso son necesarios 4 pares de datos para interpolación.

El error asociado a la fórmula de interpolación de Newton está dado por el término

siguiente que se ha truncado en el desarrollo en serie de la ecuación (5.17) ajustada a

m+1 puntos.

No obstante, es· posible ajustar la fórmula de interpolación de Newton a

cualquier número de pares de puntos, esto es poco práctico cuando es muy grande, ya

que la función puede cambiar drásticamente, por ello es necesario aplicar como

máximo las formulas (5.18) y (5.19) en una vecindad que contenga al punto que se

desea interpolar.

160

Page 162: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

Ejemplo a:

El mástil de un barco se construye de una aleación de aluminio experimental.

Se llevan a cabo pruebas para definir la relación entre esfuerzo (fuerza por área)

aplicada al material y deformación (deflexión por unidad de longitud). Los resultados

de estas pruebas se resumen en la tabla (5.4).

Tabla (5.4). Datos de esfuerzo-deformación.

Es necesario calcular la deformación para un esfuerzo de 7.8 lb/pulg2.

El valor de fix es en este caso igual a 0.2, por lo cual el valor de u es: 2.5 si

consideramos k= O, es decir Xo = 7.3.

Desarrollando la ecuación (5.19), se tiene:

Reemplazando valores, obtenemos:

F3 (2.5) = (0.02) + (2.5)(0.045- 0.02) + 2·5(2

·5

-1) (0.06- 2(0.045) + 0.02) +

2 2·5(2.5 - 1)(2·5 - 2) (0.073- 3(0.06) + 3(0.045)- 0.02) = 0.06625

6 .

161

Page 163: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

Los resultados computacionales para este ejemplo son los siguientes:

INTERPOLACION FORMA DE NEWTON ADELANTE

ESPACIAMIENTO UNIFORME ORDEN=3 INGRESE NUMERO DE PARES DE DATOS (MAX (4))

4 INGRESE EL PUNTO A INTERPOLAR X 7.8 INGRESE PARES DE DATOS PUNTO 1 7.3 0.02 PUNTO 2 7.5 0.045 PUNTO 3 7.7 0.06 PUNTO 4 7.9 0.073 RESULTADOS

X FX

7.80000 .0662500

PUNTOS EVALUADOS: 4.0000

Codificación:

La codificación que genera los resultados mostrados se presenta a

continuación:

5

113

! AUTOR: LIC. JORGE LUIS GODIER AMBURGO

PROGRAM INTERPOLACION FORMA DE NEWTON ADELANTE

WRITE(*, *)'' WRITE(*,*)' WRITE(*,*)' WRITE(*,*)' WRITE(*, *)'' WRITE(*,*)' WRITE(*,*)' READ(*,*)N IF (N.GT.4) WRITE(*,*)' READ(*,*)XP

- - - -

INTERPOLACION FORMA DE NEWTON ADELANTE' --------------------------------------~~~~~~-~---~~---~------------------~~~

ESPACIAMIENTO UNIFORME ORDEN 3'

INGRESE NUMERO DE PARES DE DATOS (MAX (4))' ==========================================

GOTO 5 INGRESE EL PUNTO A INTERPOLAR X'

162

Page 164: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

WRITE(*,*)' INGRESE PARES DE DATOS' DO I=l,N WRITE(*,*)'PUNTO 'JI READ (*,*)X(I),FX(I) END PO H=X(2)-X(1) S=(XP-X(l))/H IF((XP.GE.X(4)).0R.(XP.LE.X(1)))THEN WRITE(*,*)' PUNTO A INTERPOLAR FUERA DE DOMINIO' WRITE(*,*)' INGRESE NUEVAMENTE EL PUNTO A INTERPOLAR' GOTO 10 END IF FXP=FX(1)+S*(FX(2)-FX(1))+0.5*S*(S-1)*(FX(3)-2*FX(2)+FX(1))+S*(0.166666)*(S-1)*(S-2)*(FX(4)-3*FX(3)+3*FX(2)-FX(1)) WRITE(*,*)' RESULTADOS' WRITE(*,*)' ======================== WRITE(*,*)' X FX' WRITE(*,*)' ======================== WRITE(*,15)XP,FXP

15 FORMAT(6X,F10.5,3XJF12.7) WRITE(*,*)' ======================== WRITE(*,20)N

20 FORMAT(' PUNTOS EVALUADOS: ',F8.4) END

Ejemplo b:

Calcular el logaritmo en base 1 O de 1. 7, haciendo uso de la interpolación NGF,

para los siguientes datos tabulados:

Tabla (5.5), datos tabulados para Log10

Usando la fórmula del polinomio para los puntos mostrados en la tabla (5.4),

con m= 2, es:

163

Page 165: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

Ahora, como x0 = 1.0, t1x. = 0.5 y x = 1.7, entonces u = 1.4; luego, considerando el

desarrollo de los coeficientes binomiales, tendremos que él polinomio queda como:

En este punto evaluamos las diferencias divididas hacia adelante, donde r, va desde 1

hasta 2.

Introduciendo estas expresiones, el polinomio se transforma en:

Reemplazado los valores correspondientes a u y fk, tendremos:

F2 (1.7) = 0.0 + 1.4[0.17609] + 1.4

(1.4

-1) [0.3010- 2(0.17609)+ 0.0]

2! Finalmente resolviendo, se obtiene:

F2 (l. 7) = 0.23219

Este valor es aproximadamente igual allog (1.7), con un error absoluto de ±1.74x10-3 y

un error porcentual de 0.7%.

164

Page 166: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

Problemas de aplicación

Los siguientes problemas y cuestiones pueden resolverse empleando los

algoritmos propuestos para cada método presentado; para una solución usando el

computador, se recomienda elaborar programas en el lenguaje Fortran.

a. Calcule con la fórmula de interpolación de Lagrange el valor de Log(2.5)

basado en los datos de la siguiente tabla:

X Lag X ··•·"·"-···---·~·····-~-~--- ·····-·· ············~····"·"""'""'"''''·"•··-··············

1.0 0.0

1.5 0.17609

2.0 0.30103

3.0 0.47712

3.5 0.54407

4.0 0.60206

b. El volumen V de un gas en una cámara cilíndrica varia con la presión P

aplicada con un pistón como sigue:

Calcule el volumen que corresponde a una presión P de 95 lbf/in2

c. La viscosidad del agua ¡.t. depende de su temperatura, la siguiente tabla

ha sido realizada basándose en observaciones realizadas, calcule la

viscosidad para una temperatura de 35 °C y 75 °C.

d. Los datos de la siguiente tabla provienen de observaciones astronómicas

de un tipo de estrella variable llamada variable cefeida y representan

variaciones de su magnitud aparente con el tiempo, calcule la magnitud

aparente para t = 0.25 seg. y 0.55 seg.

165

Page 167: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

0.6

0.579

e. En estudios sobre polimerización inducida por radiación se usó una

fuente de rayos gamma para obtener dosis medidas de radiación. No

obstante, la dosificación varió con la posición en el aparato, donde se

registraron las siguientes cifras:

·-.-,.., •• , •. _ ........ ., •. -..,._ __ ._., •. , ••... ~-'""·'"'"·'"""'"'•''""·'""'''·'"·'•·"'"'""''"''•••"·"······"· -.••.•. ,.. •.••.•.• "''''''' .... "'''''''"'"'''""''"·'''''"'''"., .............................. _.., ..... , ...... , ............. , •. ,,_.,.,., ......... , ••.. h'••"""·'"''•''•'''''•'· ... ····-............ , ...... ~ .... ., .. , ......... ..

Posición a pt,mto base < o Q,Q .·. J.O 1 ,Q >2.0 2.Q ........... _ .... _··-.. . ... · ...... -·... ·.·-::-. -·.:.·.- .. ·-.

(pulg.) \······· dL ............. " .....•. : .. :,.:<.: .................... L~.Li __ ) ...... ., .......... . ··oasíficacióñ; 1o5.'Ra'clsih···---7 1úr < 2.39 •····.·.·. 2;11< 2.98 · .. ·.··.··•······.·3,2· 3.25

Calcule la Dosificación en la posición 2.35 pulg. y 0.25 pulg.

f. Con base en estudios sobre la cinética de evasión de compuestos de

cobre a partir de resinas con intercambio de iones se obtuvieron los

siguientes datos de Normalidad N y difusividad D.

N o;o51> o.1 o28 <m2036 0.4946 o.98S:f 1.9739

Calcule la Difusividad en la Normalidad 0.1 y 3.0

g. Un alambre de acero fue sometido a los ensayos indicados a

continuación. Se le aplicó inicialmente una carga de 2 Kg para

mantenerlo tirante. Se leyó sobre una escala la posición del extremo

inferior del alambre.

Cargas adicionales en Kg

Lectura de la escala en mm

Calcule la Lectura que debe corresponder en la escala para una carga

adicional de 1.5 Kg y 4.85 Kg.

166

Page 168: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

6.6 Capítulo VI

6. Aproximación Numérica de la Derivada

La diferenciación numérica, se utiliza para evaluar las derivadas por medio de

valores dados en los püntos de una retícüla. En el tíabajo científico son importantes ya

que facilitan la solución numérica de ecuaciones diferenciales ordinarias y parciales;

por ello, este capítulo trata de !as técnicas para calcular derivadas empleando la

aproximación por diferencias y el desarrollo de Taylor.

6.1 Desarrollo de Taylor

Para una derivada de orden p con el desarrollo de Taylor, el mínimo número de

datos necesario para obtener una aproximación por diferencias es p+1, así una

aproximación por diferencias para la primera derivada de una función necesita al

menos dos puntos. Para f'¡ = f(x¡), utilizamos f¡ = f(X¡) y f¡+1 = f(X¡ +h), los valores de f en

todos los puntos distintos de X¡ se desarrollan en una serie de Taylor. El desarrollo de

Taylor de fi+1 alrededor de X¡ cuando X¡= O es:

f - ~( . h) - f -hf 1 !!~ f 11 ~ f 11 1 .~ 4 f 11 11 i+l - 11 X¡ + - - i -t i + i + i + -¡ + ........ ..

2 6 24 {6, 16)

Despejando f¡, en la ecuación (6.16), tenemos:

(6.17)

La ecuación {6.17), se puede representar mejor si truncamos los valores después del

primer término, es decir:

(6.18)

Donde el error asociado es aproximadamente igual a - ~ hf¡"; el termino O(h),

establece que el error es proporcional al intervalo h de la retícula.

167

Page 169: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

Las aproximaciones por diferencias para las derivadas de orden superior se

pueden obtener mediante combinaciones lineales de los desarrollos de Taylor,

aumentando en complejidad conforme se incrementa el número de puntos o el orden

de ia derivada. El algoritmo genérico para obtener una aproximación por diferenclas

de una derivada de un orden dado, utilizando un conjunto específico de puntos en una

ietícula, establece lo siguiente:

Si el número total de puntos en la retícula es L, debe cumplir que: 2p+1 ;::: L;:::

p+1, donde p es el orden de la derivada por aproximar, esto para mantener la

estabilidad y minimizar el error acumulado por redondeo y truncamiento.

Los puntos están numerados con los sub. Índices i = a, f3, y, ......... , 'A las

abSCiSas dé lóS pUntOS dé lá retíCUla son: X¡ = ah, f3h, yh, ......... , 'Ah, es decir

usaremos puntos con separación uniforme.

La aproximación por diferencias de la p-ésima derivada de f(x), utilizando estos puntos

de retícula, se puede escribir de la forma;

cP) aJa. +apfp + ....... +a~.f~. f 0 = P +E

h (6.19)

Dónde: aa. hasta a~., son L coeficientes indeterminados

fo:. = f(Xo:.), fp = f(xp), ...... ,son las coordenadas que se usaran

·E, es el error asociado

Para calcular la primera derivada hacemos que: p=1, L=3, cx.=O, f3=1 y y=2, y usando

la ecuación (6.19), escribimos.

f '= aofo + a¡f¡ + a2f2 +E o h (6.20)

Dónde: a0 , a1 y a2 son tres coeficientes indeterminados.

Xo =O, x1 =x0 + h y x2 =Xo + 2h, son puntos de la retícula que usaremos.

168

Page 170: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

Como primer paso sustituimos los desarrollos de Taylor de f1 y f2 alrededor de Xo = O

en la ecuación (6.21) para obtener:

a f a [ h2

h3 l a [ 4h

2 8h

3 l .f-'=____Q_Q_+_!_ f_ +hf-'+-L"+-L"'+ +---.2. L +2hL'+-L"+-L"'+ .. +F. u h h u u · 2 -u 6 -u · ··J · h ·u --u · 2 ·u ·· 6 ·u """"j ~ ~

(6.22)

Reagrupando términos tenemos:

La ecuación (6.23), tiene tres coeficientes indeterminados, los cuales se

pueden encontrar si hacemos los coeficientes de fa, fa' y fa" iguales a O, 1 y O, en la

ecuación (5.1 O), esto debido a que se debe conservar el balance de la ecuación, dado

esto se forma el siguiente sistema:

a 0 +a1 +a2 =O

0+a1 +2a2 =1

0+a1 +4a2 =O

Al solucionarlo se tiene que: aa = -3/2, a1 =2 y a2 =-1/2

Reemplazando estos valores en la ecuación (6.20), se obtiene:

f '= _!_ [- ~ f + 2f - _!_ f ] + E oh 20 1 22

Dónde:

(6.24)

La fórmula (6.24), es la solución al desarrollo de Taylor para la aproximación por

diferencias de la primera derivada.

169

Page 171: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

Para calcular la segunda derivada utilizamos: p=2, L=3 (cumple que: L ~ p+1),

entonces nuevamente a= O, f3 = 1 y y= 2, y según la ecuación (6.20), tenemos que:

Sustituimos los desarrollos de Taylor de f1 y f2 alrededor de XQ=O en la ecuación

anterior para obtener:

f "= aofo ~~f llf 1 hz f" ~f 111 l ~[f 2llf 1 4hz f" 8h3 f 111 l E o - + - 1 o + o + o + o +.. + 2 o + o + o + o +..... +

h" h" L ~ 2 6 J 11 ~ 2 · 6 J

Factorizando y agrupando tenemos:

f 0 "=f0 [a0 +a1 +~2]~+f0 1 [Ü+a1 +2a2 ]_!_+f0 "[0+~+2a2 ]+ ..... +E h h 2

Nuevamente se tienen tres coeficientes indeterminados, los cuales encontramos si

hacemos los coeficientes de fa, fa' y fa" iguales a O, O y 1, en la ecuación anterior esto

permitirá conseNar el balance de la ecuación, debido a esto se forma el siguiente

sistema:

a0 + a1 -+- a 2 =Ü

O+a1 +2a2 =0 a

0+-1 +2a2 =1 2

Al solucionarlo se tiene que: aa = 1, a1 = -2 y a2 = 1

Reemplazando estos valores, se obtiene:

f 0 "=-\-[f0 -2f1 +f2 ]+E h

(6.25)

La fórmula (6.25), es la solución al desarrollo de Taylor para la aproximación por

diferencias de la segunda derivada.

170

Page 172: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

La tercera derivada requiere que: p = 3, L = 4 (cumple que: L ~ p+1), entonces ahora:

cx.=O, ~=1, y=2 y 8=3, y según la ecuación (6.20), tenemos que:

Sustituimos los desarrollos de Taylor de f1, f2 y h alrededor de Xo=O en la ecuación

anterior para obtener:

f_ "'= ~+-1 f_ + hf_ '+-f- "+-L "'+ +-2 1 f_ +?.hf_ '+-L "+-L "'+ a f a [ h

2 h

3 l a 1 4h2

8h3 l

-u h3 h3 -u · -u 2 -u • 6 -u · ""j · h3 L-u ·· ---u · 2 -u 6 -u •»nj

a 3 ff 3hf , 9h2

f , 27h3

f ,, ] E +-¡ o+ o+- o +-- o +. .... + h 3

L 2 6

Factorizando y agrupando tenemos:

f 0 "'=f0 [a0 +a1 +a2 +a3]~+f0 '[0+a1 +2a2 +3a3]~+f0 "[0+~+2a2 +2_a3 ]_!_ h h 2 2 h

En este caso se tienen cuatro coeficientes indeterminados, los cuales encontramos si

hacemos los coeficientes de f0 , f0', f0" y f0"' iguales a O, O, O y 1, en la ecuación anterior

esto permitirá conservar el balance de la ecuación y formar el siguiente sistema:

a1 9 0+-+2a2 +-a3 =0

2 2 1 4 9

0+-a1 +-a2 +-a3 =1 6 3 2

Al solucionarlo se tiene que: ao = -1, a1 = 3, a2 = -3 y a3 = 1

Reemplazando estos valores, se obtiene:

171

(6.26)

Page 173: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

La fórmula (6.26), es la solución al desarrollo de Taylor para la aproximación por

diferencias de la Tercera derivada.

Ejemplo:

Una masa de 1.0 Kg se encuentra unida a un resorte de constante elástica k =

25 N/m y oscila sobre una pista horizontal sin fricción. En t = O, la masa se suelta

desde el reposo en x = -3.0 cm.

·¡ t =o · k= 25 N/m .J-._, :-------1 -~ 1 kg j----------~ : '-- EIQ- 1 ~e

x =-3 cm x =O

Figura (6.2). Masa sujeta a un resorte de k= 25 N/m.

Es decir el resorte se comprime 3.0 cm, encuentre su velocidad y aceleración

con las fórmulas p=1, L=3 y p=2, L=3 para t = n/3 si se sabe que en t =O se cumple:

x(t)=3cos(~~ t+~)

Como: x (t = O) = -3 = 3cos(~) => cos(~) = -1. Entonces: ~ = n, lo cual, junto con el

reemplazo de datos (k y m) permite determinar la ecuación de movimiento.

x = 3cos(5t + n)

Esta ecuación fue sometida a las fórmulas para la primera, segunda y tercera

derivada vistas anteriormente, obteniéndose el siguiente resultado:

DERIVADA POR DESARROLLO DE TAYLOR

INGRESE PUNTO A EVALUAR XO Y H 1.047197 0.007

PRIMERA DERIVADA VELOCIDAD P=1, L=3 -12.9955

SEGUNDA DERIVADA ACELERACIÓN P=2, L=3 39.7162

TERCERA DERIVADA P=3, L=4 323.2205

172

Page 174: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

Codificación:

La codificación que genera los resultados mostrados anteriormente es la

siguiente:

!AUTOR: LIC. JORGE LUIS GODIER AMBURGO

PROGRAM DERIVADA TAYLOR P1L3 P2L3 P3L4 - - - -

REAL(4) X{18),Y(18),H

5 WRITE(*, *)' WRITE(*,*)'

DERIVADA POR DESARROLLO DE TAYLOR' P=l, L=3 Y P=2,L=3'

l•JRITE(* _, *)'' WRITE(*,*)' INGRESE PUNTO A EVALUAR X8 Y H' READ(*,*)XS,H !EVALUACION DE FUNCION X(1)=X8 X(2)=X8+H X(3)=X8+2.8*H X(4)=X8+3.8*H Y(l)=F(X(l)) Y(2)=F(X(2)) Y(3)=F(X(3)) Y(4)=F(X(4)) !CALCULO POR FORMULA D13=(1.0/H)*(-1.5*Y(1)+2.8*Y(2)-0.5*Y(3)) D23=(1.8/(H**2))*(Y(1)-2.8*Y(2)+Y(3)) D34=(1.8/(H**3))*(-Y(1)+3.8*Y(2)-3.8*Y(3)+Y(4)) WRITE(*,*)' PRIMERA DERIVADA P=1,L=3' WRITE(*,18)D13 WRITE(*,*)' SEGUNDA DERIVADA VELOCIDAD P=2,L=3' WRITE(*J10)D23 WRITE(*,*)' TERCERA DERIVADA ACELERACIÓN P=3,L=4' WRITE(*,18)D34 WRITE(*J*)'REPETIR LA OPERACION (1JSI/2JNO)' READ(*,*)R IF (R.EQ.l)THEN GOTO 5 ELSE END IF 18 FORMAT(1X,F18.4) END FUNCTION F(X) F=3.8*C05(5.8*X+3.1415926) RETUR!\J END

173

Page 175: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

Problemas de aplicación

Los siguientes problemas y cuestiones pueden resolverse empleando los

algoritmos propuestos para cada método presentado; para una solución usando el

computador, se recomienda elaborar programas en el lenguaje Fortran.

a. A partir de la siguiente tabla de valores de f(x) = senh x, hallar f(0.4),

usando h = 0.001 y h = 0.002. ¿Cuál de estos valores es el más

preciso? El resultado correcto es f(0.4) = cosh (0.4) = 1.081072.

X

0.398

0.399

0.400

0.401

0.402

f(x)

0.408591

0.409671

0.410752

0.411834

0.412915

b. A partir dé la siguiénte tablá hallár f(1.4), hallar tamBién f'(1.4). cómpáre

sus resultados con los valores reales f'(1.4) = cosh (1.4) = 2.1509 y

f'(1.4) == senh (1.4)"" 1.9043, que son correctos hasta las cifras dadas.

x f(x)

1.2 1.5095

1.3 1.6984

1.4 1.9043

1.5 2.1293

1.6 2.3756

c. La ecuación de posición respecto al tiempo para una masa de 0.5 Kg.,

sometida a la acción de un resorte de constante elástica k es

x = 5.0senl2.7t, tal como se muestra en la figura (6.3); calcule la

velocidad, aceleración y energía mecánica del sistema luego de 1.34

segundos.

174

Page 176: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

k

Figura (6.3). Masa sometida a la acción de un resorte.

d. Se conoce la ecuación de posición para un automóvil con aceleración

variabie, donde ia distancia x ai origen después de t segundos está dada

por x = 192t -16t3; determine, la velocidad y la aceleración luego de 5.

segundos.

e. Un móvil describe un movimiento circular, cuyo arco es función del

tiempo y está dado por S = 7 - 2t + t3, donde S está en metros y t en

segundos. Hallar la aceleración total del móvil, después de 5 segundos

que inicio su movimiento, se sabe que el radio es 2·1·1.6 m.

f. Una partícula describe una trayectoria circular de radio 2.o m, y su

posición angular esta descrita de la siguiente forma: 8(t) = 2t3 - t2 + t + 2

(Radianes). Hallar la aceleración tangencial y centrípeta para t = 3 seg.

175

Page 177: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

6.7 Capítulo VIl

7. Integración Numérica

Los problemas de integración numérica, ó cuadratura numérica, consisten en

estima¡ el número 1, tal que:

I = rf(x)dx (7.1)

Este problema surge cuando la integración no se puede realizar exactamente ó

cuando f(x) solo es conocida en un numero finito de puntos. En ciencias e ingeniería

se presenta con frecuencia este tipo de problemas dada la necesidad de integrar una

función que sería, en general, de una de las tres formas siguientes:

.. Una función simple y continua tal como un polinomio, una función exponencial

o una función trigonométriea.

e Una función complicada y continua que es difícil o imposible de integrar

directamente.

• Una función tabulada en donde los valores de x y f(x) se dan en un conjunto de

puntos gi~Gretos, como es el caso a menudo, de o:atos 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 como los que a

continuación se muestran.

7.1 Regla del trapecio y trapecio extendida

La regla del trapecio es un método de integración numérica que se obtiene al

integrar la fórmula de interpolación lineal, En esencia, la técnica consiste en dividir ei

inteNalo total en inteNalos pequeños y aproximar la cuNa en los diversos inteNalos

pequeños mediante alguna cuNa más simple cuya integral puede calcularse utilizando

solamente las ordenadas de los puntos extremos de los inteNalos.

176

Page 178: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

Se puede escribir de la siguiente manera:

rh b-a I = f(x)dx = -_-[f(a)+f(b)]+ E

"• ;¿ (7.2)

Dónde: E, representa el error respecto al valor exacto.

La figura (7.1), muestra gráficamente la integración numérica, denotándola como un

áréá SOmbreada debajo de lá fécia de ifítef'pÓiación, en ei caso dé Ui'i inteNalo [a, b),

de separación h.

f(b)

f(a)~ ·~ . y=t(x)

f 1

1. ,.

b X

Figura (7.1). Integración con método del trapecio para un intervalo.

La ecuación (7.2), se puede extender a varios intervalos y se puede aplicar al caso de

N intervalos con una separación uniforme h. Supongamos el caso de un intervalo [a, b]

dividido en N = 4 sub-intervalos de ancho h, ver figura (7.2).

Figura (7.2). Integración con regla del trapecio, extendida a varios intervalos.

177

Page 179: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

En este caso a = Xo y b = X4, el área total será la suma de las áreas de cada sub­

intervalo, es decir:

Donde, al aplicar la regla del trapecio a cada sub-intervalo tenemos:

h A 1 ="2[f(a)+f(x1)]

A 2 =~[f(x1 )+f(x 2 )] 2

A 3 = h [f(x 2 )+f(x3 )]

2 ,_

A 4 = ~[f(x3 ) + f(b)] 2

Resolviendo para el área total se tiene:

Pero dado que: x1 = a + h, x2 = a + 2h y x3 = a + 3h, y siendo que está

usándose un ancho de paso constante h, la Regla extendida del Trapecio puede

escribirse como:

b h N-1

Atot = { f(x)dx = -[f(a) + 2Lf(a + jh) + f(b)] +E -" 2 j=l

(7.3)

Dónde: h, es el intervalo de paso y numéricamente igual a (b-a)/N

El error en la regla del trapecio decrece en forma proporcional a h3, siendo el resultado

ae la suma ae los errores eñ tOdos los iñtervalos.

178·

Page 180: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

Ejemplo:

Calcular desde 7 hasta 9 la integral de la función: y= xsen 3 (x), emplee un

total de N= 200 sub-intervalos para división del dominio.

Los resultados computacionales arrojan lo siguiente:

INTEGRALES METODO DEL TRAPECIO EXTENDIDO ~=======================================

INGRESO DE DATOS

INGRESE EL LIMITE INF.; LIMITE SUP. [A,B] 7.0 9.0 NUMERO DE INTERVALOS N 200

RESULTADOS

LIM INF: 7.0 LIM SUP: 9.0 ANCHO DE PASO H: 0.01 EL VALOR DE LA INTEGRAL 10.021450

Codificación

La codificación que genera los resultados mostrados anteriormente es la siguiente:

!AUTOR: LIC. JORGE LUIS GODIER AMBURGO

PROGRAM TRAPECIO EXTENDIDO

REAL(4) A,B,H,AINTEG

S WRITE (*,*)'' WRITE (*,*)' PROGRArA METODO DEL TRAPECIO EXTENDIDO• WRITE (*,*)' =========================================== WRITE (*,*)'' t•JRITE f* *'' \ ) 1 INGRESO DE DATOS' WRITE (*,*)' WRITE (*,*) 1 INGRESE EL LIMITE INF.j LIMITE SUP. [A,B]' READ {*,*)A,B WRITE (*,*) 1 NUMERO DE INTERVALOS N ' READ (*,*)N WRITE (*,*)' WRITE (*,*)'' H=(B-A)/N

179

Page 181: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

FA=F(A) FB=F(B) A1=0 DO J=1,(N-1) Al=Al+'F(A+H*J) END DO AINTEG=(0.5*H)*(FA+FB+(2*A1)) WRITE(*, *)' RESULTADOS' WRITE(*,*)' -----------------------WRITE(*,15)A,B,H WRITE(*,*)' EL VALOR DE LA INTEGRAL' WRITE(*,12)AINTEG

12 FORMAT(9X,F9.6) 15 FORMAT(9X, 'LIM INF: ',F9.6,' LIM SUP: ',F9.6,' ANCHO DE PASO

H: ',1"9.4) WRITE(*,*)' -----------------------END

FUNCTION F(X) F=x*(SIN(X))**3 RETURN END

7.2 Regla 1/3 de Simpson

La regla 1/3 de Simpson se basa en la fórmula de interpolación polinomial de

ivewton desarrollada para m = 2, y dada por la ecuación:

Y ajustada a un intervalo [a, b], subdividido en dos sub-intervalos de ancho h, tal como

se muestra en la figura (7.3).

t2 ---=~-y = f(x)

~ii:J~IIII --~..:.==;;;.;.;.;.;..._........,....._..__ X

x0 =a

Figura (7.3). Integración con Regla 1/3 de Simpson para dos sub=intervalos.

180

Page 182: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

Para la deducción de la Regla 1/3, asumiremos un ancho de sub-intervalo igual

a la unidad (h = 1) con a= O y b = 2, es decir que: xk = a= O, xk+1 = 1 y, xk+2 = 2, para k

= O; luego, considerando que s = (x- xk)/h se puede hacer lo siguiente:

Por lo cual:

Resolviendo:

1 ds = -d(x-xk) ~ hds = dx

h

12 12 12 12 (s 2 -s) . h F2 (s)ds = hfk ds + (fk+l - fk )h sds + (fk+Z - 2fk+l + fk )h ds

o o o o 2

=h[2fk +2(fk+l -fk)+~(fk+2 -2fk+l +fk)J

=~[6fk +6fk+l -6fk +fk+2 -2fk+l +fk] 3 h h

=3[fk +4fk+l +fk.r2]=3[f(0)+4f(l)+f(2)]

Como se demuestra, la integración de la fórmula de interpolación de Newton

hacia adelante ajustado a tres puntos Xo. x1 y x2, nos proporciona la Regla de Simpson

1/3, que podemos escribir como sigue:

lb h I = f(x)dx = -[f(a) + 4f(< x >) + f(b)] +E

a 3 (7.4)

Dónde: h, es el intervalo de avance numéricamente igual a (b-a)/2

<x>, es el punto medio del intervalo e igual a (a+b)/2; según esto, es posible extender

ia regla 1/3 de Simpson, para N sub-intervalos (donde N es par').

Sea un intervalo [a, b], dividido en N = 6 sub-intervalos de ancho h = (b-a)/N, tal

como se muestra en la figura (7 .4).

181

Page 183: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

1 XQ =a X2 X3 X4.X5 X6=b X

xl

Figura (7.4). Integración con Regla 1/3 de Simpson para N= 6 sub-intervalos.

Aquí: a = x0 y b = x6, el área total será la suma de las áreas de cada par de sub­

intervalos, es decir:

Al aplicar la Regla 1/3 de Simpson a cada par de sub-intervalos tenemos:

Resolviendo para el área total se tiene:

Pero dado que: x1 =a+ h, x2 =a+ 2h, x3 =a+ 3h, ..... y siendo que está usándose un

ancho de paso constante h, la fórmula recursiva queda como:

h N-1 N-2

A 101 =-[f(a)+4 L f(a+ih)+2 Lf(a+ jh)+f(b)]+E (7.5) 3 i=l j=2

(impares) (pares)

182

Page 184: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

El error en la regla 1/3 de Simpson decrece en forma proporcional a h5, donde

nuevamente el error es la suma de los errores en todos los intervalos y puede ser

aproximado por:

üónde: <x> = (b-a)iN

Ejemplo:

Hallar el centroide de la región R limitada por las gráficas de: y = x?, y = 4,

mostrada en la siguiente gráfica:

-2 X 01 X 2 X

Figura (7.5). Región plana entre dos curvas.

Se sabe que el centroide tiene coordenadas definidas por las ecuaciones:

r xC(x)dx u_ a . A- '

AreadeR

r yC(y)dy y = =Cc___ __

AreadeR

Dónde: C(x) y C(y) son secciones transversales de la Región R y toman valores no

negativos.

Además, el área de una región limitada por dos curvas está dada por la fórmula:

Area= r (f(x)- g(x))dx

183

Page 185: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

En este caso tenemos que la integral del área es:

Area= f2

(4-x2 )dx=10.66666 ~2

Las coordenadas se calculan resolviendo:

- r~ x(4-x2 )dx X= =--...=ck ___ _

r2 (4-x2)dx

o ---=0 10.66666

y - fy(2-JY )dy 25.6 ,., . y=- = =L4

f/4-xz)dx 10.66666 ·

Finalmente las coordenadas del centroide son: (O, 2.4)

Los resultados computacionales con la Regla 1/3 de Simpson extendido para N = 400

son:

METODO DE SIMPSON UN TERCIO EXTENDIDO

INGRESO DE DATOS

INGRESE LOS LIMITES DE OPERACION [A,B] -2 2 NUMERO DE SUB INTERVALOS 400 RESULTADOS

EL VALOR DE LA INTEGRAL 10.666560 NOTA, FUNCION: F=4-x**2

INGRESE LOS LIMITES DE OPERACION [A,B] -2 2 NUMERO DE SUB INTERVALOS 400 RESULTADOS

EL VALOR DE LA INTEGRAL .000000 NOTA, FUNCION: F=4*x-x**3

INGRESE LOS LIMITES DE OPERACION [A,B] o 4

NUMERO DE SUB INTERVALOS 400 RESULTADOS

EL VALOR DE LA INTEGRAL 25.5997 NOTA, FUNCION: F=y*2*SQRT(y)

184

Page 186: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

Codificación:

La codificación que genera los resultados mostrados es la siguiente:

!AUTOR: LIC. JORGE LUIS GODIER AMBURGO

PROGRAM SIMPSON UN TERCIO EXTENDIDO - - -

REAL(4) H,A,B,AREAT

WRITE ( *, *) ' ' WRITE ( *, *) ' l•JRITE(* • *)' WRITE ( *, *)' ' WRITE ( *, *) ' WRITE ( * J *) ' WRITE (*,*)' READ (*,*)A,B WRITE (*,*)' READ(*,*)N WRITE (*,*)' WRITE ( *, *)' ' WRITE ( *, *)' ' H=(B-A)/N FA=F(A) FB=F(B) AREA1=13 AREA2=13

METODO DE SIMPSON UN TERCIO EXTENDIDO' ------------------------------------------~=-=~=~====-=-~====-~-==~===~==g

INGRESO DE DATOS'

INGRESE LOS LIMITES DE OPERACION [A,B]'

NUMERO DE SUB INTERVALOS'

DO J=ljl\1-1,2 AREAl=AREAl+F(A+J*H) END DO DO I=2.,N-2.,2 AREA2=AREA2+F(A+I*H) END DO AREAT=(H*I3.33333)*(FA+FB+(4*AREA1)+(2*AREA2)) WRITE (*,*)N WRITE (*,*)' RESULTADOS' WRITE (*,*)' -----------------------WRITE (*,*)' EL VALOR DE LA INTEGRAL' WRITE (*,12)AREAT 12 FORMAT (9X,F9.6) WRITE (*, *)' WRITE ( *, *)' ' WRITE ( *, *)' ' WRITE ( *, *)' ' END

FUNCTION F(X) !F,..4-X**2 !F=4*X-X**3 F=X*2*SQRT(X) RETURN END

185

Page 187: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

7.3 Regla 3/8 de Simpson

En este caso a diferencia de la Regla 1/3, se integra la fórmula de interpolación

polinomial de Newton desarrollada para m = 3, y dada por la ecuación:

Y ajustada a un intervalo [a, b], subdividido en tres sub-intervalos de ancho h, tal como

se muestra en la figura (7.6).

. ~ 1) it:<2)

~~ 1 llfb;~f~f\., ;.~··',::>~ _:-:,~;:,:]

Figura (7.6). Integración con Regla 3/8 de Simpson para tres sub-intervalos.

Para la deducción de la Regla 3/8, asumiremos condiciones similares a las

usadas para la deducción de la Regla 1/3, es decir: el ancho de sub-intervalo igual a

la unidad (h = 1) con a= o y b = 3, lo cual hace que: Xt< =a= O, xk+1 = 1, xk+2 = 2 y Xt<+3 =

3 = b, para k= O; luego, considerando que s = (x- xk)/h se puede hacer:

1 ds =-:- d(x- x,_) ~ hds = dx h . h"

Por lo cual ahora:

186

Page 188: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

Resolviendo:

La integración de la fórmula de interpolación de Newton hacia adelante

ajustado g cuatro puntos Xo. x1, x2 y x3, nos proporciona la Regla de Simpson 3/8, que

podemos escribir como sigue:

b 3 ' A= i f(x)dx = -h[f(a) + f(b) + 3f(a + h) + 3f(b- h)]

a 8

Dónde: h, es el intervalo de avance numéricamente igual a (b-a)/3

Es posible extender la regla 3/8 de Simpson, para N sub-intervalos (donde N es

múltiplo de tres), por aplicación repetida de la ecuación anterior.

Sea un intervalo [a, b], dividido en N = 9 sub-intervalos de ancho h = (b-a)/N, tal como

se muestra en la figura (7.7).

Figura [1.7). Integración con Regla 3/8 de Simpson para N= 9 sub-intervalos.

187

Page 189: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

Aquí: a = Xo y b = x9 , el área total será la suma de las áreas de cada tres sub­

intervalos, es decir:

Al aplicar la Regla 3/8 de Simpson a cada tres de sub-intervalos tenemos:

3 A1 = 8h[f(a) + 3f(x1 ) + 3f(x2 ) + f(x3 )]

3 A 2 = -h[f(x 3 ) + 3f(x 4 ) + 3f(x5 ) + f(x 6 )]

8

A 3 =~h[f(x 6 )+3f(x 7 )+3f(x8 )+f(b)] 8

Resolviendo para el área total se tiene:

Sabemos que: x1 = a+ h, x2 = a+ 2h, X:3 = a + 3h, ..... y siendo que está usándose un

ancho de paso constante h, la fórmula recursiva queda como:

3 N-1,3 N-2,3 N-3,3

A101 =-h[f(a)+3 L f(a+ih)+3 Lf(a+ jh)+2 Lf(a+mh)+f(b)]+E 8 . i=2 j=l m=3

(de3en3) (de3en3) (de3en3)

(7.6)

El error en la regla 3/8 de Simpson decrece en forma proporcional a h5, donde el error

es la suma de los errores en todos los intervalos y puede ser aproximado por:

Dónde: <x> = (b-a)/N

188

Page 190: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

Ejemplo:

Calcular el área comprendida entre las curvas y = sen(x) e y = cos(x) en el

intervalo [n/4, n], utilice N = 9.

Figura (7.8). Región plana entre sen(x) y cos(x).

En este caso la integral a resolver es la siguiente:

Area = J~ (sen(x)- cos(x))dx 4

Los resultados computacionales con la regla 3/8 de Simpson sori los siguientes:

CALCULO DE INTEGRALES METODO DE SIMPSON TRES OCTAVOS ~===================================================

INGRESO DE DATOS

INGRESE LOS LIMITES DE OPERACION [A,B] 0.785398 3.141592

INGRESE EL NUMERO DE INTERVALOS MULTIPLO DE 3

H= 0.261799 RESULTADOS

EL VALOR DE LA INTEGRAL 2.414357

189

Page 191: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

12 13

Codificación:

La codificación que genera los resultados mostrados es la siguiente:

!AUTOR: LIC. JORGE LUIS GODIER AMBURGO

PROGRAM SIMPSON TRES OCTAVOS

REAL(4) H,N,A,B,AREAT

WRITE (*,*)'' ~~~JRITE (*, *) ' METODO DE SIMPS.ON TRES OCTAVOS' WRITE (*,*)' ========================================' WRITE (*, *) ' ' WRITE (*,*)' INGRESO DE DATOS' WRITE (*,*)' -----------------------------------------' WRITE (*,*)' INGRESE LOS LIMITES DE OPERACION [A,B]' READ (*,*)A,B WRITE (*,*)' INGRESE EL NUMERO DE INTERVALOS MULTIPLO DE 3' READ(*,*)N WRITE (*,*)' ---------------------------------------------' WRITE (*,*)'' WRITE (*,*)'' H=(B-A)/N FA=F(A) FB=F(B) AREA1=0 AREA2=0 AREA3=0 DO J=2,N-1,3 AREA1=AREA1+F(A+J*H) END DO DO I=1,N-2,3 AREA2=AREA2+F(A+I*H) END DO DO M=3,N-3,3 AREA3=AREA3+F(A+M*H) END DO AREAT=(H*0.375)*(FA+FB+3*AREA1+3*AREA2+2*AREA3) WRITE (*,13)H WRITE ~·JRITE

WRITE WRITE FORMAT FORMAT WRITE WRITE WRITE WRITE END

(*,*)' RESULTADOS' 1* *' 1 -----------------------' \ , 1

(*,*)' EL VALOR DE LA INTEGRAL' (*, 12) AREAT (9X, F9. 6) (9X, ' H= ',F9.6)

(* r *) ' (*,*)" (*,*)" (*,*)"

-----------------------'

190

Page 192: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

FUNCTION F(X) F;::SIN(X)-COS(X) RETURN END

7.4 Cuadratura de Gauss-Legendre

Las cuadraturas de Gauss-Legendre, son métodos de integración numérica

que utilizan puntos de Legendre (raíces de los polinomios de Legendre). Las

cuadraturas no se pueden utilizar para integrar una función dada con intervalos de

separación uniforme debido a que íos puntos de Legendre no están separados de esa

manera. Se establece que la cuadratura de orden N es exacta cuando se integra un

polinomio de orden menor ó igual a 2N-1, donde los N puntos de la retícula (puntos de

Gauss) se obtienen mediante las raíces del polinomio de Legendre PN(x) = O, donde

PN (x) es e! polinomio de orden N.

La cuadratura de Gauss que se extiende sobre el intervalo [-1, 1], está dada por:

1 N

f. f(x)dx = ). w J(xk) .J-1 . . - . ~-

k=l

(7.8)

Dónde: N, es el número de puntos de Gauss

W¡ son los pesos y las X¡ son los puntos de Gauss.

La tabla (7.1) proporciona valores para los pesos y los puntos x, en este caso los \

signos ±, indican que son pares uno de los cuales es positivo y el otro negativo.

Tabla (7.1), Puntos de Gauss y pesos

W¡ . . ·:·· . ..... -.. -~:,..,,.,.._, ._,,,.,_ ...... ,._,, .. -...... ~,..·· '"'~-. ..-.-.·---····""·'''''"'~"""·"''''''' .......

191

1.0.·····

0.8889

0.5556

·· .. cr6s21·······.····· .. · . ·.···. . ..

·. 6.3479·.· .. ·. ·.

0.5689

0.4786

0.2369

Page 193: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

···~····•···~ •• ~-,--~-····.·.·.··o?i~é~§p··;~;:·5·:·?T7"9~4$7~'--············ .. ··. ·.

···•·••·•···•··•·••·•··•·•• ....•. • ... • .•.••••......•.••.•. •.•• .•...•.•.•.•.••.••..•.•..•..•.•.... •.•.·.•·.•.o0 .•. ·.·.•.~.•···69s3••·•·•·•··•21·······25••·••····•0o0o·········. ···.·.· .. ··.·.·.·.·.•· .. • .... • .... · .. •·.• .. ··.·.•·.·• ..... · .. ···••··.•····•:······•·.·•·.···•·•·· ó.366á•·•····· .. ·.··.:.·.••·.··•···········• ()_1"713 i .. : .. • .. ·. a \ < ó.1aj4~ó\·•···.· .. ·.·............... ··.·.··.··.· 0.3627

···•·••· ......................... q_g~s5~d·•.·•·······• \.· .. ·.·. ·•·.·.· .. ·.·•··.· ........•.•••••..• &1~66"ló·•···········.i·.····.·······

·•··• ···•• \ ().~~h~aª \·.·•·•··.

0.3i37

0.??24

0.1213 ···--:¡·a---··"'• : :.;o-.fh·a88~f·.···-~·-' .............. cf2sss·-- ········

\ < ·a>··_\4· ... ··.·•3······· .... 3··.··.· .. 3··.·· .. ··9• ... ·5·.· .. •·· .. ·.•.·· ... ·: .. :.· ..•.. ·· .. ·.· .. ·· 0.2693 ·.--- .. <-.:·.>>:-

. • >'•· 6.éi.s48s·,•··. ;;; o ....... ~.E3~.Ó6. 3.•··.··•. i> · .·· ...... _ :'·.,:_:.-.:.

0.2191

0.1495 .. ().~739()7 .

, .. -~-... _____ .... ___ --~~-:--:~.- :.~-: .. __ ::.L:·uL~·:,~-:·<~~~-;~~ -,~--.... ~_. ,;_·:~~-- ~-0.0667

Si N"" 4, el desarmllo de la ecuación (7.8) pmporciona:

f/(x)dx = 0.3478f( -0.86113) + 0.65214f( -0.33998) + 0.65214f(0.33998)

+ 0.34785f(0.86113)

La fórmula de integración de Gauss, puede aplidarse a cualquier intervalo arbitrario [a,

b], con la transformación: !

1

2z -a~ b X=----

b-a (7.9)

Dónde: z, es la coordenada original en a < z < b y x es la coordenada

normalizada en -1 s; x s; 1.

La transformación de x en z, se realiza mediante:

(b -a)x+a+ b z=-----

2 (7 .1 O)

Por medio de esta transformación la integral se puede escribir como:

fb fl 1b-a~ f(z)dz = f(z)(dz/dx)dx = -- 7. w1 f(z.k)

~ ~ 2 ~ . (7.11)

192

Page 194: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

Dónde: dz (b-a)

dx 2

Los valores de Zk se obtienen al sustituir x en la ecuación (7.11), por los puntos de

Gauss, es decir:

Ejemplo:

(b-a)xk +a+ b ZJs: =

2 (7.12)

Hallar usando la cuadratura de Gauss-Legendre el volumen V de un sólido de

Revolución generado al rotar el área ubicada debajo de la gráfica de la curva y = x2,

encima del eje x y limitada por las rectas x = O y x = 1, ver figura (7 .9).

yl 2 f(x.) = "

f(xJ -- --

o V -~

Figura (7.9). Solido de Revolución.

El volumen de este solido según el método del disco, implica la solución de la

siguiente integral:

Los resultados usando la cuadratura de Gauss-Legendre para N=1 O son:

193

Page 195: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

CUADRATURA DE GAUSS-LEGENDRE N=10 PERHITE INTEGRAR HASTA GRADO 19

INGRESE LIMITES DE INTEGRACION A,B o 1 PUNTOS DE GAUSS TRANSFORMADOS z(Xk)

.57444

.42556

.71670

.28330

.83970

.16030

.93253

. o 6747

.98695

.01305 PESOS Wk

.29550

.26930

.21910

.14950

.06670 AREA CALCULADA

. 62844

Codificación:

La codificación que genera los resultados mostrados es:

!AUTOR: LIC. JORGE LUIS GODIER AMBURGO

PROGRAM CUADRATURA_GAUSS_LEGENDRE

REAL(4) X(11),W(6),Z(11)

WRITE(*,*)' CUADRATURA DE GAUSS-LEGENDRE N=18' WRITE(*,*)' PERMITE INTEGRAR HASTA GRADO 19' t.IRTTI=f* *)'' .,, ... 1 L..\ J

WRITE(*,*)' INGRESE LIMITES DE INTEGRACION A,B' READ(*,*)A,B !PUNTOS DE GAU$$ Y PESOS PARA N=le X(1)= 8.148884 X(2)= -8.148884 W(1)= 8.2955 X(3)= 0.433395 X(4)= -8.433395 W(2)= 0.2693 X(5)= 8.679489 X(6)= -8.679489 W(3)= 0.2191 X(7)= 8.865063

194

Page 196: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

X(8)= -0.865063 ~·J( 4) = e .1495 X(9)= 0.973907 X(10)= -0.973907 wcs)= e.e667 DO I=1J10 Z(I)=((B-A)*X(I)+A+B)*0.5 END DO UNO=F(Z(l))*W(l)+F(Z(2))*W(l) DOS=F(Z(3))*W(2)+F(Z(4))*W(2) TRES=F(Z(S))*W(3)+F(Z(6))*W(3) CUATRO=F(Z(7))*W(4)+F(Z(8))*W(4) CINCO=F(Z(9))*W(S)+F(Z(10))*W(S) AREA=(B-A)*0.5*(UNO+DOS+TRES+CUATRO+CINCO) WRITE(*J*) 'PUNTOS DE GAUSS TRANSFORMADOS z(Xk)' DO I=1J10 WRITE(*J10)Z(I) END DO WRITE(*J*) 'PESOS Wk' DO I=lJS l•JRITE(*) 10)l•J(I) END DO WRITE(*J*) 'AREA CALCULADA' WRITE(*J10)AREA WRITE(*J*)' LIMITES DE INTEGRACION AJB' WRITE(*J10)AJB

10 FORMAT (2XJF9.5J1XJF9.5) END

FUNCTION F(X) F=3.1415926*X**4 RETURN END

195

Page 197: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

Problemas de aplicación

Los siguientes _problemas y cuestiones pueden resolverse empleando los

algoritmos propuestos para cada método presentado; para una solución usando el

computador, se recomienda elaborar programas en el lenguaje Fortran.

a. Hallar el área A de la región que se encuentra fuera de la cardioide r =

2(1+cose) y dentro de !a circunferencia· r;;; 6cose, ver figura (7.10).

y¡ r.:: 2(1 + COS8"__....,.._...._

Figura (7.10). Región entre dos curvas polares.

b. Hallar el volumen del sólido generado por la región plana encerrada por

la curva y = 6x - x2 - 8 y el eje x al girar alrededor del eje y, ver figura

(7.11).

Figura [1.11). Curva que genera sólido de revolución.

196

Page 198: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

c. Hallar el volumen V del sólido de revolución generado al rotar la región

comprendida entre las cuNas y = x2 y y = x+2, alrededor del eje x, los

puntos de intersección son: (-1, 1) y (2, 4) ver figura (7.12).

Figura (7.12). Curva que genera sólido de revolución.

197

Page 199: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

6.8 Capítulo VIII

8. Solución de Ecuaciones diferenciales

Se denomina ecuación diferencial a aquella ecuación que contiene una variable

dependiente y sus derivadas con respecto a una o más variables independientes.

Muchas de fas leyes generales de fa naturaleza se expresan en el lenguaje de fas

ecuaciones diferenciales; abundan también las aplicaciones en ingeniería, economía,

matemáticas y en muchos otros campos de la ciencia aplicada. En este capítulo

iniciamos el tratamiento computacional de las EDO, estudiando los métodos de Eufer,

los cuales son adecuados para una programación rápida debido a su sencillez; sin

embargo, a pesar de su gran estabilidad, requiere un tamaño de paso muy pequeño

para alcanzar una precisión razonable por lo cual muchas veces es inútil para

problemas prácticos.

8.1 Solución de ecuaciones diferenciales ordinarias de primer orden

Si se tiene una función y = f(x); entonces, puede calcularse su derivada dy/dx,

la cua.l se interpreta como la ra¡ón de cambio de y con respecto a x, esto es útil dado

que en cualquier proceso natural, las variables incluidas y sus razones de cambio se

relacionan entre sí, mediante estos símbolos matemáticos que en conjunto se

denominan ecuación diferencial.

Una ecuación diferencial ordinaria (EDO), de primer orden puede escribirse como:

dy = f(x y) dx '·

(8.1)

Su solución general debe contener una constante arbitraria e, de modo que la función

solución es:

f(x,y,c) =O (8.2)

Donde para cada valor de e, existe una solución particular, analíticamente dicha

constante se obtiene exigiendo que la solución de esa ecuación pase por algún punto

(xo, Yo), es ciecir:

(8.3)

Esto significa que la variable y vale Yo, cuando la variable x vale Xo.

198

Page 200: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

Dado que en la práctica gran cantidad de ecuaciones no pueden resolverse

analíticamente, se deberá recurrir a métodos numéricos. En lo que sigue veremos las

dos variantes del método de Euler para solucionar ecuaciones diferenciales ordinarias,

cuando se conocen las condiciones iniciales.

8.2 Método de Euler hacia adelante

Una gran parte de los métodos numéricos para solucionar las ecuaciones

diferenciales parciales parabóiicas e hiperbóiicas que son mucho más complicadas

que las ecuaciones diferenciales ordinarias se basan en los métodos de Euler y no en

los métodos Runge~Kutta o Predictor Corrector debido a su sencillez.

Este método se obtiene rescribiendo la aproximación por diferencias hacia

adelante, lo cual matemáticamente se logra dividiendo el intervalo de análisis que va

de Xo a Xt en n sub-intervalos de ancho h, es decir:

(8.4)

De manera que se obtiene un conjunto discreto de (n + 1) puntos en el intervalo de

interés [Xo, Xt]; así, para cualquiera de estos puntos se cumple que:

X¡= Xo + ih eón: O::; i::; n (8.5)

La condición inicial Y(Xo) = Yo, representa el punto Po = (Xo, Yo) por donde pasa la curva

solución de la ecuación diferenciaL Con el punto Po se puede evaluar la primera

derivada de f(x) en ese punto, es decir:

(8.6)

Con esa información se traza una recta, aquella que pasa por p0 y de pendiente

figura (8.1).

199

Page 201: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

y t

f(x)/ , /f(Xo,Yo)

y, l---------- -i Yo f---!'.?_ ¡

: h : 1 1 + :---:, X

Figura (8.1 ). Recta tangente en punto de la curva que aproxima f(x).

Usando la definición de la pendiente y tomando al punto P1 que pertenece a la

réctá tangeñte a po, escribimos:

(8.7)

Entonces:

(8.8)

ó bien:

(8.9)

Como el valor de y1 sirve para aproximar f(x) en el punto p1 = (x1, y1), es posible repetir

el proceso anterior generando la sucesión de aproximaciones siguientes:

Y1 =yo +hf(xo,Yo)

y2 =y¡ +hf(x~>yi)

Y n =Y n-l +hf{xn_¡,y n-i)

(8.10)

El error local es proporcional a h2 y el error global es proporcional a h. De modo

que mientras más pequeño sea el intervalo de avance mayor será la exactitud del

método.

200

Page 202: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

Ejemplo:

Se conoce la ecuación diferencial de movimiento de un bloque con 100 Kg. de

masa que se desliza por un plano inclinado 0.5235 radianes respecto a ia horizontal;

adicionalmente, se sabe que la fuerza de rozamiento f que se opone al movimiento es

85 N y la resistencia del aire R es 0.05 veces la velocidad. La ecuación diferencial es:

dv 100-. + 0.05v + 85-490 =O

dt

Resuelva para velocidad desde O hasta 1 O segundos con un total de 1 O ptas.,

considere que v = O en t = O.

Los resultados computacionales son los siguientes:

SOLUCION DE E.D.O. METODO EULER HACIA ADELANTE ~~==============================================

INGRESO DE DATOS

INGRESE EL NUMERO DE PUNTOS (N) 1D

INGRESE LOS LIMITES DE OPERACION [A,B] 0.0 10.0 INGRESE LAS CONDICIONES INICIALES (XO, YO) 0.0 0.0

RESULTADOS

X Y(X)

.000000 .000000 l. 000000 4.050000 2.000000 8.097975 3.000000 12. L43930 4.000000 16.187850 5.000000 20.229760 6.000000 24.269650 7.000000 28.307510 8.000000 32.343360 9.000000 36.377190

10.000000 40.409000

201

Page 203: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

Codificación:

La codificación que genera los resultados computacionales mostrados es la

siguiente:

! AUTOR: LIC. JORGE LUIS GODIER AMBURGO

PROGRAM EULER ADELANTE

REAL (4) xe, ve, A, B, H, XK(leee), VK(leee), N

1e WRITE(*,*)'' WRITE(*,*)' SOLUCION DE E.D.O. METODO EULER HACIA ADELANTE' WRITE(*;*)' =====~~=======~~============================== WRITE(*, *)'' WRITE(*,*)' INGRESO DE DATOS' WRITE(*,*)' ----------------------------------------------WRITE(*,*)' INGRESE EL NUMERO DE PUNTOS (N)' READ(*,*)N WRITE(*,*)' INGRESE LOS LIMITES DE OPERACION [A,B]' READ(*,*)A,B WRITE(*,*)' INGRESE LAS CONDICIONES INICIALES (Xe,Ve)' READ(*,*)Xe,ve XK(l)=Xe VK(l)=Ye H=(B-A)/N 00 I=2,N+í YK(I)=YK(I-l)+H*F(XK(I-l),YK(I-1)) XK(I)=XK(I-l)+H ÉND DO WRITE(*,*)' RESULTADOS' WRITE(*,*)' ----------------------WRITE(*,*)' ====================== WRITE(*,*)' X V(X)' WRITE(*,*)' ====================== DO J=1_,N+1 WRITE(*,2e)XK(J),VK(J) END DO

2e FORMAT(2X,F1e.6,4X,F1e.6) WRITE(*,*)' ====================== END

FUNCTION F(X,V) F~4.es-e.eees*v+e.e*x

RETURN END

202

Page 204: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

8.3 Método de Euler modificado

La modificación realizada al método de Euler incrementa su precisión y

estaoilidaa, se obtiene apiicañao la Regla del Trapecio para integrar la ecuación (8.1),

desde Xn hasta Xn+ 1, es decir:

JYn+l d Jxn+l f1Y )d y=+ ,x,y x Yn Xn

Jxn+l

Yn+l=Yn+ f(x,y)dx Xn

Lo que nos lleva a la ecuación:

(8.11)

La ecuación (8.11), requiere un valor estimado de Yn+1 al lado derecho; en primera

instancia este valor puede ser Yn y luego reemplazarse por valores calculados de Yn+1 ,

para refinar el resultado, así:

Para el caso de n = O, la primera iteración se escribirá como:

(8.12)

La segunda aproximación se escribe usando el valor ya calculado en la ecuación

(6.12), el superíndice de e indica el orden de aproximación.

(8.13)

Este proceso deberá repetirse hasta que se cumpla la siguiente condición de

convergencia:

k+! k y n+l -y n * 1 (\(\ - t> 0/~ <' e 0/.0

k+l .1.-v-v-- '"'a rv ~ s /-'(

Y n+l

203

Page 205: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

Donde ea% es el error porcentual relativo alcanzado y e5% es el error porcentual

relativo solicitado. Luego de esto puede cambiar el subíndice n y repetir el esquema

hasta alcanzar el total de puntos requeridos.

Ejemplo:

La ecuación diferencial que permite conocer la velocidad a la que se enfría una

sustancia al aire libre, es enunciada en la "Ley de enfriamiento de f\!ewton", la .cual

afirma que la velocidad de enfriamiento es proporcional a la diferencia entre la

temperatura de la sustancia y la del medio circundante; matemáticamente, se escribe

como:

Dónde: T, es la temperatura de la sustancia en el instante t.

Ta. es la temperatura del medio circundante.

K, es una constante de proporcionalidad (depende de la sustancia).

Resuelva la ecuación diferencial considerando Ta = 20 °C, K= 0.7 y T =50 °C, para t

=O sag. Obtanga valoras para t dasda O hasta 10 sag. con un total de 10 puntos y un

error porcentual de 0.1 %.

Los resultados computacionales son los siguientes:

SOLUCION DE E.D.O. METODO EULER MODIFICADO ==========================================

INGRESO DE DATOS

INGRESE EL TOTAL DE PUNTOS (N) 10 INGRESE LOS LIMITES DE OPERACION [A,B] o 10 INGRESE LAS CONDICIONES INICIALES (XO,YO) o 50 INGRESE ERROR PORCENTUAL SOLICTJ.I.DO (ES) 0.1

204

Page 206: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

RESULTADOS POR ITERACION

PUNTO NRO. 2 ITERACION NRO. 1

1.000000 29.000000 72.413800 ITERACION NRO. 2

1.000000 36.350000 20.220080 ITERACION NRO. 3

1.000000 33.777500 7.616012 ITERACION NRO. 4

1.000000 34.677880 2.596397 5

.917075 6

ITERACION NRO. 1.000000 34.362740

ITERACION NRO. 1.000000 34.473040

ITERACION NRO. 1.000000 34.434440

ITERACION NRO. 1.000000 34.447950

.319955 7

.112111 8

. .039223 PUNTO NRO. 3 ITERACION NRO. 1

2.000000 24.339120 41.477770 ITERACION NRO. 2

2.000000 27.872480 12.676880 ITERACION NRO. 3

2.000000 26.635800 4.642914 ITERACION NRO. 4

2.000000 27.068640 l. 599040 ITERACION NRO. 5

2.000000 26.917140 . 5 62820 ITERACION NRO. 6

2.000000 26.970170 .196603 ITERACION NRO. 7

2.000000 26.951610 .068859 PUNTO NRO. 4 ITERACION NRO. 1

3.000000 22.078990 22.153100 ITERACION NRO. 2

3 . .00.00.0.0 23.79.0900 7.195667 ITERACION NRO. 3

3.000000 23.191730 2.583553 ITERACION NRO. 4

3.000000 23.401440 .896138 ITERACION NRO. 5

3.000000 23.328040 .314629 ITERACION NRO. 6

3.000000 23.353730 .109996 ITERACION NRO. 7

3.0.0.0000 23.344740 .038515 PUNTO NRO. 5 ITERACION NRO. 1

4.000000 21.000270 11.206790 ITERACION NRO. 2

4.000000 21.823980 3.774331

205

Page 207: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

ITERACION NRO. 4.000000 21.535690

ITERACION NRO. 4.000000 21.636590

ITERACION NRO. 4.000000 21.601270

ITERACION NRO. 4.000000 21.613640

PUNTO NRO. 6 ITERACION NRO.

5.000000 20.488420 ITERACION NRO.

5.000000 20.877920 ITERACION NRO.

5.000000 20.741590 ITERACION NRO.

5.000000 20.789310 ITERACION NRO.

5.000000 20.772610 PUNTO NRO. 7 ITERACION NRO.

6.000000 20.225940 ITERACION NRO.

6.000000 20.423120 ITERACION NRO.

6.000000 20.354100 ITERACION NRO.

6.000000 20.378260 ITERACION NRO.

6.000000 20.369800 PUNTO NRO. 8 ITERA.CION NRO.

7.000000 20.107980 ITERACION NRO.

7.000000 20.202580 ITERACION NRO.

7.000000 20.169470 ITERACION NRO.

7.000000 20.181060 PUNTO NRO. 9 ITERACION NRO.

8.000000 20.058370 ITERACION NRO.

8.000000 20.097260 ITERACION NRO.

8.000000 20.083650 PUNTO NRO. 10 ITERACION NRO.

9.000000 20.020330 ITERACION NRO.

9.000000 20.047260 ITERACION NRO.

9.000000 20.037830 PUNTO NRO. 11

206

3 1.338697 4

.466360 5

.163493 6

. 057193

1 5.431644 2 l. 865615 3

. 657258 4

.229513 5

.080398

1 2.785383 2

.965474 3

. 3390 65 4

.118532 5

.041500

1 l. 344118 2

.468242 3

.164157 4

.057425

1 .553861

2 .193475

3 . o 677 61

1 .384236

2 .134303

3 .047032

Page 208: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

Gráfica:

ITERACION NRO. 10.000000 20.008050

ITERACION NRO. 10.000000 20.021770

RESULTADOS

X Y(X)

.000000 50.000000 1.000000 34.447950 2.000000 26.951610 3.000000 23.344740 4.000000 21.613640 5.000000 20.772 610 6.000000 20.369800 7.000000 20.181060 8.000000 20.083650 9.000000 20.037830

10.000000 20.021770 .;;::;:::::::.=_=;::::;;::::;:::;:::::;:::::;:::;:::::;::::::;:::;::=;:::;;::::::;:::::;:::::;:;;;;;;;~;;:

1 .195949

2 . 068542

La grafica generada con los resultados mostrados es la siguiente:

. 207

Page 209: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

Codificación:

La codificación que genera los resultados mostrados es la siguiente:

AUTOR: LIC. JORGE LUIS GODIER AMBURGO

PROGRAM EULER MODIFICADO

REAL(4) X8JV8JAJBJHJNJYK(1888)JXK(1888)

18 WRITE(*J*)'' WRITE(*'J*')' SOLUCION DE E.D.O. METODO EüLER MODifi(ADO' WRITE(*J*)' ==========================================' WRITE ( * J *) ' ' WRITE(*J*)' INGRESO DE DATOS' WRITE(*J*)' ------------------------------------------­WRITE(* J *)' INGRESE EL TOTAL DE PUNTOS (N)' R~A!J{*,*)N WRITE(*J*)' INGRESE LOS LIMITES DE OPERACION [AJB]' READ(*J*)AJB WRITE(*J*)' INGRESE LAS CONDICIONES INICIALES {X8JV8)' READ(*J*)X8JV8 WRITE(*J*)' INGRESE ERROR PORCENTUAL SOLICTADO (ES)' READ(*J*)ES WRITE(*J*)' -----------------------------------------­H=(B-A)/N XK(1)=X8 Yk(i}=Y~ YY=Y8 OPEN(1JFILE='EULERMOD.TXT') WRITE(*J*)' RESULTADOS POR ITERACION' WRITE(*J*)' ------------------------DO I=2JN+1 1\JN~l

WRITE(*J*)' PUNTO NRO. 'JI XK(I)=XK(I-1)+H

15 YK(I)=YK{I-1)+(H*8.5)*(F{XK(I-1),YK(I-1))+F(XK(I),VV)) EA=ABS((YK(I)-VV)/VK(I))*188 WRITE(*J*)' ITERACION NRO. 'JNN WRITE(*J128)XK(I)JVK(I)JEA IF(EA.GT.ES)THEN YY=YK(I) NN=NN+1 GOTO 15 END IF END DO J..JRITE ( *,; *) ' WRITE ( * J *) ' WRITE ( * J * ) ' WRITE{*J*)'

RESUL TJmOS' ======================

X Y(X)' ======================

208

Page 210: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

DO J=1,N+1 WRITE(*,20)XK(J),YK(J) WRITE(1,20)XK(J),YK(J) END DO

2@ FQRM~T(2X,fl@,6,4X,Fl0.6) 120 FORMAT(2X,3(1X,F10.6))

WRITE(*,*)' ====================== END

FUNCTION F(X,Y) F=-0.7*Y+14+0.0*X RETURN END

8.4 Método de Runge-Kutta de Segundo Orden

Una desventaja fundamental de los métodos de Euler consiste en que los

órdenes de precisión son bajos, esto impiica que para mantener una precisión

aceptable se requiere un h pequeño, lo que aumenta el tiempo de cálculo y provoca

eíiOíes de íedondeo consideíables. Los métodos de ~unge-Kútta tíatan de obtenei

mayor precisión, y al mismo tiempo evitan la necesidad de derivadas de orden

superior, calculando la función f(x,y) en puntos seleccionados de cada subinterva!o.

Una mayor precisión ocasiona que los errores de redondeo decrezcan más rápido al

reducir h.

Los métodos Runge-Kutta se obtienen aplicando la Regla del Trapecio para

integrar la ecuación (8.1), desde Xn hasta Xn+1, es decir:

f.Yn+l d _ f.Xn+l f¡( )d Y-+ x,y x

;.yn ~Xn

Ixn+l

Yn+I=Yn+ f(x,y)dx Xn

Lo que puede escribirse como:

(8.14)

209

Page 211: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

En la ecuación (8.14) Yn+1 es una incógnita, y aparece en el segunto termino al lado

derecho de la ecuacion por lo que lo aproximamos mediante f(xn+1,<Yn+1>), donde

<yn+1> es la primera estimación de Yn+1 obtenida mediante el método de Euler hacia

adeiante. E.ste esquema se conoce como eí metodo de R.unge-K.utta de segundo orden

y se resume como:

<yn+l >=yn +hf(xn,Yn)

h Y n+l =Y n + 2[f(xn,Y n) + f(xn+l' <Y n+l >)

Xn+l=Xn+h

En este caso el error local es proporcional a h2 y el error global proporcional a h3.

Ejemplo:

(8.15)

Una resistencia de 5 .Q y un inductor de 1 Henrio se conectan en serie con un

génetaaot a e cotriéñte aitérñá E = 1 ocos(5t) voltios. Si la corrieñte es o eñ t = o-; calcule la corriente para t desde O hasta 1 .O segundos, considerando 15 puntos, vease

la figura (8.2).

Usando la Ley de Kirchhoff modelamos la situación anterior con el siguiente

problemª de vªlor iniciªl;

Reemplazando valores tenemos:

F"igu¡a (8.2). CiíCuito r:tL.

L di =E-Ri dt

L=1H

V L..____.

R=5 Ohm

210

Page 212: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

Los resultados computacionales son los siguientes:

SOLUCION DE E.D.O. METODO RUNGE KUTTA 2 ORDEN

INGRESO DE DATOS

INGRESE EL NUMERO DE PUNTOS (N) 15 INGRESE LOS LIMITES DE OPERACION [A,B] 0.0 1.0 INGRESE LAS CONDICIONES INICIALES (XO,YO) 0.0 0.0

RESULTADOS

X

.0000

.0667

.1333

.2000

. 2667

.3333

.4000

. 4667

.5333

. 60 00

. 6667

. 7.333

.8000

. 8667

.9333 1.0000

F (X)

.000000 . 53720.8 .859936 .975807 .903230 . 672700 .325851

-.087393 -.513061 -.898170

-1.195901 -l. 3702.85 -l. 399818 -l. 279581 -1.021609

-.653432

211

Page 213: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

Gráfica:

La grafica generada con los resultados mostrados es la siguiente:

1.5

Codificación:

La codificación que genera los resultados computacionales mostrados es la

siguiente:

! AUTOR: LIC. JORGE LUIS GODIER AMBURGO

PROGRAM RUNGEKUTTA_20RDEN

10 WRITE(*J*)'' WRITE(*J*)' SOLUCION DE E.D.O. METODO RUNGÉ KUTTA 2 ORDEN' WRITE(*J*)' =============================================' WRITE(* J *)'' WR!TE(*;*)' INGRESO DE DATOS' WRITE(*J*)' ---------------------------------------------WRITE(*J*)' INGRESE EL NUMERO DE PUNTOS (N)' READ(*J*)N WRITE(*J*)' INGRESE LOS LIMITES DE OPERACION [AJB]' READ(*J*)AJB WRITE(*J*)' INGRESE LAS CONDICIONES INICIALES (X0JV0)' .·

READ(*J*)X0JV0 WRITE(*J*)' ---------------------------------------------' WRITE(* J *)'' XK(l)=X0 YK(l)=Y0

212

Page 214: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

H=(B-A)/N DO L=l,N+l XK(I+l)=XK(I)+H YY=YK(I)+H*F(XK(I),YK(I)) YK(I+l)=YK(I)+(e,5)*H*(F(XK(I),YK(I))+F(XK(I+l),YY)) END DO OPEN(l,FILE='RK2.TXT') WRITE(*,*)' RESULTADOS' WRITE(*,*)' --------------------WRITE(*,*)' ==================== WRITE(*,*)' X F(X)' WRITE(*,*)' ==================== DO I=l,N+l WRITE(*,28)XK(I),YK(I) WRITE(i,20)XK(!),VK(t) END DO

28 FORMAT(2X,F9.4,3X,F18.6)

END

FUNCTION F(X,V) c-1~*rocr~*v)~s*v 1 --~.v """ -" \ _, ' ' - •

RETURN END

8.5 Método de Runge-Kutta de tercer orden

Es el resultado de aplicar un esquema de integración numérica de orden

superior al segundo término de la ecuación (8.1). La modificación realizada al método

incrementa su precisión y estabilidad y se obtiene aplicando la Regla 1/3 de Simpson.

rb h I= J, f(x)dx=-[f(a)+4f(<x>)+f(b)]

a 3

Dónde: h, es el intervalo de avance numéricamente igual a (b-a)/2

En este caso la función a integrar es dependiente de dos variables:

Iy n+l d rx•+l fi't )d y=+J, \x,y x JJJ X_g

rxn+l y n+l =y n + J, f(x, y)dx

x.

213

Page 215: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

Por lo cual se tiene que:

h Yn+J =y_n +~[f(x_u,Y_u)+4f(x 1 ,<y _¡ >)+f(xD+l'<Yn+J >)]

J n+- n+-2 2

(8.16)

Donde <Yn+1> y <Yn+ 112>, son estimaciones, que pueden obtenerse mediante el método

de Euler hacia adelante; entonces, para el caso de <Yn+1f2>, se aplica la siguiente

fórmula recursiva:

(8.17)

Esta fórmula considera la mitad de un intervalo normal (h/2). La aproximación para

~Yn+1~ es:

<Y n+1 >=Y n + hf(x 1 < Y 1 >) (8.18) n+- n+-

2 2

Este esquema se denomina Método de Runge-Kutta de tercer orden.

Ejemplo:

En organismos con eventos reproductivos continuos, la tasa de recambio

poblacional se denomina tasa de crecimiento innato o capacidad innata de aumento -r;

esta cantidad se puede calcular mediante la ecuación:

r= b(Ro) T

Donde, Ro, es la tasa de reproducción neta de la población (constante) y T es el

tiempo de generación. Se desea calcular el crecimiento poblacional de una ciudad en

un periodo de 10 años, con intervalos de 6 meses; la ecuación diferencial de

creéimiento, está dada por:

dN =rN dt

214

Page 216: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

Si se sabe que N = 2200 individuos para t = 1 año, con Ro = 500 individuos/año y T =

60 años. Los resultados computacionales son:

SOLUCION DE E.D.O. METODO RUNGE KUTTA 3 ORDEN

INGRESO DE DATOS

INGRESE EL NUMERO DE PUNTOS (N) 20 INGRESE LOS VALOR INICIAL Y FINAL DEL DOMINIO 1 10 INGRESE LAS CONDICIONES INICIALES (XO,YO) l. o 2200

RESULTADOS

t (años)

l. 000000 l. 450000 1.900000 2.350000 2.800000 3.250000 3.700000 4.150000 4.600000 5.050000 5.500000 5.949999 6.399999 ~.841é.lléJSJ§)

7.299999 7.749999 8.199999 8.649999 9.099998 9.549998 9.999998

Población en Individuos

2200.000000 2409.737000 2639.470000 281é.ll.104000 3166.728000 3468.628000 3799.311000 4161.518000 4558.257000 4992.819000 5468.810000 5990.180000 6561.254000 718~. 772000 7871.924000 8622.396000 9444.413000

10344.800000 11331.020000 12411.260000 13594.490000

215

Page 217: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

Codificación:

La codificación que genera los resultados computacionales mostrados es la

siguiente:

! AUTOR: LIC. JORGE LUIS GODIER AMBURGO

PROGRAM RUNGEKUTTA_30RDEN

19 WRITE(*,*)'' WRITE(*,*)' SOLUCION DE E.D.O. METODO RUNGE KUTTA 3 ORDEN' WRITE(*;*)' ============================================= WRITE(*, *)'' WRITE(*,*)' INGRESO DE DATOS' WRITE(* 1 *)' --------------------------------------------­WRITE(*,*)' INGRESE EL NUMERO DE PUNTOS (N)' READ(*,*)N WRITE(*,*)' INGRESE LOS VALOR INICIAL Y FINAL DEL DOMINIO' READ(*,*)A,B WRITE(*,*)' INGRESE LAS CONDICIONES INICIALES (X9,V9)' READ(*,*)xe,ve WRITE(*,*)' --------------------------------------------­WRITE(*, *)'' X(1)=X9 V(1\-VQ 1 ..LJ-tV

H=(B-A)/N DO I=1,N+1 X(I+l)=X(!)+H A=Y(I)+H*9.5*F(X(I),V(I)) B=Y(I)+H*F(X(I)+H*9.5,A)

Y(I+1)=Y(I)+H*9.33333*(F(X(I)!Y(I))+4*F(X(I)+9.5*H!A)+F(X(I+1)!B)) END DO WRITE(*,*)' RESULTADOS' WRITE(*,*)' --------------------WRITE(*,*)' ==================== WRITE(*,*)' X F(X)' WRITE(*,*)' ==================== DÓ J=i,N+i WRITE(*,29)X(J),V(J) ENDDO

20 FORMAT(2X,F9.4,3X,F19.3) WRITE(*,*)' ==================== END

FUNCTION F(X,V) F=9.1935*V+9.9*X RETURN END

216

Page 218: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

8.6 Método de Runge-Kutta de cuarto orden

El método de Runge - Kutta de cuarto orden es más eficiente debido a su bajo

error íocaí de truncamiento (h5); no obstante, su error de discretlzaclón es favorable,

requiere cuatro evaluaciones funcionales por cada paso, lo cual aumenta

<mnsideiablemente el tiemj:m de cálculü. Este métüdo tiene la ventaja adicional de que

se auto inicia; es decir se requiere solo el valor de y en un punto x = Xn para hallar y' e

y. en x = xii+i·

La fórmula computacional se obtiene aplicando la regla 3/8 de Simpson para resolver

la integral aliado derecho de la ecuación (8.1). La fórmula de recursión es:

(8.19)

Dónde:

Ejemplo:

Los circuitos RC son arreglos que están compuestos por una resistencia y un

condensador. Se caracteriza por que la corriente puede variar con el tiempo. Cuando

ei tiempo es iguai a cero, ei condensador está descargado, en el momento que

empieza a correr el tiempo, el condensador comienza a cargarse ya que hay una

corriente en el circuito, ver figura (8.3).

Figura (8.3). Circuito RC.

217

Page 219: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

La ecuación diferencial que determina la variación de carga respecto al tiempo para

este tipo de circuitos (durante el proceso de carga), es:

dq =V _ _j_ dt R. RC

Determine la variación de carga para t desde O hasta 1 seg. Si se sabe que cuando t = O, q = O; además: V = 1 O Voltios, C = 2200 J..tF y R = 1 OOQ. (Obtenga 15 puntos de

gráfica).

Los resultados computacionales arrojan lo siguiente:

SOLUCION DE E.D.O. METODO RUNGE KUTTA 4 ORDEN

INGRESO DE DATOS

INGRESE EL NUMERO DE PUNTOS (N) 15 INGRESE LOS VALOR INICIAL Y FINAL DEL DOMINIO 0.0 1.0 INGRESE LAS CONDICIONES INICIALES (XO,YO) 0.0 0.0

RESULTADOS

X F (X)

=================== .00000 .00000 .06667 .00038 .13333 .00075 .20000 .00112 .26667 .00148 .33333 .00184 .40000 .00219 . 4 6667 .00253 .53333 .00286 . 60000 .00320 .66667 .00352 .73333 .00384 .80000 .00415 .86667 . 0044.6 .93333 .00477

1.00000 .00506

218

Page 220: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

Codificación:

La codificación que genera los resultados computacionales mostrados es la

siguiente:

! AUTOR: LIC. JORGE LUIS GODIER AMBURGO

PROGRAM RUNGEKUTTA_40RDEN

REAL(4) N,Xe,ve,A,B,H,Y(1000),X(1000)

10 WRITE(*,*)'' WRITE(*,*)' SOLUCION DE E.D.O. METODO RUNGE KUTTA 4 ORDEN' WRITE(*;*)' ============================================= WRITE(*, *)'' WRITE(*,*)' INGRESO DE DATOS' WRITE(*~*)' --------------------------------------------­WRITE(*,*)' INGRESE EL NUMERO DE PUNTOS (N)' READ(*,*)N WRITE(*,*)' INGRESE LOS VALOR INICIAL Y FINAL DEL DOMINIO' READ(*,*)A,B WRITE(*,*)' INGRESE LAS CONDICIONES INICIALES (Xe,ve)' READ(*,*)Xe,ve WRITE(*,*)' --------------------------------------------­WRITE(*, *)'' X(1)=X0 Y(l)=Y8 H=(B-A)/N DO I=1,N+1 V(T~.--"1 \_V/T\--.-U A.\.J.."T.J..)-A.\..l.JTti

A=H*F(X(I),Y(I)) B=H*F(X(I)+H*0.333333,V(I)+A*0.333333) C=H*F(X(I)+H*8,666666;V(I)+A*8.333333+B*8.333333) D=H*F(X(I)+H,Y(I)+A-B+C) Y(I+1)=Y(I)+H*0.125*(A+3*B+3*C+D) END DO WRITE(*,*)' RESULTADOS' WRITE(*,*)' --------------------WRITE(*,*)' ==================== WRITE(*,*)' X F(X)' WRITE(*,*)' ==================== DO J=1,N+1 WRITE(*,20)X(J),Y(J) ENDDO

29 FORMAT(2X,F9.5,3X,F9.5) ~\IRITE ( *, *) ' ==================== END FUNCTION F(X,V) F=8.8*X+8.1-Y/0.22 RETURN END

219

Page 221: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

8.7 Solución de ecuaciones diferenciales ordinarias de orden superior

Cuando se tiene una EDO de orden n, con n condiciones especificadas en un

punto xo y Uf1 punto xf aonae nay que encontrar f(xt), esto es lo que normalrnente

definimos como "el problema de valor inicial general" o con "condiciones iniciales", de

manera que se cumple le siguiente:

(8.20)

Para resolver (8.20) la mayor parte de las subrutinas de propósito general para

ecuaciones diferenciales suponen que una ecuación diferencial n-ésima se ha de

expresar como un sistema de n ecuaciones de primer orden, luego para una ecuación

de orden n dada en la forma:

Se efectúa el siguiente cambio de variables.

Yr =y

Y2 =y'

Y3 =y"

y 4 =y"'

220

(.8.21)

(8.22)

Page 222: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

A continuación se deriva miembro a miembro la primera y se sustituye en la segunda,

y así sucesivamente, con lo que se tiene un sistema den ecuaciones de primer orden.

1 y 3 =y 4

(8.23)

Y'n-1 =yn •n

1 a-y C'{ 1 11 n-1) C'{ ) Y n =-- = 1\x,y,y ,y , ...... ,y = 1\x,y1,yz,Y3, ........ ,yn dxn

De modo general, un sistema de n ecuaciones de primer orden tendrá la forma:

Y11 =f1(x,y1,yz, ........... ,yn)

u' - .f {""' Y Y Y \ Y 2 ·-.L2\A' 1' z, ........... , nl

Y1

3 = f 3 (X, Y 1' Y 2 '· · · · · · · ·" ·' Y n ) (8.24)

Y1n =fn(x,y1,y2, ........... ,yn)

Todos los métodos numéricos analizados previamente (Euler y Runge-Kutta) se

pueden adaptar al sistema (8.24), y sa pueden ·expresar en forma más compacta como

vectores, es decir:

(8.25)

Dónde: y', fe y son vectores con n componentes.

Ejemplo:

Usando el cambio de variables, deduzca la fórmula computacional del método

de ~uler hacia adelante y Runge-Kutta de 2do Orden, para solucionar una ecuación

diferencial de 2do. Orden con condiciones iniciales.

221

Page 223: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

Una EDO de 2do. Orden de forma general se escribe de la siguiente forma:

d2 Y''=----!=f{x. v. v')

dx 2 '"'"' (8.26)

La ecuación (8.26) se convierte en dos ecuaciones diferenciales de primer orden

haciendo:

y'=z

i'=z' (8.27)

La solución de las ecuaciones (8.27) con el método de Euler, generan las fórmulas

siguientes:

(8-28) .. ,~-~=;

Las fórmulas (8.28) deben resolverse simultáneamente, en conjunto con la ecuación

de avance del dominio.

(8.29)

Donde n avanza desde O hasta N (número de puntos requeridos del dominio). La

solución de la ecuación (8.26) requiere de dos condiciones iniciales, los puntos Xo, y0 y

Xo y Y' o= Zo.

Con el método de Runge - Kutta de Segundo Orden, la solución de las ecuaciones

(8.27), es la siguiente:

A=zn +hf(xn,Yn,zn)

B=yn +h(zn)

h zn+l = zn +- [f(xn, y n, zn) + f(xn+l ,B, A)] 2- -

h Yn+l =yn +-[zn +A]

2

222

(8.30)

Page 224: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

Usando los Métodos de Euler hacia Adelante y Runge - Kutta de 2do. Orden obtenga

la gráfica de la solución de la ecuación diferencial de movimiento del sistema masa­

resorte mostrado.

Figura (8.4). Sistema masa-resorte.

Donde p2 = Klm. El peso de la masa es 1 O lb, la constante del resorte, K= 1.5 lb/pulg;

las condiciones iniciales son: to = O, x'o = O y Xo = 5 pulg. Calcule un total de 20 puntos

para un tiempo desde O hasta 5 segundos de oscilación. En este caso el avance o

ancho de paso será de 0.25.

Los resultados computacionales obtenidos usando el método de Euler hacia adelante

para una EDO de Segundo Orden son los siguientes:

SOLUCION DE E.D.O. METODO EULER HACIA ADELANTE

(SEGUNDO ORDEN)

INGRESO DE DATOS

INGRESE EL NUMERO DE PUNTOS (N) 20 INGRESE LOS LIMITES DE OPERACION [A,B] 0.0 5.0 INGRESE LAS CONDICIONES INICIALES (XO,YO, ZO) 0.0 5.0 0.0

223

Page 225: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

RESULTADOS

==================================== X Y(X) Z (X)

==================================== .000000 5.000000 .000000 .250000 5.000000 -.187500 .500000 4.953125 -.375000 .750000 4.859375 -.560742

1.000000 4. 719190 -.742969 1.250000 4.533447 -.919938 1.500000 4.303463 -1.089943 1.750000 4.030977 -1.251323 2.000000 3.718146 -1.402484 2.250000 3.367525 -1.541915 2.500000 2.982046 -1.668197 2.750000 2.564997 -1.780024 3.000000 2.119991 -1.876211 3.250000 1.650939 -1. 955711 3.500000 1.162011 -2.017621 3.750000 . 657606 -2. 06119"6 4.000000 .142306 -2.085856 4.250000 -.379158 -2. 091193 4.500000 -.901956 -2.076975 4.750000 -1.421200 -2.043151 5.000000 -1.931987 -1.989856 ====================================

Los resultados computacionales obtenidos usando el método de Runge-Kutta de 2do.

Orden para una EDO de Segundo Orden son los siguientes:

SOLUCION DE E.D.O. METODO RUNGE KUTTA 2 ORDEN

(SEGUNDO ORDEN)

INGRESO DE DATOS

INGRESE EL NUMERO DE PUNTOS (N) 20 INGRESE LOS LIMITES DE OPERACION [A,B] 0.0 5.0 INGRESE LAS CONDICIONES INICIALES (XO,YO,ZO) 0.0 5.0 0.0

224

Page 226: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

RESULTADOS ====================================

X Y(X) Z (X)

==================================== .000000 5.000000 .000000 .250000 4.976563 -.187500 .500000 4.906360 -.373242 .750000 4.790051 -.555481

1.000000 L 628727 -.732504 1.250000 4.423904 -.902648 l. 500000 4.177505 -1.064313 1.750000 3.891845 -1.215981 2.000000 3.569607 -1.35 6225 2.250000 3.213818 -1.483728 2.500000 2.827821 -1.597291 2.750000 2.415243 -1.695847 3.000000 1.979960 -1.778469 3.250000 1.526061 -1.844381 3.5.0.000.0 l. .057813 -1.892963 3.750000 .579613 -1.923758 4.000000 .095957 -1.936476 4.250000 -.388612 -1.930997 4.500000 -.869539 -1. 907372 4.750000 -l. 34230 6 -1.865824 5.000000 -1.802470 -1.806741

=====================================

La gráfica generada con los resultados computacionales mostrados es la siguiente:

-~ '-"'

= •o :g .., o ~

5.5 5

4.5

4 3.5

3 2.5

2

1.5

0.5 o

Solución del sistema Masa-Resorte

--M.Euler

.... -- ·M.R-K2 ........ j

¡ ¡

::-¡- . 0.5 1- . 1.5 2 25 3 3.5 ' -S<- 515

-2~~ j_ ···-· -· ............................................... -.- -........ _, -.................................... _, ........................ -· j Tiempo (s)

Figura (8.5). Superposición de curvas generadas por el método de Euler y Runge­

Kutta.

225

Page 227: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

Codificación:

Las codificaciones que generan los resultados computacionales mostrados son

las siguientes:

Método de Euler hacia adelante

! AUTOR: LIC. JORGE LUIS GODIER AMBURGO

PROGRAM EULER_ADELANTE_2DO_ORDEN

REAL (4) A,B,H,X(1888),Z(1888),Y(1888),N

18 WRITE(*,*)'' WRITE(*,*)' 50LUCION DE E.D.O. METODO EULER ~ACIA ADELANTE' WRITE(*,*)' ============================================== WRITE ( *, *) ' (SEGUNDO ORDEN) ' !.-JRITE(*; *)'' WRITE(*,*)' INGRESO DE DATOS' WRITE(*,*)' ---------------------------------------------­WRITE(*l*)' INGRESE EL NUMERO DE PUNTOS (N)' READ(*,*)N WRITE(*,*)' INGRESE LOS LIMITES DE OPERACION [A,B]' READ(*,*)A,B WRITE(*,*)' INGRESE LAS CONDICIONES INICIALES (X8,V8, Z8)' READ(*,*)X(1),Y(1),Z(1) H=(B-A)/N DO I=1,N+1 X(I+l)=X(I)+H Z(I+l)=Z(I)+H*F(X(I),Y(I),Z(I)) Y(I+i)=Y(I)+H*Z(I) END DO WRITE(*,*)' RESULTADOS' WFlTTEI* *)' n..Lit:\ J

WRITE(*,*)' WRITE ( *, *) '

==================================== X Y(X) Z(X)'

WRITE(*j*)' ==================================== DO J=1,N+1 WRITE(*,28)X(J),Y(J),Z(J) END DO

28 FORMAT(2X,F18.6,4X,F18.6,4X,F18.6) WRITE(*,*)' ==================================== END

FUNCTION F(X,V,Z) F=8.8*X+8.8*Z-8.15*Y RETURN END

226

Page 228: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

Método de Runge - Kutta 2do Orden para EDO de 2do Orden

! AUTOR: LIC. JORGE LUIS GODIER AMBURGO

PROGRAM RUNGEKUTTA 20RDEN 20RDEN - -

REAL(4) N~A,B~H~Y(1000)~X(1000)~Z(1000)

10 WRITE(*,*)'' WRITE(*~*)' SOLUCION DE E.D.O. METODO RUNGE KUTTA 2 ORDEN' WRITE(*~*)' ~~~~~~~;;;;=~=;=~======;==========~==~======= WRITE(*~*)' (SEGUNDO ORDEN)' WRITE(*~*)' INGRESO DE DATOS' WRITE{*J*)' --------------------------------------------­WRITE(*,*)' INGRESE EL NUMERO DE PUNTOS (N)' READ(*~*)N WRITE(*~*)' INGRESE LOS LIMITES DE OPERACION [A~BJ' READ(*~*)A~B WRITE(*~*)' INGRESE LAS CONDICIONES INICIALES (X0~V0~Z0)'

READ(*~*)X(l)~Y(l),Z(l)

WRITE(*,*)' --------------------------------------------­WRITE ( *, *) ' ' H=(B-A)/N 00 I=i,N+i X(I+l)=X(I)+H AA=Z(I)+H*F(X(I)~Y(I),Z(I)) gg=V(I)+I'l*Z(I) Z(I+l)=Z(I)+0.5*H*(F(X(I)~V(I)~Z(I))+F(X(I+l)~BB,AA)) V(I+l)=Y(I)+0.S*H*(Z(I)+AA) HJD DO WRITE(*~*)' RESULTADOS' WRITE(*~*)'

WRITE(*)*)' ==================================== WRITE(*,*)' X Y(X) Z(X)' WRITE(*~*)' ==================================== DO J=l~N+l WRITE(*~20)X(J)~Y(J)~Z(J) END DO

20 FORMAT(2X~F10.6~4X~F10.6~4X~F10.6)

WRITE(*~*)' ==================================== END

FUNCTION F(X~Y~Z) F=e.e*X+3.3*Z-3.15*Y RETURN END

227

Page 229: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

Problemas de aplicación

a. Despreciando la masa de la barra delgada, la ecuación diferencial de

movimiento del pénduio mostrado en ia figura (8.8), es:

Dónde: g, es la aceleración gravitacional y 1 es la longitud de la cuerda.

Las condiciones iniciales son 8 = n/4 y 8' = O para t = O seg. Se desea

calcular la posición angular para un tiempo desde t =O hasta t = 10 seg, con un

total de 1 O puntos y un error porcentual relativo de 0.1%.

Figura (8.8). Péndulo simple.

b. Una pieza metálica con una masa de 0.1 Kg y 200°C (o 4 73 K) se coloca

en cierto momento dentro de un cuarto con una temperatura de 25°C (es

decir T=297 K para t = O seg.), donde está sujeta al enfriamiento por

convección natural y la transferencia de calor por radiación. Bajo la

hipótesis de que la distribución de temperatura es uniforme en el metal,

la ecuación de temperatura se puede escribir como;

228

Page 230: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

Dónde: T es la temperatura en grados Kelvin y las constantes son:

p = 300 Kg/m3

a= 5.67 x 10-8 w/m2K4

S= 0.8

(densidad del metal)

(Constante de Stefan-Boltzmann)

(Emisividad del metal)

Ta =Temperatura Ambiente en grados Kelvin

V= 0.001 m3 (Volumen del metal)

A= 0.25 m2

e= 900 J/KgK

he;;;; 30 J/m2K

(Área Cie la süpeffieie aei metal)

(Calor especifico del metal)

(coeficiente de transferencia de calor)

Obtener la gráfica temperatura vs. tiempo para 50 puntos con t desde O hasta 30

segundos.

c. Cierto material de forma cúbica, con una masa M de 0.5 Kg se pone en

el extremo inferior de un resorte sin masa. El extremo superior se fija a

una estructura en reposo. El cubo recibe una resistencia de R = -Bdy/dt

dei aire, donde 8 es una constante de amortiguamiento, ver figura (8.9),

la ecuación de movimiento es:

Donde y es el desplazamiento desde la posJcJon estática, k = 100

Kg/seg2 es la constante del resorte y B = 1 O Kg/seg. Calcule 60 datos de

posición y velocidad para t desde O hasta 30 segundos, considerando

que para t = ü, y= ü y y' =O.

~ ~1

1

t Figura (8.9). Sistema masa-resorte amortiguado.

229

Page 231: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

d. Un circuito en serie contiene un resistor y un inductor, tal como se

muestra en la figura (8.10), si se conoce la ecuación diferencial de la

corriente i(t) y si R = 1 O.Q, L = 0.15 henrios, S1 está cerrado, S2 abierto y

E = 15sen 2.5t (fuente de corriente alterna). Grafique la variación de

corriente y carga en intervalos de 0.01 s para un intervalo desde O hasta - - .

5.0 ség. siéncó qué i =o y q =o érí t = o.

Donde: E, es la fuente de corriente alterna.

L

.---------~'~-------.

1 (s1 E S 2

lt\1'--------'l Figura (8.1 O). Esquema de circuito R-L

e. El imán permanente A ejerce una fuerza sobre el peso W, ver figura

(8.11), que es inversamente proporcional ai cuadrado de ia distancia x

entre el centro de masa del imán y el centro de masa de W. Si el

coeficiente r.le f¡icción entre W y la superficie es ji, y ia ecuación

diferencial es:

Determine la posición y velocidad para el bloque W si se sabe que en t =

O, x = 12 pulg. x' = O. Hasta un tiempo de 1 O segundos con un total de

30 puntos. Como datos adicionales se sabe que k/m = 7200 pulg.3/seg2,

1-L = 0.1 y g = 360 pulg./seg2.

230

Page 232: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

1------- )( ____ _,

1 A

1 1 4 Pulg.

Figura (8.11). Atracción magnética.

f. Resuelva la ecuación diferencial siguiente:

dy =x+y+xy dx

w

1 1 2 Pulg.

Si se sabe qué y = 1 para x = O, obtenga 50 puntos para un x que va

desde O hasta 25 unidades.

g. Resuelva la ecuación diferencial siguiente:

~y =x+y ax

Si se sabe qué y = 1 para x = O, obtenga 50 puntos para un x que va

desde O hasta 25 unidades y compare su resultado con la solución

analítica siguiente:

y(x) = 2ex - x -1

231

Page 233: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

7. DISCUSIÓN

Respecto al conjunto de problemas que siNen de base para este trabajo, se

utilizaron los textos que contienen aplicaciones físicas propuestas a resolver

numéricamente, de Brian, H. (1994), Chapra, S. y Canale, R. (2003),

Nakamura, S. (1992); los cuales proporcionan el fundamento necesario para el

desarrollo de codificaciones en fortran con aplicaciones Físicas.

Sobre lo visto de la sintaxis del lenguaje de programación Fortran 90 se

utilizó el conjunto de instrucciones, procedimientos, sentencias y

procedimientos indicados en la librería del manual de usuario de Microsoft

Developer Studio 4.0 de Fotran 90; para tener mayor precisión respecto a lo

establecido en textos como los de Nakamura, S. (1992) y Chapra (2003).

Para la solución de ecuaciones no lineales, se seleccionaron los

métodos de mayor eficiencia como el de bisección, falsa posición, secante,

Newton-Raphson, Muller y Laguerre mismos que pueden incluso expandirse al

cálculo de raíces complejas, tal como se puede ver en Nakamura, S. (1992).

En el Capítulo 111, las técnicas usadas para solución sistemas de

ecuaciones lineales son los de mayor facilidad de codificación como la

eliminación de Gauss, pero con menor eficiencia computacional cuando se

trata de sistemas muy grandes con N > 1 O; sin embargo permiten resolver

muchas aplicaciones físicas de dinámica y estática, tal como se puede ver en

Brian, H. (1994).

Para resolver el problema de ajuste y aproximación de curvas en el ámbito

de la física experimental; se resuelve aplicando los métodos de linearizacion

potencial y exponencial y la aproximación por mínimos cuadrados, se supera lo

mostrado por Chapra, S. C. y Canale R. P. (2003) al desarrollar las

codificaciones.

232

Page 234: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

En el Capítulo de interpolación se tratan los métodos de mayor eficiencia y

simplicidad para la construcción de nuevos puntos funcionales partiendo del

conocimiento de un conjunto discreto de puntos; método de Newton hacia

adelante Newton-Gregory-Forward y Método de Lagrange; su importancia

radica en el hecho de que con frecuencia en física, ingeniería y otras ciencias

es frecuente disponer de un cierto número de puntos obtenidos por muestreo o

a partir de un experimento y pretender construir una función que los ajuste.

En el Capítulo VI, se analizan las formulas numéricas para aproximación

de la derivada, que se utilizan para evaluar las derivadas por medio de valores

dados en los puntos de una retícula, en este caso se utiliza el método de

aproximación por el desarrollo en serie de Taylor, que necesita una retícula

uniforme tal como puede verse en Curtis, F. y Wheatley, P. (2000).

En el Capítulo VIl se tratan formulas numéricas de integración y se

muestran las que son construidas tomando como base los polinomios de

interpolación de Newton hacia delante de diferentes órdenes, haciendo una

extensión de las Reglas del trapecio, 1/3 y 3/8 de Simpson, superando lo que

se presenta en Chapra, S. C. y Canale R. P. (2003) y Cante, S. y Boor, C.

(1985).

. En el Capítulo VIII, se tratan las formulas numéricas que permiten

aproximar la solución de una ecuación diferencial ordinaria. En este capítulo se

desarrolla el tratamiento computacional de las EDO, con los métodos de Euler,

los cuales en particular son adecuados para una programación rápida debido a

su sencillez; sin embargo, a pesar de su gran estabilidad, requiere un tamaño

de paso muy pequeño para alcanzar una precisión razonable, también se

desarrollan los métodos Runge-Kutta de segundo, tercer y cuarto orden,

haciendo una ampliación para la solución de EDO de orden superior con el

método de cambio de variable superando lo tratado en lriarte, R. y Balderrama,

V. (1990) y Maron, J. y Lopez, J. (1995).

233

Page 235: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

8. REFERENCIALES

Burden, R. y Faires, D.; "Numerical Analysis", 7ma. Edición, Ed. Brooks/Cole.

New york, 2000.

Brian, H.; "Fortran 90 for Scientists and Engineers", Fortran PowerStation 4.0.

March 1994 in paperback 368 pages ISBN O 340 60034 9.

Chapra, S. C. y Canale R. P.; "Métodos numéricos para ingenieros". 4ta.

Edición, Ed. McGraw-Hill. México, 2003.

Cante, S. y Boor, C.; "Análisis Numérico", 2da. Edición, Ed. McGraw - Hill,

México, 1985.

Curtis, F. y Wheatley, P.; "Análisis Numérico con aplicaciones"; 6ta. Edición,

Ed. Pearson, México, 2000.

lriarte, R. y Balderrama, V.; "Métodos numéricos"; 1ra. Edición, Ed. Trillas.

México, 1990.

Maron, J. y Lopez, J.; "Análisis Numérico un Enfoque Práctico", 1ra. Edición,

Ed. Continental S.A.; México, 1995.

Nakamura, S.; "Métodos Numéricos Aplicados con Software", 2da. Edición, Ed.

Hispanoamericana, México, 1992.

Nieves, A y Domínguez, F.; "Métodos numéricos Aplicados a la ingeniería";

2da. Edición, Ed. Continental S.A.; México, 1998.

Tipler, P. y Mosca, G. "Física para la ciencia y la tecnología", Volumen 1, 6ta.

Edi~ón, Ed. Reverte; Espana,2010.

234

Page 236: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

9. APÉNDICE

A. Codificación Runge-Kutla 2do. Orrden para EDO 2do. Orrden

PROGRAM RUNGEKUTTA2 SEGUNDO ORDEN - -

Real(4) Y(9000),X(9000),Z(9000)

10 WRITE(*,*)'' vJRITE (*, *)' SOLUCION EDO 2do. ORDEN RUNGE -KUTTA 2do ORDEN' WRIT~(*,*)' ============================================= WRITE ( *, *) ' ' WRITG(*,*)' INGRESO DG DATOS' WRITE(*,*)' ---------------------------------------------WRITE(*~*)' INGRESE LAS CONDICIONES INICIALES (X0,Y0,Z0)' READ(*,*)X0,Y0,Z0 WRITE(*,*)' INGRESE EL PUNTO FINAL DEL DOMINIO (XF)' READ(*,*)XF WRITE(*,*)' INGRESE EL NUMERO DE DATOS (N)' READ(*,*)N WRIIE(*,*)' --------------------------------------------H=(XF-X0)/N X(l)=Xfl Y(1)=Y0 Z(1)=Z0 DO K=l,N X(l<+l)=X(K)+H ZZ=Z(K)+H*F(X(K),Y(K),Z(K))

15 Y(K+l)=Y(K)+(H*0.5)*(ZZ+Z(K)) Z(K+1)=Z(K)+(H*0.5)*(F(X(K+1),Y(K+1) 1 ZZ)+F(X(K) 1 Y(K),Z(K))) END DO WRITE(*,*)' RESULTADOS' WRITE(*,*)' -------------------------------------WRITE(*,*)' ===================================== WRITE(*,*)' X Y(X) V'(X) ' WRITE(*,*)' =====================================

18 DO J=l,N+1 WRITE(*,20)X(J),Y(J),Z(J) END DO

20 FORMAT(2X,4(2X,F12.6)) END

FUNCTION F(X,Y,Z) F::::-10*X-2*Y*Z RETURN END

235

Page 237: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

B. Codificación Runge-Kutta 3er. Orden para EDO 2do. Orden

PROGRAM RUNGE KUTTA 30RDEN 20RDEN - - -

REAL(4) x(1888),Y(1888),z(1888)

18 WRITE(*,*)'' J,IDTTIO('f< *) 1 VVf'\..Lit:; J

WRITE ( *, *) ' WRITE ( *, *) ' '

$0LUCION ÉDO(gÉGUNDO ORDEN) RUNGE KUTTA 3ER ORDEN' =================================================

WRITE(*,*)' INGRESO DE DATOS' WRITE(*,*)' -------------------------------------------------WRITE(*,*)' INGRESE LAS CONDICIONES INICIALES (Xe,ve,ze)' READ(*,*)X(l)JY(l)JZ(l) WRITE(*,*)' INGRESE PUNTO FINAL DEL DOMINIO (XF)' READ(*,*)XF WRITE(*,*)' INGRESE EL NUMERO DE PUNTOS DE LA SOLUCION (N)' READ(*,*)N WRITE(*,*)' ----------------------------------------------WRITE(*,*)'' WRITE(*,*)'' H=(XF-X(l))/N DO I=1,N X(I~1)=X(I)~ H A=Y(I)+0.5*H*Z(I) B=Z(I)+8.5*H*F(X(I),Y(I),Z(I)) .L.\A=Y(I)+H*B BB=Z(I)+H*F(X(I)+H*8.S,A,B) Y(I+l)=Y(I)+(H/3.8)*(Z(I)+4*B+BB) Z(I+1)=Z(I)+(H/3.8)*(F(X(I)}Y(I) 1 Z(I))+4*F(X(I)+H*8.5 1 A1 B)+F(X(I

+1) ,AA, BB)) END DO WRITE(*,*)' RESULTADOS' WRITE(*,*)' ------------------------------------WRITE(*,*)' ==================================== WRITE(*,*)' X Y(X) V'(X)' WRITE(*,*)' ==================================== WRITE(*,*)'H= ',H

17 DO J=l,N+l WRITE(*,2e)X(J),V(J),Z(J) END DO

28 FORMAT(2X,3(F10.4,1X)) 25 WRITE ( *; * ) '

END ====================================

FUNCTION F(X,Y,Z) ~~1e*cog(x*Y)-Z**3

RETURN END

236

Page 238: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

10.ANEXOS

A. Solución Problema Cuerda Vibrante con Diferencias Finitas

· una cuerda de guitarra mide so cm. dé largo y pésa ·1.0 gr. Sé éstira con una tensión de 40000 gr. En un punto a 20 cm. de un extremo, se tira de la cuerda a 0.6 cm. con respecto a la posición de equilibrio y luego se suelta. Encuentre los desplazamientos a lo largo de la cuerda como una función del tiempo. Use Ax"" 1 O cm. y llene la tabla (1) con dos decimales de precisión, la ecuación que rige este fenómeno es:

Donde:

o2u · Tg o2u ----ae w & 2

T, es la tensión aplicada a la cuerda. W, es la densidad lineal de la cuerda. G, es la gravedad.

(1)

Utilizando diferencias finitas para solucionar la ecuación (1) y luego para los valores en el primer paso de tiempo tenemos la ecuación siguiente:

(2)

Donde los subíndices indican variación en x y los supraindices indican variaciones en t, además g(x) = O dado que la primera derivada parcial de la función u respecto al tiempo en el instante t =O es cero (debido a que la cuerda esta fija en los extremos). Por condición de estabilidad considere que:

. Usamos· la aproximación con diferencias centrales para m = 2 en dos dimensiones a ambos lados, de donde obtenemos:

.·' Luego:

uf+I = Tg(Atf (ui +ui )+2ui(l- Tg(At)2 )-ui-I 1 (A)2 Hl 1-l 1 (A.)2 1 wux w~

Por condición de estabilidad; Tg(At)~ = 1 , entonces la solución final es; w(Ax)-

uj+I =u! - u!-1 +u! 1 1+1 1 I-1

237

(3)

Page 239: UNIVERSIDAD NACIONAL DEL CALLAO - biblioteca.unac.edu.pebiblioteca.unac.edu.pe/biblioteca_virtual/descargar.php?file=135.pdf · UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS

Como Ax = 10 cm., T = 40000, g = 980 g/cm2 y w = 1.0/80, entonces:

~t = / w ~x = 1.79xl0-4

\ Tg

Empleando la ecuación (2) y la ecuación (3) se llenan los valores de la tabla (1 ).

Tabla (1 ), valores de posición y tiempo para la cuerda en vibración.

Pasos Valores de u en x = de o 10 20 30 40 50 60 70 80

tiempo o 0.00 0.30 0.60 0.50 0.40 0.30 0.20 0.10 0.00 1 0.00 0.30 0.40 '0.50 0.40 0.30 0.20 0.10 0.00 2 0.00 0.10 0.20 0.30 0.40 0.30 0.20 0.10 0.00 3 0.00 -0.10 0.00 0.10 0.20 0.30 0.20 0.10 0.00 4 0.00 -0.10 -0.20 -0.10 0.00 0.10 0.20 0.10 0.00 5 0.00 -0.10 -0.20 -0.30 -0.20 -0.10 0.00 0.10 0.00 6 0.00 -0.10 -0.20 -0.30 -0.40 -0.30 -0.20 -0.10 0.00 7 0.00 -0.10 -0.20 -0.30 -0.40 -0.50 -0.40 -0.30 0.00

. --8 0.00

..

-ú.1tf ~o.2·a· ~0.30 -0.40 -

-0.50 ---

-0.60 -~(f3() ·a.oo 9 0.00 -0.10 -0.20 -0.30 -0.40 -0.50 -0.40 -0.30 0.00 10 0.00 -0.10 -0.20 -0.30 -0.40 -0.30 -0.20 -0,10 0.00

238