Здравствуйте, я надеялся получить некоторую помощь, интегрируя функцию, основанную на случайной переменной. Функция состоит в том, чтобы получить ожидаемое значение непрерывного распределения.Интеграция функции в R
Вот код, который у меня есть.
montecarlo = function(r,v,t,x,k) {
y = rnorm(1)
e = (y*(x*exp((-v*sqrt(t)*y)+((r-(.5*v^2))*t))-k))
MCOP=exp(-r*t)*integrate(e, lower = -Inf, upper = Inf)
if((x*exp((-v*sqrt(t)*y)+((r-(.5*v^2))*t))-k) > 0) {
return(MCOP)
} else {
return(0)
}
}
Если я ввожу, например: montecarlo(.03, .65, 3, 34, 30)
Я получаю сообщение об ошибке, которое гласит:
Ошибка в ГЭТ (as.character (FUN), режим = "функция" , Envir = Envir):
объект 'е' 'функции' режим не был найден
Я хочу интегрировать по у всех остальных переменных х, у, т, г, и к собираются дать. – Dmitriy
Y должно быть случайно сгенерированным числом, и функция, которую я пытаюсь запрограммировать, даст мне ожидаемое значение непрерывных распределений (которое является интегралом от -inf до inf y * f (y) dy – Dmitriy
, если вы читаете '? integrate', первый параметр является« функцией R ... ». Ваш код вычисляет значение a для e. Я не знаю« интегрировать », поэтому не могу много советовать, но я думаю, вам нужно определить другое функцию и передать ее как параметр для 'integrate' – epi99