Berechnung der Fakultät von Fließkommazahlen anhand von Stirlingformel

pkm

Bekanntes Mitglied
Wenn ich in einem Onlinetaschenrechner die Fakultät von 2,2 berechne (2,2!), ist das Ergebnis 2.42396547994.

Bei der Entwicklung einer Taschenrechnerapplikation habe ich nun die Berechnung ganzzahliger Fakultäten um die Berechnnug der Fakultät von Fließkommzahlen anhand folgender Formel / Funktion erweitert:

Java:
    private double stirlingFactorial(double n) {

        if (n == 1) {
            return 1;
        }
        
        double z;
        double e = 2.71;
        
        z = Math.sqrt(2*3.14*n) * Math.pow((n/e), n);
        return z;
    }

Diese Formel habe ich aus dem Netz gerippt, und sie liefert mit als Ergebnis von 2,2! einen anderen als den oben angegebenen Wert, nämlich: 2.349571254135079

Ist die Formel falsch, und falls ja, gibt es eine kanonische Formel zur Berechnung der Fakultät von Fließkommazahlen?
 

NullCharm

Aktives Mitglied
Probier mal mit:

Java:
    public static double stirlingFactorial(double n) {
        if (n == 1) {
            return 1;
        }
        return Math.sqrt(2 * Math.PI * n) * Math.pow((n / Math.E), n);
    }
 

pkm

Bekanntes Mitglied
Danke für die Antwort - nach wie vor weichen die Ergebnisse voneinander ab (spooky). Laut Onlinerechner ist 2,2! = 2.42396547994, mit der obigen Stirlingformel berechnet ist das Ergebnis für denselben Term: 2.334443204078601.
 

LimDul

Top Contributor
In der Wikipedia gibt es folgendes Bild:

1634549536070.png


Sprich, die einfache Stirlingformel weicht vor allem bei kleinen n ein gutes Stück vom exakten Wert ab.

6% von 2,42396547994 sind 0,14...

Damit liegt dein Wert im Rahmen der Abweichung und vermutlich hat der Taschenrechner ein genaueres Verfahren implementiert (Siehe die Verfahren hier: https://de.wikipedia.org/wiki/Stirlingformel)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Private Void rekursive vs. iterative Lösung für Berechnung der Fakultät Allgemeine Java-Themen 12
I Berechnung Lagerbestands / Verfügbarkeitsprüfung Allgemeine Java-Themen 1
L RegEx für Teile einer Berechnung Allgemeine Java-Themen 14
L Korrektur nach der Berechnung vornehmen, aber wie? Allgemeine Java-Themen 11
D Berechnung des Cosinus Allgemeine Java-Themen 4
H float Berechnung: Ergebnis ohne wissenschaftliche Notation Allgemeine Java-Themen 5
A Fehlerhafte Nst Berechnung einer bestimmten Fkt. (Bisektion) Allgemeine Java-Themen 10
E Berechnung des Schnittpunktes von zwei Geraden Allgemeine Java-Themen 1
P Performate Zeiteiteiteilungs- Berechnung Allgemeine Java-Themen 4
B TileMap berechnung? Allgemeine Java-Themen 8
P jodaTime Berechnung Geburtstag Allgemeine Java-Themen 1
K Probleme bei Berechnung der Komplexität Allgemeine Java-Themen 7
S Welcher Schleifen type für eine Berechnung Allgemeine Java-Themen 7
B BlueJ Potenz Berechnung Allgemeine Java-Themen 16
W Berechnung Durchschnitt mit Schleife Allgemeine Java-Themen 9
M Berechnung verbessern Allgemeine Java-Themen 8
W OOP Berechnung des Skalarprodukts Allgemeine Java-Themen 9
H Demonstrationsprogramm zur CRC-Berechnung Allgemeine Java-Themen 2
D Berechnung von Sonnenauf und Sonnenuntergang Allgemeine Java-Themen 2
E Berechnung in Arraylist Allgemeine Java-Themen 10
R Eclipse Verschiedene Ergebnisse bei Berechnung eines double-Werts Allgemeine Java-Themen 5
E Falsche Ergebnisse bei PQ-Formel Berechnung Allgemeine Java-Themen 12
N Optimierung einer Berechnung Allgemeine Java-Themen 17
G java.sql Time Berechnung Allgemeine Java-Themen 6
Eldorado Berechnung von Koordinaten, die zufällig aussehen Allgemeine Java-Themen 5
B Berechnung eines sinh abbrechen, wenn 16. Nachkommastelle sich nicht mehr ändert Allgemeine Java-Themen 7
J Berechnung anhand einer XML-Datei Allgemeine Java-Themen 3
S YUV to RGB (einfache Berechnung) Allgemeine Java-Themen 5
G Programm zur Berechnung von Summe, Median, Erwartungswert, usw von einem Array Allgemeine Java-Themen 7
C Bilder rotieren, Denkfehler in der Berechnung? Allgemeine Java-Themen 2
B Berechnung von Punkten/ If-else Strategie?! Allgemeine Java-Themen 51
T Berechnung in zweidimensionalem Array Allgemeine Java-Themen 3
X hashCode() Berechnung Allgemeine Java-Themen 5
R Tabelle - Berechnung der "Zeilenart" Allgemeine Java-Themen 2
L Berechnung mit Module bis bes.timme Zahl erreicht. Allgemeine Java-Themen 4
P CRC Berechnung Allgemeine Java-Themen 2
J berechnung von potenzen und wurzel-ziehen ohne klasse " Allgemeine Java-Themen 14
D Problem bei einer Berechnung (pow?) Allgemeine Java-Themen 3
P Java-Programm zur Berechnung globaler Minimas und Maximas-ff Allgemeine Java-Themen 4
B Primzahlen Berechnung optimieren Allgemeine Java-Themen 7
A Probleme bei der Berechnung von Pi! Java Problem Allgemeine Java-Themen 2
M Servlet --> Berechnung --> Timeout vom Proxy oder IE!? Allgemeine Java-Themen 7
S Probleme mit Fakultät Allgemeine Java-Themen 2
B Fakultät, NCR, NPR, Bernoulli-Wahrscheinlichkeit Allgemeine Java-Themen 3
W Ausgabe von Fließkommazahlen formatieren Allgemeine Java-Themen 2

Ähnliche Java Themen


Oben