Оптимизировать функцию в r с граничным значением - PullRequest
0 голосов
/ 14 июня 2019

У меня есть следующая функция, и я хочу найти $ x $, удовлетворяющий этому требованию.

$$ \ frac {X ^ {2} (1.5) ^ {2} \ exp {1.5X ^ {2}}} {2} <1 $$ </p>

Я написал следующую r функцию.

f <- function(X) 0.5*X^2 * 1.5^2 * exp(X*1.5) < 1
optimize(f, c(0, 1))

Но это дает мне ошибку. Я хочу найти значение X, удовлетворяющее требованию. Спасибо за помощь.

1 Ответ

3 голосов
/ 14 июня 2019

Если мы определим ff как

ff <- function(X) 0.5*X^2 * 1.5^2 * exp(X*1.5)

, а затем построить график

curve(ff)

мы видим, что ff (0) = 0 и ff (x) монотонно увеличивается по x. Наибольшее значение x, для которого ff (x) <= 1, может быть рассчитано как решение для ff (x) = 1, которое имеет место при минимуме g: </p>

g <- function(x) (ff(x) - 1)^2
optimize(g, c(0, 1))

дает:

$minimum
[1] 0.6008074

$objective
[1] 1.058761e-09

Таким образом, любое значение x от 0 до 0,6008074 дает значение ff в закрытом интервале [0, 1].

# create graph
curve(ff)
opt <- optimize(g, c(0, 1))
abline(h = 0:1)
abline(v = c(0, opt$minimum))

screenshot

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...