[ Foro de C++ ]

Formula Taylor Coseno

15-Oct-2022 04:29
Alejandro Castillejos
0 Respuestas

Necesito hacer un programa para calcular la formula de taylor, con las condiciones que vienen en el codigo, pero no pasa de dos veces el ciclo, alguien sabe como arreglarlo?

/*Programa que realiza el calculo de la formula de Taylor
y termina el calculo cuando el residuo entre el (cos x en n)
y el (cos x en n-1) es menor a 0.0001*/

#include<iostream>
#include<math.h>
using namespace std;
void conver_grados(float ang, float *r);
unsigned long factorial(int n);

int main(){
int n=0;
float ang,x;
long double result2=0,fact,resultado=0;

cout<<"Introduce el angulo x: ";
cin>>ang;
conver_grados(ang,&x);
cout<<"Ang= "<<x<<endl;
do{
resultado=resultado+((pow(-1,n)/factorial(2*n))*pow(x,2*n));
cout<<resultado<<endl;
result2=result2+((pow(-1,n-1)/factorial(2*n-1))*pow(x,2*n-1));
n++;
}while(((pow(-1,n-1)/factorial(2*n-1))*pow(x,2*n-1))-((pow(-1,n-2)/factorial(2*n-2))*pow(x,2*n-2))>0.0001);
cout<<"El coseno del angulo es: "<<resultado<<endl;
return 0;
}

void conver_grados(float ang, float *r){
*r=ang*M_PI/180;
}
unsigned long factorial(int n){
unsigned long f=1;
for(int i=1;i<=n;i++){
f=f*i;
}
return f;
}




(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)