cosinusentwicklung

Status
Nicht offen für weitere Antworten.
P

peter1985

Gast
Hallo!
also ich möchte den cosinus ganz einfach aber ohne der klasse java.lang.Math berechnen.meine funktion schaut so aus:
Code:
public static double cosinus(int x)
	{
		double j=0;
		int a=0;
		for (int k=0;k<=10;k++)
		{
		        a= fakt.fakultie(2*k);
		        j=j+(((Math.pow(-1.0,k))/a)*((Math.pow(x,2*k))));
		}
		return j;
	}
fakt.fakultie berechnet mir die fakultät(des liefert auch einwandfreie ergebnisse problem liegt also nicht hier)...
eigendlich sollte k gegen unendlich laufen,damit der wert immer genauer wird. aber ca. k=10 kommen auf einmal riesige werte...
für x<2 kommen auch richtige ergebnisse raus.

falls jemand eine idee hätte,wäre ich sehr dankbar!

mfg,peter
 

Bleiglanz

Gesperrter Benutzer
die fakultät von 17 passt ja wohl schon nicht mehr in einen int, also ein klassischer fall von Überlauf...

Code:
    public static double cosinus(double x) {
        double term = 1.0;
        double result = term;
        for (int i = 2, vorzeichen = -1; i < 40; i += 2, vorzeichen *= -1) {
            term = term * (x * x) / (i * (i - 1));
            result += vorzeichen * term;
        }
        return result;
    }
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben