Sviluppo in serie di Taylor del coseno c++

di il
7 risposte

Sviluppo in serie di Taylor del coseno c++

Salve a tutti, è la mia prima discussione qua!
Stavo facendo un programma in c++(uso eclipse) sullo sviluppo in serie di taylor della funzione coseno
ma per ogni cosa mi esce zero come risultato! chi mi dà una dritta è ben accetto!

#include <iostream>
using namespace std;

float potenza( float, int);
int fatt(int);

int main()
{
int	n;
float rad, termine, somma=0;


	cout<<"SVILUPPO IN SERIE DI TAYLOR.\n";
	cout<<"FUNZIONE COSENO. \n";

	cout<<"Inserisci grado di approssimazione: ";
	cin>>n;
	cout<<endl;

	cout<<"Inserisci il valore in radianti dell'angolo ,di cui vuoi l'approssimazione:";
	cin>>rad;
	cout<<endl;

	for(int i=1; i<=n; i++)
	{
		termine=(potenza(-1,n)*potenza(rad, 2*n))/fatt(2*n);
		somma=somma+termine;
	}

	cout<<"Lo sviluppo in serie di taylor per cos("<<rad<<") con grado di apporssimazione "<<n<<" è: ";
	cout<<somma;
}


float potenza(float a, int b)
{
	int ris=1;
	if(b==1) ris=a;

	for(int i=0; i<b; i++)
	{
		ris=ris*a;
	}
	return ris;
}

int fatt(int a)
{
int ris=1;

	for(int i=1; i<=a; i++)
	{
		ris=ris*i;
	}
	return ris;
}

7 Risposte

  • Re: Sviluppo in serie di Taylor del coseno c++

    Nella funzione potenza() utilizzi un intero (ris) per calcolare un valore che credo debba essere float (quindi prova a trasformare ris da int a float).
    E poi all'interno del ciclo di calcolo:
    termine=(potenza(-1,n)*potenza(rad, 2*n))/fatt(2*n);
    il valore di termine sarà sempre uguale indipendentemente dal numero di cicli che hanno preceduto...
  • Re: Sviluppo in serie di Taylor del coseno c++

    Ho aggiustato il ris..grazie.
    Per il secondo punto perchè termine non cambia? "termine" è prodotto di 2 funzioni che hanno al loro interno la variabile n che è il limite del contatore del ciclo for
  • Re: Sviluppo in serie di Taylor del coseno c++

    Nooo ho capito ..si ho detto una scemenza. grazie
  • Re: Sviluppo in serie di Taylor del coseno c++

    Nonostante la mia più completa ignoranza della materia, mi aspettavo che il valore di 'termine' dipendesse anche da i in modo da aumentare la precisione di 'somma' all'aumentare delle iterazioni...
  • Re: Sviluppo in serie di Taylor del coseno c++

    Si infatti deve essere così altrimenti il ciclo non ha senso in questo contesto
  • Re: Sviluppo in serie di Taylor del coseno c++

    E comunque ho trovato un altro errore per chi fosse interessato, sempre nel for, il ciclo deve essere inizializzato a 0 perchè cosi prevede lo sviluppo di taylor
  • Re: Sviluppo in serie di Taylor del coseno c++

    A questo punto magari potresti postare il codice corretto
Devi accedere o registrarti per scrivere nel forum
7 risposte