Hola!
Primero de todo un saludo !! Soy nuevo por aquí y estoy para aprender :D
Tengo el siguiente codigo;
/**
* Write a description of class IIPMath here.
*
* @author (Kevin Borràs Soler)
* @version (a version number or a date)
*/
public class IIPMath{
/** Calcula l'arrel quadrada de x amb un error màxim epsilon */
public static double sqrt(double x, double epsilon){
double t = 1.0;
double error = epsilon + 1;
int contador = 0;
while(Math.abs(error) >= epsilon ){
error = t;
t = ((x+t*t)/(2*t));
error = error - t;
}
return t;
}
/** Calcula l'arrel quadrada de x amb un error màxim 1e-15 */
public static double sqrt(double x){
return sqrt(x,1e-15);
}
/** Calcula el sinus de l'angle x, en radiants, amb un error màxim epsilon */
public static double sin(double x, double epsilon){
double term = x;
double index = 0;
double SumadorSinus = x;
while(Math.abs(term) >= epsilon) {
index ++;
term = - ((x*x)/(2*index*(2*index+1)))*term;
SumadorSinus = SumadorSinus + term;
}
return SumadorSinus;
}
/** Calcula el sinus de l'angle x, en radiants, amb un error màxim 1e-15 */
public static double sin(double x){
return sin(x,1e-15);
}
private static double aPrimCircumf(double x){
double angle = 0;
angle = angle%Math.PI*2;
while (angle >= Math.PI*2) {
angle -= Math.PI*2;
}
return angle;
}
}
Per me falta unas cositas que me han dejado un poco confuso :(
Modicar el método público sin(double) que he realizado anteriormente para que utilice el método aPrimCircunf(double) antes de efectuar la iteración correspondiente.
Y luego a la hora de hacer una tabla para que me compare los valores de la clase Math.sin y la que he creado yo, y la clase math.sqrt y la que he creado yo.