Ver Mensaje Individual
  #1 (permalink)  
Antiguo 25/05/2012, 06:03
antoniuskas
 
Fecha de Ingreso: junio-2009
Mensajes: 30
Antigüedad: 14 años, 10 meses
Puntos: 0
Calculo del Seno por Taylor

Estoy intentando calcular el seno de un ángulo en radianes por medio de la serie de Taylor. Lo he hecho en C y compilado con devc, pero me funciona en positivos en primer y segundo cuadrante (o eso creo) pero no en negativos en tercer y cuarto cuadrante. A ver si alguien me puede ayudar.

Código:
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <math.h>
int factorial (int);

int main()
{
    int k,n=0;
    double  x,sinx=0.0,seno;
    double  pro,den,pot;
    printf ("introduce el valor de k: ");
    scanf ("%d",&k);
    printf ("\nintroduce el valor del angulo en radianes: ");
    scanf ("%lf",&x);
    while (n<=k)
    {
           // esta es una prueba con la formula toda junta, sin casting
          //seno =((pow (-1,n))/factorial(2*n+1))*(pow(x,2*n+1));
          pot=(double) pow(-1,n);
          den=(double) factorial(2*n+1);
          pro=(double)pow(x,2*n+1);
          seno= ((double)pot/(double)den)*(double)pro;
          sinx= sinx + seno;
          printf("\nEl elemento n=%d es %lf y la suma va siendo %lf",n,seno,sinx);
          n++;
          
    }
    printf ("\nEl valor del seno es:%lf",sinx);
    getch();
}
int factorial (int a)
{
    int i,fac;
    
    fac=1;
    for (i=a;i>0;i--)
    {
        fac=fac*i;
    }
    return fac;
    //dentro de la funcion no llamar a nada igual que la funcion
}
Saludos y Gracias.