Salve ragazzi sto scrivendo un programmino che calcoli il valore del coseno di un numero utilizzando gli sviluppi di taylor, tuttavia il valore che ottengo è del tutto diverso dal valore reale, sapete dirmi perche ??
grazie in anticipo.
grazie in anticipo.
Codice:
#include <iostream>
#include <math.h>
using namespace std;
unsigned long factorial (unsigned long number);
int main()
{
int n;
float somma;
float calc;
float termine;
cout <<"inserire il grado a cui fermarsi: ";
cin >>n;
cout <<"inserire il valore di cui si vuole calcolare il coseno: ";
cin >>termine;
for (int i=0; i<=n; i++) {
calc = (pow(-1, i))*(pow(termine, 2*i)/(factorial(i)));
somma = somma + calc;
cout <<"somma parziale: "<<somma <<endl;
}
cout <<endl <<"somma totale: "<<somma <<endl;;
cout <<"valore calcolato dalla funzione: "<<cos(termine);
}
unsigned long factorial (unsigned long number) {
if(number <=1)
return 1;
else
return number*factorial(number-1);
}