# Integralberechnung in Excel VBA



## metalstore (10. April 2016)

Hallo alle miteinander,
für die Hochschule soll ich in Excel VBA ein Programm schreiben, dass auf der Weibull-Verteilung (Dichte-Funktion) basiert {mit  f(v) = (k/a) * (v/a)^(k-1)*exp(-(v/a)^k)}.

Der Teil des Programms, der mit anhand dieser Verteilung für diskrete Werte (Ganze Zahlen von 0 bis 20) Häufigkeiten berechnet funktioniert auch ohne Probleme.

Was jetzt mein Problem ist: Wie kann ich mit Hilfe von VBA das Integral für diese diskrete Werte berechnen?
Oder ist es nur möglich, die Einzelwerte, die ich durch die Verteilung erhalte, aufzusummieren?

Gruß und schönen Sonntag noch

metalstore


----------



## flotus1 (11. April 2016)

Dein Stichwort lautet (vermutlich) numerische Integration. Numerische Integration – Wikipedia
Gibt es denn sonst gar keine Vorgaben?


----------



## metalstore (11. April 2016)

danke erstmal für den Link, hat mir schon mal gut weitergeholfen, besonders die Monte-Carlo-Integration 

gegeben war erstmal nur die Weibull-Verteilung und zwei ortsbezogene Konstanten.
die erste Aufgabe war/ist dann, ein Programm zu schreiben dass für diskrete Werte ein Ergebnis tabellarisch ausspuckt, so weit, so gut

Dann kam der Hinweis, dass wenn eine gleichverteilte Zufallszahl aus dem Intervall [0,1] in die Umkehrfunktion des Integrals der Weibull-Verteilung eingesetzt wird, dass man dann eine Zufallszahl y erhält, die nach F(x) verteilt ist

Die zweite Aufgabe ist dann, ein Programm zu schreiben, dass diese Integralfunktion erstellt
die dritte Aufgabe ist dann, ein Programm zu erstellen, dass die nach F(x) verteilte Zufallszahl y ausgibt und man soll anhand von 100.000 gleichverteilten Zufallszahlen überprüfen, ob die Verteilung eingehalten wird

das war der Teil, der mir Kopfzerbrechen bereitet hat, denn ich konnte die Funktion f(x) nicht nach den "normalen" Integrationsregeln, die mir bekannt sind, integrieren

ich probier es später mal aus, ob ich mit der Monte-Carlo-Integration das hinbekomme und gebe dann nochmal Rückmeldung 

Und danke nochmals


----------



## flotus1 (11. April 2016)

Auch wenn ich selber ein viel für Monte-Carlo Methoden übrig habe, der "normale" Ansatz den ich hier empfehlen würde um mit mäßigem Programmier- und Rechenaufwand zu einem möglichst exakten Ergebnis zu kommen ist die Trapezregel oder die Simpsonregel.


----------



## metalstore (11. April 2016)

ok, danke für den Tipp 

P.S.: ich glaube, ich hatte kein Brett, sondern ne Bleiwand vorm Kopf:
Weibull-Verteilung – Wikipedia

hier wird die Verteilungsfunktion sogar angegeben -..-  
damit kann man sich den Rest wohl sparen

Tut mir leid, dass ich das nicht früher gesehen und dir den Aufwand erspart habe :/


----------

