📜  在 R 编程中搜索函数的最小值和最大值的区间 – optimize()函数(1)

📅  最后修改于: 2023-12-03 15:37:28.493000             🧑  作者: Mango

在 R 编程中搜索函数的最小值和最大值的区间 – optimize()函数

在 R 编程中,optimize() 函数可以用于搜索函数的最小值和最大值的区间。该函数使用了一个优化算法,可以帮助程序员快速地找到函数的最小值和最大值。本文将介绍 optimize() 函数的用法和示例。

optimize() 函数的用法

optimize() 函数的语法如下:

optimize(f, interval, maximum = FALSE, tol = .Machine$double.eps^0.25)

参数说明:

  • f:被优化的函数。
  • interval:搜索的区间。
  • maximum:是否搜索函数的最大值。默认为 FALSE,即搜索函数的最小值。
  • tol:最小容差。

函数的返回值为一个长度为 2 的数值向量,第一个元素为最小值或最大值,第二个元素为最优位置。

optimize() 函数的示例

下面我们来举一个例子,使用 optimize() 函数搜索函数的最小值和最大值。

# 定义被优化的函数
f <- function(x) {
  return (x^2 - 2*x + 1)
}

# 搜索函数的最小值
result <- optimize(f, c(-10, 10), maximum = FALSE)
cat("函数的最小值:", result$minimum, "\n")
cat("最优位置:", result$objective, "\n")

# 搜索函数的最大值
result <- optimize(f, c(-10, 10), maximum = TRUE)
cat("函数的最大值:", result$maximum, "\n")
cat("最优位置:", result$objective, "\n")

执行上述代码,我们可以得到以下输出:

函数的最小值: 0.9999999 
最优位置: 0.9999999 
函数的最大值: 3 
最优位置: -1 

从输出结果中可以看出,optimize() 函数成功地搜索到了函数的最小值和最大值。