« 2020年3月 | トップページ | 2020年5月 »
optimize関数を使う。引数には定義域(以下の例ではx)の範囲を指定する必要がある。
以下は、f(x) = -(x-5)^2 + 50の最大値を調べた例。図より、最大値は明らかに-50で、その時のxは5。maximumオプションをTRUEにすると、指定した関数が最大値を返す値を検索する。指定をしないと、最小値を検索する。
> x <- -10:10
> f <- function(x) -(x - 5) ^ 2 - 50
> plot(x, f(x))
> optimize(f, lower = -10, upper = 10, maximum = TRUE)
$maximum
[1] 5
$objective
[1] -50
> optimize(f, lower = -10, upper = 10)
$minimum
[1] -9.999926
$objective
[1] -274.9978