Ich wurde gebeten, die cos nach dieser Gleichung zu finden:Finden der cos eines Winkels in Java
konnte ich die Sünde der Winkel finden, aber wenn die cos finden, die Nummer, die ich bekommen würde, ist ganz anders als der richtige Wert:
Ich habe den folgenden Code für die Suche nach dem cos verwendet. ps: Ich kann nicht math.cos
public static double cos(double x, int n){
// declaring cos and factorial
double cos = 0.0;
// this loop determines how long does the loop go so the answer is more accurate
for (long howlong = 1 ; howlong <=n; howlong++){
double factorial =1;
// this will calculate the factorial for even numbers ex/ 2*2 = 4 , 4-2 = 2
// for the denominator
for (int factorialnumber=1; factorialnumber<=2*howlong-2; factorialnumber++){
factorial = factorial * howlong;
}
// now we need to create the pattern for the + and -
// so we use % that switches the sign everytime i increments by 1
if (howlong%2==1){
cos = cos + (double) (Math.pow(x, 2*howlong-2)/factorial);
}
else{
cos = cos - (double) (Math.pow(x, 2*howlong-2)/factorial);
}
}
return cos;
}
bearbeiten verwenden: ich meinen Fehler herausgefunden, wie es die Fakultät, wie lange statt faktorielles Zahl multipliziert wurde.
Wir wissen nicht, was Ihre Eingabe, erwartete Ausgabe oder tatsächliche Leistung ist, was es schwieriger macht, Ihnen zu helfen. (Es könnte z. B. leicht ein Grad-gegen-Radiant-Problem sein.) –
Sie verlieren die Präzision, indem Sie ein "double" für Ihre Fakultät verwenden. – jsheeran
Entschuldigung ich löschte es von mkstake, ich fügte es zurück – khbq