Serie de Taylor y la Función Seno! RESPUESTA AL ARTICULO Y PROPUESTA DEL CODIGO DE LA FUNCION SENO QUE DEJAMOS PLANTEADO MESES ATRÁS

Texto Extraido: Wikipedia – Se deja para animar al lector el desarrollo de esta función. En algunas semanas se incluirá el código en lenguaje C.
En hora buena!!!!
Respondiendo a lo que habiamos prometido hace unos meses Cumplimos en dejar el Código en Lenguaje C de la Función Seno!!!
Es realmente simple construir esta función interesante.
CODIGO DE LA FUNCION SENO EN LENGUAJE C.
POR SER ESTE LENGUAJE DIDACTICO Y DEL CONOCIMIENTO EN AMBIENTE TECNOLOGICO.
#include <math.h> //libreria de funciones matematicas, para este caso para habilitar el uso de pow: funcion de calculo de potencias.
int factorial (int valor) //Función Factorial de un Número Entero
{ int factor,i;
factor=1; // Incluimos Multipliación por 1. Según definición pero no hace falta
for (i=1;i<=valor;i++) {factor=factor*i; }
return (factor); // retorna el factorial de un número.
}
// Funcion Seno
float Seno(float valor) //sen (x)=x-((x^3)/3!)+((x^5)/5!)-((x^7)/7!)+((x^9)/9!)….
{
// Declaración de variables
float resultado;
int i, posicion, precision;
//Asignaciones iniciales de los valores
resultado= valor; // valor al que será aplicado las Sumas algebraicas del calculo.
precision=45; // Por ejemplo elegimos un valor de precision de 45 ciclos.
// Calculo de la Función seno propiamente Dicha.
for(i=1; i<=precision; i++)
{
posicion = i * 2 + 1; //Recorrer Valores Impares
if(i%2==0) // Segun Signo Positivo
resultado += pow(valor, posicion) / factorial(posicion);
else // Segun Signo Negativo
resultado -= pow(valor, posicion) / factorial(posicion);
}
return (resultado); // retorna el valor del seno en Radianes.
}
void main(void) //Bloque principal de ejecución
{ float angulo_radian;
angulo_radian = Seno(3.14);
}
DESCRIPCION MATEMATICA DEL MISMO.
EL LINK DEL ARTICULO ANTERIOR:
https://ramaucsa.wordpress.com/2010/06/15/serie-de-taylor-y-la-funcion-seno/
El programa No Funciona… Lo Pongo a Imprimir angulo_radian Y Sale: -1.#IND
8 octubre, 2011 en 6:58 PM
si no te funciona podes cambiar todos los float por double, lo probe en otras herramientas y funciona, barbaroo!!! en principio no lo probe, ahora me tome tiempo para verlo y si funciona correctamente, cuando lo escribi ni lo habia probado con ningun compilador, despues lo estuve observando y no tiene errores ni sintacticos ni tecnicos, ni matematicos, esta excelente, ahora lo pase a otro lenguaje y sigue funcionando barbaro, solo le ajuste el factorial para retornar float, y todo funciona con float, sino te parece, podes aumentarlo a double, y la precision la seteé a 12 😉 probe con algunos angulos en radianes y los checkeé con una calculadora científica, y es correcto su desempeño….
SI UNO QUIERE PROFUNDIZAR EL EN TEMA, ME GUSTARIA QUE SE DEFINA EL % DE ERROR COMPARANDOLA CON ALGUNA CALCULADORA DE PRECISION….
EN CUANTO A LOS DECIMALES QUE NO SE APROXIMAN…. ESO DEPENDE DE LOS CICLOS DE CPU EN ALGUNOS CASOS, EXISTEN OTRAS FORMAS OPTIMIZADAS INCLUSO LLEVARLO HASTA LENGUAJE MAQUINA PARA TENER MEJOR RESULTADO, YO PLANTEO COMO REALIZAR LOS CALCULOS A NIVEL DE ALGORITMOS MATEMATICOS CONOCIDOS PARA QUE SE PUEDA ENTENDER COMO FUNCIONAN ESTOS TIPOS DE CALCULOS, QUE COMO SE PLANTEA PARA EL CASO DE CALCULOS TRIGONOMÉTRICOS…. NO VALDRIA LA PENA QUE LO ESCRIBIERA EN ENSAMBLADOR PORQUE NO PODRIAN ENTENDER CON FACILIDAD… AUNQUE SOY AMANTE DE LOS CODIGOS ENSAMBLADORES, AUNQUE HACE TIEMPO QUE NI LOS MIRO, DESDE QUE ESTOY ENFOCADO AL MUNDO DE LA ELECTROTECNIA, LA INFORMATICA PASO A SEGUNDO PLANO 😉
PERO EN ESTE MUNDO TODO ESTA RELACIONADO ASI QUE ESTO QUE DEJO AQUÍ ES MUY UTIL DESDE CUALQUIE PUNTO DE VISTA QUE DESEAN MIRARLOO…
10 noviembre, 2012 en 9:20 PM
El código que se ha incluido en un pseudo-C, por eso al compilar te dará error, era solo válido para explicar el algoritmo, y dejamos a los lectores que desarrollen en sus herramientas y lenguajes de su predilección como se explico con anterioridad. En otro momento se puede volver a incluir en el mismo documento, la versión en lenguaje C, para que lo compiles directamente, pero como el objetivo fue solo mostrar como se realiza el algoritmo, estamos en contacto, gracias!!!
8 octubre, 2011 en 7:44 PM
excelente
25 octubre, 2012 en 5:49 PM
me marca error en
void main(void) //Bloque principal de ejecución
{ double angulo_radian;
angulo_radian = Seno(3.14);
}
26 septiembre, 2014 en 11:50 AM
lo debes definir como float no como double ya que la funcion seno está definida como float o realizar algun cast.
void main(void) //Bloque principal de ejecución
{ float angulo_radian;
angulo_radian = Seno(3.14);
}
en el ejemplo está así, por esa misma cuestión, salvo que cambies la función que reciba double y tus calculos estén en double…
Espero te sirva la info!!
29 septiembre, 2014 en 1:41 PM
No habia vuelto a leer tu sitio web por un tiempo, porque me pareció que era aburrido, pero los últimos posts son de buena calidad, así que supongo que voy a añadirte a mi lista de sitios web cotidiana. Te lo mereces amigo. 🙂
Saludos
2 noviembre, 2017 en 9:32 AM