Rにおける関数の最大値を見つける方法

R 言語では max() 関数を使って関数の最大値を算出できます。

まず、関数を定義する必要がある。例として、簡単な関数 f(x) = x^2 + 2x + 1 を定義する。

f <- function(x) {
  return(x^2 + 2*x + 1)
}

その後は、max() 関数を使ってその関数の最大値を求めることができます。最大値を求めるために optimize() 関数を使って負関数の最小化を行うか、optimize() 関数を使って関数の最大化を行うこともできます。

optimize() 関数を用いて関数を最大化するための構文:

result <- optimize(f, interval = c(a, b))

f が定義された関数の関数定義域を格納したベクトルです。optimize() 関数は結果オブジェクトを返し、その中に極大値の近似値が含まれます。

例えば、区間[-10, 10]における関数f(x)の最大値を求めることができる

f <- function(x) {
  return(x^2 + 2*x + 1)
}

result <- optimize(f, interval = c(-10, 10))
max_value <- result$maximum

print(max_value)

出力は日本語で提供されます。

[1] 0

x^2+2x+1の関数は、最大値が0であることを示す。

お役に立てれば幸いです!

bannerAds