Пусть X и Y — две независимые случайные величины с функциями плотности f_x(x) = x*exp(0,5*x^2) где x>0 и f_y(y) = 0,5 с y в [-1,1] .
Я пытаюсь аппроксимировать вероятность P(Z>1) где Z =X+Y ; вот мой код R:
u <-runif(10000, min=0, max=1000000);
v<-runif(10000, min=-1, max=1);
f<-function(x){x*exp(-0.5*x^2)} ;
g<-function(x){1/2} ;
for ( i in 1:10000) {
I[i] = integrate ( f ,lower = 0 , upper = u[i]) ;
J[i] = integrate ( g, lower =-1 , upper = v[i]) ;
}
mean( (I+J)>1 ) ;
Я получаю эту ошибку:
Error in integrate(g, lower = -1, upper = v[i]) :
evaluation of function gave a result of wrong length
In addition: Warning message:
In I[i] = integrate(f, lower = 0, upper = u[i]) :
number of items to replace is not a multiple of replacement length
integrate
- это не число, а список с именованными элементами???? - person IRTFM   schedule 23.12.2015integrate
не будет числовым, поэтому вы не можете его ни к чему добавить, и B) вы оба не читаете страницу справки, где четко указаны требования функции, переданнойintegrate
. Мой (теперь перевернутый) голос против вашего ответа заключается в том, что я считаю бесполезным обвинять программное обеспечение в наличии ошибок просто потому, что вы не знаете, как его использовать. - person IRTFM   schedule 23.12.2015