Práctica 3. CÁLCULO DE LA FUNCIÓN SENO UTILIZANDO UN DESARROLLO EN SERIE



Documentos relacionados
VALORES EXACTOS DE FUNCIONES TRIGONOMÉTRICAS (SENO Y COSENO)

Práctica 2 Métodos de búsqueda para funciones de una variable

CURSO BÁSICO DE MATEMÁTICAS PARA ESTUDIANTES DE ECONÓMICAS Y EMPRESARIALES. Unidad didáctica 3. Trigonometría

3. Métodos clásicos de optimización lineal

PROGRAMACIÓN ALGORITMOS y DIAGRAMAS

Ejercicios de Excel. 2. Repetir el ejercicio anterior, pero suponiendo que los ingresos y los gastos están dados por trimestres.

Algoritmos y Diagramas de flujo

Análisis de problemas

Teoría de errores. Departamento de Análisis Matemático Universidad de La Laguna

Complementos de Matemáticas, ITT Telemática

Demostración de la Transformada de Laplace

Estructuras de control

MATEMÁTICAS I SUCESIONES Y SERIES

INSTRUCCIONES PARA EL USO DEL SOFTWARE (IS)

CURSOSO. Aritmética: Númerosnaturalesyenteros. Númerosracionalesyfraciones. MATEMÁTICAS. AntonioF.CostaGonzález

METODO SIMPLEX ANALISIS DE SENSIBILIDAD Y DUALIDAD

Contenidos mínimos 4B ESO. 1. Contenidos. Bloque I: Aritmética y álgebra.

Complejidad de Algoritmos

MATEMÁTICAS - 6º curso

RESUMEN DE SUCESIONES. Definición: Una sucesión es un conjunto ordenado de números reales:

rad, y rad = 360 Ejercicio 1 Realizar las conversiones de grados a radianes y de radianes a grados de los siguientes ángulos:

Introducción al análisis numérico

RAZONES TRIGONOMÉTRICAS

Estadística Descriptiva. SESIÓN 12 Medidas de dispersión

5.1. Recta tangente, normal e intersección de curvas. Recta tangente

UNIDAD I. ALGORITMOS

José A. Jiménez Nieto

f (x) (1+[f (x)] 2 ) 3 2 κ(x) =

La herramienta ArtEM: Aritmética Entera y Modular

UNIDAD DIDÁCTICA 5: Geometría analítica del plano

rad, y rad = 360 Ejercicio 1 Realizar las conversiones de grados a radianes y de radianes a grados de los siguientes ángulos:

Anexo C. Introducción a las series de potencias. Series de potencias

La Resolución de Triángulos Oblicuángulos usando la Calculadora Científica (Con un Apéndice sobre el cálculo del argumento de un número complejo)

Ámbito Científico-Tecnológico Módulo III Bloque 3 Unidad 2 Cuanto más, mejor y viceversa

Ejercicios resueltos de trigonometría

Guía Psu Matemáticas Aplicación de definiciones y propiedades básicas de Ángulos

Sucesiones y series de números reales

Estructuras de control. Secuencial, condicional y repetitivas.

FUNCIONES. Definición de función. Ejemplos.

Profesor: Rafa González Jiménez. Instituto Santa Eulalia ÍNDICE

- Ángulos positivos. Los que tienen el sentido de giro en contra de la agujas del reloj.

Expresiones algebraicas

descripción del argumento identificador tipo longitud condición restricción

FECHA OBJETIVO CONTENIDO 12 DE MARZO. Introducir el tema de funciones

RESUMEN DE TRIGONOMETRÍA

Solución de ecuaciones algebraicas y trascendentes: Método de Newton Raphson

CAPITULO 7.SERIES DE FOURIER Sistemas de funciones ortogonales

Combinación Lineal. Departamento de Matemáticas, CCIR/ITESM. 10 de enero de 2011

CURSO BÁSICO DE MATEMÁTICAS PARA ESTUDIANTES DE ECONÓMICAS Y EMPRESARIALES. Unidad didáctica 4. Números reales y números complejos

GEOMETRÍA ANALÍTICA DEL PLANO

7. Forma de Lagrange para el polinomio interpolador. 9. Forma de Newton para el polinomio interpolador

Unidad 1. Las fracciones.

Problemas de Recursividad

Sucesiones. Se llama sucesión a un conjunto de números dispuestos uno a continuación de otro.

Desarrollo de las condiciones de optimalidad y factibilidad. El problema lineal general se puede plantear como sigue:

MATEMÁTICAS 1ero ESO

CURSO CERO DE MATEMATICAS. Apuntes elaborados por Domingo Pestana Galván. y José Manuel Rodríguez García

TEMA 1: NÚMEROS REALES

El seno del ángulo agudo es la razón entre las longitudes del cateto opuesto al mismo y la

3. Resolver triángulos rectángulos utilizando las definiciones de las razones trigonométricas.

Sistemas de ecuaciones lineales

Curvas en paramétricas y polares

SESIÓN 1 PRE-ALGEBRA, CONCEPTOS Y OPERACIONES ARITMÉTICAS BÁSICAS

PROBABILIDAD Y ESTADÍSTICA. Sesión 5 (En esta sesión abracamos hasta tema 5.8)

FECHA OBJETIVO CONTENIDO Semana. Introducir el tema de funciones ( tentativo)

BLOQUE 4. CÁLCULO DIFERENCIAL DE FUNCIONES REALES DE UNA VARIABLE. ESTUDIO DE LA GRÁFICA DE UNA FUNCIÓN

MATEMATICAS GRADO DECIMO

Determinación del tamaño muestral para calcular la significación del coeficiente de correlación lineal

Práctica: Métodos de resolución de ecuaciones lineales.

La ecuación de segundo grado para resolver problemas.

14.1 Introducción Caso 1: Area bajo una curva.

Grado en Química Bloque 1 Funciones de una variable

En este capítulo obtendremos los resultados básicos del cálculo diferencial para funciones reales definidas sobre R o sobre intervalos.

HOMOGENEIDAD DIMENSIONAL

Los números enteros. > significa "mayor que". Ejemplo: 58 > 12 < significa "menor que". Ejemplo: 3 < 12 Cualquier número positivo siempre es mayor

CLASE Nº7. Patrones, series y regularidades numéricas

Matemáticas Febrero 2013 Modelo A

Capítulo 2 Procesos lineales

El Índice de Revalorización de Pensiones (IRP) para el año 2015 se sitúa en el -1,28% Documento de trabajo sobre datos, metodología y resultados

Apuntes Trigonometría. 4º ESO.

INFORMACIÓN SOBRE LA PRUEBA DE ACCESO (PAU) A LA UNIVERSIDAD DE OVIEDO. CURSO 2015/2016

Introducción a la actividad Material Didáctico: Tiempo (1hr.45min)

N = {1, 2, 3, 4, 5,...}

Métodos numéricos para Ecuaciones Diferenciales Ordinarias

Ejercicios de Microsoft Excel

Capítulo II Límites y Continuidad

POLINOMIOS Y FRACCIONES ALGEBRAICAS

Guía Psu Matemáticas Aplicación de definiciones y propiedades básicas de Ángulos

Evaluación diagnóstica EDUCACION SECUNDARIA

Complejidad algorítmica. Algoritmos y Estructuras de Datos II (Programación I) Mgter. Vallejos, Oscar A.

1. NUMEROS COMPLEJOS.

TEORMAS DE WEIERSTRASS, BOLZANO, ROLLE Y LAGRANGE

INTRODUCCIÓN. FUNCIONES EXPONENCIALES Y LOGARÍTMICAS

VINCULACIÓN DE LAS COMPETENCIAS BÁSICAS CON LOS CRITERIOS DE EVALUACIÓN Y LOS

UNIDAD 3: ANALICEMOS LA FUNCION EXPONENCIAL Y LOGARITMICA.

Curso Completo de Electrónica Digital Simplificación de funciones booleanas

1 El Número Real. 4.- Orden en R. Desigualdades numéricas. Intervalos

CAPITULO III: METODOLOGIA. En el presente capítulo se describirá el conjunto de pasos a seguir para lograr el

MATEMATICA COMERCIAL

Proyecciones. Producto escalar de vectores. Aplicaciones

Transcripción:

PROGRAMACIÓN (EUI). Curso 2001-2002 Práctica 3. CÁLCULO DE LA FUNCIÓN SENO UTILIZANDO UN DESARROLLO EN SERIE F. Marqués y N. Prieto Índice General 1 Introducción 1 2 El problema 1 2.1 Desarrollo en serie de la función sen(x).................. 2 2.2 Cálculo de los términos........................... 2 2.3 Precisión de los cálculos. Condición de finalización............ 3 3 El programa 3 3.1 Estrategia de resolución........................... 3 3.2 Refinamiento de la estrategia. Variables y tipos de datos......... 4 3.3 Impresión de resultados........................... 5 4 Modificaciones del programa anterior 5 1 Introducción Como se ha mencionado en la práctica anterior, uno de los primeros usos de los computadores fue para la resolución de problemas de índole numérica como la tabulación de funciones elementales, etc. En dicha práctica se denominaba algoritmos numéricos a aquellos algoritmos de índole matemática basados en el uso reiterado de las operaciones aritméticas básicas. Como veremos en la presente práctica, una característica significativa de dicho tipo de algoritmos, que aun no se ha mencionado, es que a veces no proporcionan respuestas exactas. Sin embargo, aun cuando eso ocurre, dichas respuestas pueden conseguirse habitualmente con cierto grado de exactitud prefijado. Otra característica muy importante, que tampoco ha sido aún mencionada, de los algoritmos en general, particularizable a los de de índole numérica, es que su ejecución consume tiempo de cómputo. Una de las tareas más importantes en el ámbito de la computación consiste en conocer una aproximación, lo más precisa posible, al número de operaciones elementales que deben efectuarse para resolver un problema dado. 1

2 EL PROBLEMA 2 En esta práctica se plantea el problema de calcular el valor de una función trigonométrica en un punto, utilizando la expresión de un desarrollo en serie de la misma. Como la respuesta no siempre se puede conocer con exactitud se determinará además, una cota del error cometido. Es interesante señalar que la mayor parte de los lenguajes de programación actuales disponen de primitivas para hacer ese tipo de cálculos, lo que supone que en el compilador del lenguaje, o incluso en el mismo procesador, se encuentran presentes, de algún modo, algoritmos similares al que se proponen. 2 El problema Se desea calcular el valor de la función seno de cierto ángulo x. Para ello se estudiará a continuación un desarrollo en serie de dicha función que permita calcularla. Como se verá, la precisión del cálculo depende del número total de términos del desarrollo que se utilicen. Parámetros del problema pueden ser, por lo tanto, tanto el valor del ángulo x, como la precisión, o error residual máximo, con que se desee obtener el resultado. Teniendo lo anterior en cuenta, y eliminando algunas ambigüedades, el problema se puede reenunciar del modo siguiente: Realizar un programa para determinar el valor del seno de un ángulo, expresado en radianes, x, con cierto error residual máximo error. 2.1 Desarrollo en serie de la función sen(x) Dado x, número real que representa un ángulo en radianes, la expresión que se muestra a continuación es un desarrollo en serie de la función sen(x): sen(x) = ( 1) i x 2i+1 (1) (2i +1)! i=0 Si representamos el término i-ésimo (0 i) del desarrollo anterior por u i, entonces: sen(x) =u 0 + u 1 + u 2 +...+ u k + u k+1 +...+ u n + R n esto es, toda las serie puede representarse como suma de términos u i,juntoconun resto R n, que representa la suma de los términos restantes, posteriores al n-ésimo. O lo que es lo mismo: 2.2 Cálculo de los términos n sen(x) = (u i )+R n i=0 Naturalmente, el programa que se construya deberá calcular cada uno de los términos u i de la expresión anterior. Sustituyendo en (1), se puede obtener el primer término de la serie, u 0,quevalex. También sustituyendo en (1), se obtiene para los dos términos consecutivos cualesquiera: u k 1 y u k, las siguientes expresiones:

3 EL PROGRAMA 3 x 2k 1 u k 1 =( 1) k 1 (2k 1)! u k =( 1) k x 2k+1 (2k +1)! A partir de las mismas se puede observar que se cumple la siguiente relación entre dos términos consecutivos cualesquiera: u k = 2k(2k +1) u k 1 (2) Como se ve, es posible ahorrar muchos cálculos si cada nuevo término se obtiene a partir del inmediatamente anterior, en lugar de calcularlo de forma independiente. 2.3 Precisión de los cálculos. Condición de finalización La precisión con que se efectúa el desarrollo viene dada por el término R n, que representa, en un momento del cálculo, la parte de la serie no sumada. El término R n,quese denomina error residual, representa por lo tanto la diferencia entre el valor de la función seno calculada y la real. Por características propias de la serie (es monótona, alternada, y estrictamente decreciente en valor absoluto) se puede demostrar que: x 2 R n u n+1 < u n esto es: cuando se ha calculado y sumado el término n-ésimo de la serie, el error cometido es inferior o igual (en valor absoluto) al valor del término u n+1 que es el que se calcularía a continuación y que es, a su vez, estrictamente menor (también en valor absoluto) al valor del término n-ésimo. Resumiendo, se puede decir que: el error residual que se comete, en valor absoluto, es siempre estrictamente menor que el valor del último término calculado. Por lo que, si se desea que dicho error sea menor que cierto ɛ dado, basta con calcular un término tras otro (sumándolos) hasta que se llegue a uno con valor inferior a dicho ɛ. Así, se tendría: 3 El programa R n u n+1 < u n <ɛ Como se ha dicho ya en la práctica anterior es necesario para poder resolver el problema mediante un programa determinar la estrategia que seguirá el programa y las características de los datos que intervengan para expresar tanto la estructura del programa solución como las variables y tipos de datos implicados.

3 EL PROGRAMA 4 3.1 Estrategia de resolución Para poder resolver el problema es posible plantear, a grandes rasgos, una estrategia como la que se describe textualmente a continuación: 1. Obtener inicialmente el valor del ángulo x y el error residual epsilon, 2. Calcular sucesivamente (y sumar) todos los términos del desarrollo propuesto hasta que el último término calculado valga menos que epsilon. 3. la suma de todos los términos calculados es el valor deseado, escribirlo adecuadamente. Claramente esta estrategia no describe con el suficiente nivel de detalle todos los aspectos relevantes del programa; así, entre otras cosas, no describe de forma totalmente precisa cómo es la iteración (por ejemplo, no se menciona el hecho de que un término se calcula en función del anterior, etc.) Es necesario, por ello, refinar la estrategia, aproximando su enunciado al nivel de detalle necesario. Se puede decir que un refinamiento de una estrategia consiste, en detallar aquellas partes de la misma que no están completamente definidas, hasta un cierto nivel de detalle deseado. En el caso límite, este nivel de detalle son las instrucciones del programa. Del análisis de la estrategia que se ha propuesto se puede ver que no explicita el cálculo del primer término, ni tampoco el de los terminos siguientes en función del anterior de cada uno. Tampoco precisa el proceso que se tiene que efectuar para acumular la suma de términos. 3.2 Refinamiento de la estrategia. Variables y tipos de datos Es necesario considerar ahora las variables que harán falta para poder resolver el problema. En primer lugar, hace falta una variable, por ejemplo puede llamarse term, para mantener el valor del término que en un momento dado se esté calculando. Además, por los desarrollos anteriores se conoce que el primer término vale x, que será el valor inicial de term. En cada iteración, para obtener un nuevo término a partir del anterior, basta con calcular la expresión correspondiente, dada por (2), que depende del último término term ytambién del número de términoqueseesté calculando, por lo que es necesario también mantener el número de término en otra variable (por ej. puede llamarse k). Para mantener la suma de todos los términos hay que utilizar una variable acumulador, por ejemplo de nombre sumsen. Todos los tipos de datos de las variables (int y double) son evidentes. Con todo ello, un refinamiento de la estrategia enunciada antes, es el siguiente: 1. Obtener inicialmente el valor del ángulo x y el error residual epsilon,(por ejemplo, pidiéndolos al usuario, o como argumentos del programa)

4 MODIFICACIONES DEL PROGRAMA ANTERIOR 5 2. Calcular el primer término de la serie (valor original del ángulo x), inicializando con él las variables term, valor del último término calculado hasta el momento, y sumsen que se usará como acumulador. Inicializar una variable k al número de término calculado (el primer término es el 0). Nótese que el error cometido es menor que el valor del último término calculado (term). 3. mientras que el valor del último término sea mayor o igual que el error deseado; esto es: mientras que (term >= epsilon) (a) Incrementar el índice del término calculado k, (b) Calcular el nuevo término (reemplazando el valor anterior de term), aplicando la expresión (2) (c) Acumular el nuevo término a sumsen 4. la suma de todos los términos calculados (sumsen) es el valor deseado, escribirlo adecuadamente. 3.3 Impresión de resultados Además del propio valor del seno del ángulo x que se calcula, hay otra información que también puede resultar interesante imprimir. Por ejemplo, ante cada entrada de datos (valores de x y epsilon), se puede imprimir lo siguiente: Valor calculado de sen(x) por el programa, valor de la variable epsilon, para conocer el máximo error residual, número de iteraciones efectuadas en el cálculo, o lo que es lo mismo, número del último término de la serie desarrollado valor de sen(x), calculado utilizando la primitiva del lenguaje (para así compararlo con el calculado mediante el programa) Obviamente, la impresión debe ser tal que se pueda identificar y leer claramente cada uno de los valores presentados. 4 Modificaciones del programa anterior A continuación se proponen algunas modificaciones al programa realizado en el apartado anterior. 1. El número de iteraciones realizadas en el bucle del programa anterior es una medida proporcional al tiempo de cómputo necesario para resolver el problema propuesto. Este número depende del valor de x y del error residual, ɛ, considerado. Modificar el programa anterior para que tabule, como se muestra a continuación, los resultados pedidos para valores de x comprendidos entre 0 y 20 radianes, considerando incrementos de 1 radián, y para un error residual ɛ =10 11

4 MODIFICACIONES DEL PROGRAMA ANTERIOR 6 x sen(x) sen(x) iteraciones ------ --------------- --------------- ----------- 1 ********** ********** ** 2 ********** ********** ** 3 ********** ********** **.............................. 20 ********** ********** ** 2. Modificar el programa anterior para que acepte como datos de entrada radianes o grados, a elección del usuario. Si el usuario opta por dar la entrada en radianes el programa efectuará los mismos cálculos que los ya desarrollados, pero si el usuario opta por dar su entrada en grados, el programa deberá convertir previamente dicho valor a radianes (utilizando el hecho de que 180 grados son π radianes), y efectuar, a continuación, los cálculos. 3. Es posible reducir los cálculos del seno de cualquier ángulo a uno equivalente realizado en la primera semicircunferencia, o en la primera circunferencia, basándose en el hecho de que: sen(α) = sen(π + α) =sen(2π + α) Modificar el programa original para determinar el valor de sen(x) para valores del ángulo x comprendidos entre -10000 y 10000 radianes.