arctangente (x)= sumatorio de (((-1)^(i-1))*x^(2i-1))/(2i-1)
arriba del sumatorio n y abajo i=0
y el enunciado que me dan es:
Este desarrollo en serie solo funciona si x está entre -1.0 y 1.0.
El método recibe como parámetros los valores x y n. Si x no está entre -1.0 y 1.0 o n es menor que uno retornar Double.NaN. En caso contrario calcular y retornar el valor del sumatorio. Para hacer más eficiente el cálculo no utilizar la operación "elevar a". Observar que de la iteración i a la siguiente:
• el numerador cambia de signo alternando entre +1 y -1
• la potencia de x se obtiene multiplicando a la anterior por x2
Mi problema es que no se como poner el -1 elevado a i-1 sin utilizar Math.pow
Código HTML:
/**
* Write a description of class Ejercicio3 here.
*
* @author (Ojimetro)
* @version (a version number or a date)
*/
public class Ejercicio3
{
public String calculador(double x,double n)
{
String arcotangente;
double suma=0;
if(x>=-1.0 && x<=1.0 && n>1)
{
for (double i=0; i<=n; i++)
{
suma= suma+((Math.pow(-1.0,i-1.0)/(2.0*i-1.0)))*(Math.pow(-1.0,i-1.0)/(2.0*i-1.0)*x*x);
}
double anguloRadianes = Math.atan(suma);
double anguloGrados = Math.toDegrees(anguloRadianes);
return (String.valueOf(anguloGrados));
}
else
{
arcotangente="Double.NaN";
return arcotangente;
}
}
}