Hi,(*lang nicht mehr hier*)
ich bastel gerade an einem kleinen "Stochastik programm" und dazu brauche ich folgende Funktionen:
Fakultät
nPr
nCr
b(n;p;k)
Gibt es eine Java-Klasse die diese Funktionen beinhaltet?
Ihr wisst nicht was das alles bedeuten soll?
Ich erkläre es euch.
Fakultät ist folgendes:
5!=5*4*3*2*1
3!=3*2*1
Aber das dürfte ja jedem ein Begriff sein(Standardaufgabe)
nPr=k-tupel aus einer n menge(mit reihenfolge ohne wiederholung)
10nPr5= 10!/(10-5!)
Also allgemein n!/(n-k)!
Dann nPr =k Teilmengen aus einer n Menge ohne Reihenfolge ohne Wiederholung
d.h.: 10nCr5 = 10!/((10-5)!*5!)
also allg.: n!/ ((n-k)!*k!)
So und dann noch die Bernouilli-Wahrscheinlichkeit
B(10;0.5;2) = Wahrscheinlichkeit dafür dass aus 10 Losen mit einer Trefferwahrscheinlichkeit von 0,5 genau 2 treffer gezogen werden.
Formel : (n nCr k) *p^k *(1-p)^(n-k)
So gibt es diese Funktionen fertig? oder muss ich die mir selber basteln?(habe ich schon gemacht)
Wäre diese implementierung einigermaßen ok?
Was würdet ihr evtl ändern?
ich bastel gerade an einem kleinen "Stochastik programm" und dazu brauche ich folgende Funktionen:
Fakultät
nPr
nCr
b(n;p;k)
Gibt es eine Java-Klasse die diese Funktionen beinhaltet?
Ihr wisst nicht was das alles bedeuten soll?
Ich erkläre es euch.
Fakultät ist folgendes:
5!=5*4*3*2*1
3!=3*2*1
Aber das dürfte ja jedem ein Begriff sein(Standardaufgabe)
nPr=k-tupel aus einer n menge(mit reihenfolge ohne wiederholung)
10nPr5= 10!/(10-5!)
Also allgemein n!/(n-k)!
Dann nPr =k Teilmengen aus einer n Menge ohne Reihenfolge ohne Wiederholung
d.h.: 10nCr5 = 10!/((10-5)!*5!)
also allg.: n!/ ((n-k)!*k!)
So und dann noch die Bernouilli-Wahrscheinlichkeit
B(10;0.5;2) = Wahrscheinlichkeit dafür dass aus 10 Losen mit einer Trefferwahrscheinlichkeit von 0,5 genau 2 treffer gezogen werden.
Formel : (n nCr k) *p^k *(1-p)^(n-k)
So gibt es diese Funktionen fertig? oder muss ich die mir selber basteln?(habe ich schon gemacht)
Wäre diese implementierung einigermaßen ok?
Code:
public class Stochastikklasse {
public static double fakultaet(int n){
double f_ergebnis=1;
for(int i=n;i>0;i--){
f_ergebnis*=i;
}
return f_ergebnis;
}
public static double npr(int n, int k){
double npr_ergebnis=0;
npr_ergebnis=(Stochastikklasse.fakultaet(n))/(Stochastikklasse.fakultaet((n-k)));
return npr_ergebnis;
}
public static double ncr(int n, int k){
double ncr_ergebnis=0;
ncr_ergebnis=(double)(Stochastikklasse.npr(n,k)/Stochastikklasse.fakultaet(k));
return ncr_ergebnis;
}
public static double B(int n, double p,int k){
double B_ergebnis=0;
B_ergebnis=(double)(Stochastikklasse.ncr(n,k)*Math.pow(p,k)*Math.pow((1-p),(n-k)));
return B_ergebnis;
}
Was würdet ihr evtl ändern?