Dev - C++ - Ayuda con sumatoria taylor

 
Vista:

Ayuda con sumatoria taylor

Publicado por zeta255 (2 intervenciones) el 24/03/2021 05:48:13
tengo este codigo, es una sumatoria taylor, ingreso el valor de x para poder obtener el valor de sen, lo he hecho de esta manera pero no me sale nada me tira nan, adjunto la fomrmula en que me vaso

5fa95866df94d52f170e6b2bc6eb64d921a4dae6

sen(x) = SUM(n=0->inf) ((-1)^n / (2n+1)! * x^(2n+1)) =
= x^1/1! - x^3/3! + x^5/5! - x^7/7! + x^9/9! - ...

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include<iostream>
#include <math.h>
#include<iomanip>
 
using namespace std;
int main(){
	int x, numerador=1, denominador=1, sen,f=0;
 
	cout<<"ingrese el valor de x para sen: "; cin>>x;
	cout<<setprecision(4);
	for (int i=1; i<=10;i++)
		{
	numerador=numerador*(-1^x);
	denominador=denominador*(2*i+1);
	sen=(numerador/denominador)*(x^(2*x+1));
	f=f+sen;
	}
	cout<<"el valor de sen"<<x<<"= "<<f;
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Rodrigo
Val: 1.755
Plata
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Ayuda con sumatoria taylor

Publicado por Rodrigo (539 intervenciones) el 24/03/2021 06:55:46
Algunos errores que veo:

- ^ no es el operador de exponenciacion. ^ es el operador xor
- La sumatoria usa -1^n, no -1^x, en este caso n es tu variable i.

- Te conviene usar float (o double) en vez de int, al menos para x, para que en las operaciones en donde este involucrado, los resultados sean float (o double) tambien. Sino, te encontraras con resultados de tipo entero solamente.

- Existe pow() para potencias, pero no es necesario usarla si usas el hecho que un termino y el siguiente son bien parecidos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ayuda con sumatoria taylor

Publicado por zeta255 (2 intervenciones) el 24/03/2021 22:14:08
le hice unas modificaciones pero me sigue tirando nan no se porque no me calcula nada

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// Utilizar sumatoria taylor para calcular el valor de SEN con respecto a "X"
 
#include<iostream>
#include <math.h>
#include<iomanip>
 
using namespace std;
int main(){
	double x, sen,numero, numerador=1, denominador=1,f=0;
 
	cout<<"ingrese el valor de x para sen: "; cin>>x;
	for (int i=1; i<=360;i++)
		{
	sen=x*((i*i)+1);
	numero=(-1*i);
	numerador= numerador+(sen*numero);
	denominador=denominador+((i*i)+(1));
	f=f+(numerador/denominador);
	}
	cout<<"el valor de sen"<<x<<"= "<<f;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar