R uniroot: решение неизвестной переменной в uniroot из функции с несколькими аргументами

Я пытаюсь получить значение переменной, находящейся в журнале, с помощью функции uniroot. В функции с уравнением, которое я хочу решить, я хочу иметь аргумент вектора, чтобы я мог умножать значения из этого вектора на каждый журнал.

Я попробовал метод, показанный в этом потоке: вызвать функцию с несколькими аргументами внутри uniroot в R, но безуспешно. Пожалуйста помоги. Спасибо.

       prob.vals <- c()
x <- 1
for (i in 0:4) {
  prob.calcs = q^(i)*(1-q)^(4-i)
  prob.vals[x] = prob.calcs
  x <- x + 1
}

# want to find the value of P
f = function(P, B = c()) {
  log(5 + 4*P - 4)*B[5] + log(5 + 4*P - 3)*B[4]
  + log(5 + 4*P - 2)*B[3]+log(5 + 4*P - 1)*B[2] +
    log(5 + 4*P)*B[1] - log(5)
}

uniroot(function(P) f(P, B = prob.vals), lower = 0, upper = 99999999)$root

0 ответов

Другие вопросы по тегам