Aproximación a f(x)=sen(x) con serie de taylor

Solo disponible en BuenasTareas
  • Páginas : 2 (492 palabras )
  • Descarga(s) : 0
  • Publicado : 2 de marzo de 2010
Leer documento completo
Vista previa del texto
Aproximación de la función f(x) = sen(x) mediante la serie de Taylor.

PROGRAM Programa
! Propuesta: Aproximar la función sen(x) utilizando los polinomios de Taylor
! Fecha ProgramadorDescripción del cambio
! ==== =========== ======================
!Declaración de variables y diccionario de variables
IMPLICIT NONE
REAL :: n ! Número para el polinomio de Taylor
INTEGER ::status ! Estatus Entrada/Salida
INTEGER :: nvals ! Contador para la lectura de x
REAL :: a ! Valor inicial para x
REAL :: x ! Valores de x a ser graficados
INTEGER :: signo !Utilizado para calcular las derivadas
REAL :: sumatoria ! Para acumular los términos de la serie de Taylor
CHARACTER(len=6) :: termino ! Usado para calcular las derivadas
INTEGER :: k !Variable de lazo
REAL :: fka ! Representa a la función evaluada en a
REAL :: factorial ! Factorial de la sumatoria en la serie de Taylor
REAL :: fx ! Función aproximada mediante laserie de y evaluada en x

! Lee el número de polinomio de Taylor.
WRITE (*,*) 'Alimente el numero de polinomio de Taylor'
READ(*,*)n

!Abre los archivos entrada /salida y checa si hubo erroresal abrirlos.
OPEN (UNIT=5, FILE='datos.dat', STATUS ='OLD', ACTION='READ', IOSTAT=status)
OPEN (UNIT=6, FILE='resultados.csv', STATUS ='REPLACE', ACTION='WRITE')

if_abrir_datos: IF (status ==0)THEN

nvals=0 !Inicializa la variable usada para contabilizar el número de variables independientes leidas desde archivo
a=0 ! Variable "x" en torno a la cual se evalua la serie de Taylor!Apertura de archivo de datos con éxito. Lee los valores para x
lazo_lectura: DO

READ(5,*,IOSTAT=status) x !Lee el siguiente valor para x

signo=1 !Para obtener el signo de laderivada
sumatoria=0 !Para acumular los términos de la serie de Taylor

IF (status /= 0) EXIT lazo_lectura !Salida del lazo "lazo_lectura" si status es diferente de cero

nvals=nvals+1...
tracking img