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…