Na podstawie tematu: 218692.htm
Chce napisać funkcję cosinus ale coś nie działa
Czy ktoś widzi błąd?
Kod: Zaznacz cały
public class Funkcje {
double sinus(double x)
{
double wyraz=x, kwadrat=x*x, suma=x;
int n=1;
while(Math.abs(wyraz)>(1E-12))
{
wyraz*=-kwadrat/(2*n*(2*n+1));
suma+=wyraz;
n++;
}
return suma;
}
double cosinus(double x)
{
double wyraz=1, kwadrat=x*x, suma=1;
int n=1;
while(Math.abs(wyraz)>(1E-20))
{
wyraz*=-kwadrat/(2*n-1);
suma+=wyraz;
n++;
}
return suma;
}
public static void main (String arg[]){
Funkcje sinus = new Funkcje();
System.out.println("sinus: "+sinus.sinus(1));
System.out.println("sin : "+Math.sin(1));
System.out.println("cosinus: "+sinus.cosinus(2));
System.out.println("cos : "+Math.cos(2));
}
}
Kod: Zaznacz cały
sinus: 0.8414709848078937
sin : 0.8414709848078965
cosinus: -0.2799761491308182
cos : -0.4161468365471424