ich bin hier, weil ich bin mit R einige mathematische Funktionen zu simulieren, ich verwende diese Gleichheit wahr in Mathe, falsch in R
Und wenn ich es auf R simulieren habe ich zwei differents Graph und ich finde nicht wo ich falsch liege .... Kannst du mir helfen? Hier ist der Code: Ps: Ich habe auch das Integral berechnet durch die Funktion zu machen versuchen zu integrieren, aber es die gleiche Sache
hier machen wir haben:
setwd("~/Desktop/stage rapport")
#Pi probabilité de la réussite d'un épreuve de bernouilli en intégrale
#p : la probabilité d'un tirage de bernouilli
#t : le nombre total de tirage avant échec de l'épreuve
#n : nombre de succés necessaire à la réussite de l'épreuve
#prec : la precision de l'intégrale
Pi = function(t,n,p,prec){
resintg = 0
for (i in seq(p,1,by=prec)){
resintg = resintg + (i^(t-n))*((1-i)^(n-1))*prec
}
return(resintg*factorial(t)/(factorial(n-1)*factorial(t-n)))
}
#Ps probabilité de la réussite d'un épreuve de bernouilli en somme totale
#p : la probabilité d'un tirage de bernouilli
#t : le nombre total de tirage avant échec de l'épreuve
#n : nombre de succés necessaire à la réussite de l'épreuve
#prec : la precision de l'intégrale
Ps = function(t,n,p){
val = 0
for (k in seq(0,t-n)){
list = seq(k+1,k+n-1)
val = val + prod(list)*(p)^(k)
}
return((val*((1-p)^n))/factorial(n-1))
}
###################################################
#Le Main :
###################################################
#paramètre
t = 24
n = 8
i = 1
preci = 0.1
#calcul de P(p)1
x = seq(0,1,by=0.01)
y = NULL
for (p in x){
y = c(y,Pi(t,n,p,preci))
}
#calcul de P(p)2
x_ = seq(0,1,by=0.01)
y_ = NULL
for (p in x){
y_ = c(y_,Ps(t,n,p))
}
#tracer des courbes
png("courbeforum.png",width = 1200, height = 700)
plot(x,y,type = "l",col = "red",ylim = c(0,1))
lines(x_,y_,col="blue")
dev.off()
Ihre Funktion bereits in R implementiert ist, und es ist die kumulative der negativen Binomialverteilung. Siehe "? Dnbinom". Siehe auch die entsprechende Wiki-Seite. – nicola
ja es ist Simulation eines negativen Binomialgesetzes, danke für den Tipp –