striker159
Lt. Junior Grade
- Registriert
- Dez. 2008
- Beiträge
- 327
hallo.
in dem folgenden codeausschnitt geht es um die lösung einer kubischen gleichung.
a,b,c,d sind die koeffizienten.
v wird hierbei jedoch nicht berechnet (NaN).
kennt jemand den grund dafür?
in dem folgenden codeausschnitt geht es um die lösung einer kubischen gleichung.
a,b,c,d sind die koeffizienten.
Code:
double p = (3*a*c-b*b)/(3*a*a);
double q = 2*b*b*b/(27*a*a*a) - b*c/(3*a*a) + d/a;
double diskriminante = q*q/4 + p*p*p/27;
[...]
double u = Math.pow(-q/2+Math.sqrt(diskriminante),(1.0/3));
double v = Math.pow(-q/2-Math.sqrt(diskriminante),(1.0/3));
double j = (u+v)/(-2)-b/(3*a);
double k = (u-v)/2*Math.sqrt(3);
x1 = u+v-b/(3*a);
System.out.println("x1 ist : "+x1);
System.out.println("x2 ist : "+j+" + "+k+" * i");
System.out.println("x2 ist : "+j+" - "+k+" * i");
v wird hierbei jedoch nicht berechnet (NaN).
kennt jemand den grund dafür?