Ver Mensaje Individual
  #6 (permalink)  
Antiguo 31/05/2012, 01:08
Fw190
 
Fecha de Ingreso: junio-2010
Ubicación: Madrid
Mensajes: 620
Antigüedad: 13 años, 11 meses
Puntos: 73
Respuesta: Calcular el seno de X mediante aproximaciones

Da igual emplear el deasrrollo de Taylor o el de MacLaurin, de hecho el de MacLaurin es un caso particular del de Taylor. Para el caso concreto de la función seno, creo que es más cómodo el de MacLaurin.

Sobre la función factorial, no suele venir implementada. Es muy fácil de implementar, por ejemplo como te ha posteado sam90. Si utilizas esta implementación, ten en cuenta que:

Puedes llegar a 12! con el tipo entero de 32 bits.
Puedes llegar a 20! si dispones de un tipo entero de 64 bits.
Puedes llegar a 33! si implementas la función como float.
Puedes llegar a 170! si implementas la función como double.

Dado que el desarrollo en serie de la función seno tiene solamente los términos de potencia impar (los que corresponderían a potencias pares se anulan), el número máximo de términos que podrías emplear sería la mitad de los rangos que te he indicado más arriba.

Comprueba si dispones de la función gamma de Euler (edita el archivo math.h, que debe estar en el directorio include de tu compilador). Esta es una función recursiva que se define como

gamma(p) = (p-1)*gamma(p-1)

que, para el caso particular de que p sea entero positivo (estrictamente mayor que cero), nos encontramos con la función factorial:

gamma(p) = (p-1)!

es decir,

p! = gamma(p+1)

Si la tienes, puede que tengas varios tipos (había también una gamma incompleta, por ejemplo). Te tocaría probarlas, a ver cuál es la que corresponde.

Saludos,