Я хотел бы написать код для решения такого рода уравнений:
Для этого я написал код ниже, однако он не решает проблему. Есть ли у вас какие-либо идеи о возможности решения такого рода интегралов в R?
t_0 = 15
mu = 0.1
lambda = 0.8
f = function(x1,x2) exp(mu*(x1+x2))*dexp(log(lambda)*(x1+x2))
f_comp = function(x2) f(x1,x2)
f_1 = function(x1) {integrate(f_comp,upper = t_0, lower = x1)}
result = integrate(f = f_1, lower = 0, upper = t_0)$value
--------- редактировать:
Учитывая ответ ниже, я адаптирую код к своему примеру, но я все же думаю, что это не правильный, по крайней мере, значение 0 для интеграла не имеет смысла.
integrate(function(x1) {
sapply(x1, function(x1){
integrate(function(x2) exp(mu*(x1+x2))*dexp(log(lambda)*(x1+x2)), lower = x1, upper = t_0)$value
})
}, 0, t_0)
кстати, я хотел бы построить общую процедуру для этого (поэтому я просто не вычисляю интеграл вручную). Это не только двойные интегралы, но и интегралы из n-кортежей, поэтому мне нужна общая процедура для такого рода вычислений.
f
в R верно? У меня есть сомнения. Вы можете найти ответ в этой теме. - person Bhas   schedule 26.10.2016f
, правильно. Почемуlog
? Где1-....
? - person Bhas   schedule 26.10.2016dexp
определяется так, как вы представляете. В справке R сказано, чтоdexp
определяется какlambda * exp(-lambda*x)
- person Bhas   schedule 27.10.2016