查找一个值,该值给出采用两个输入变量的函数的局部最大值

强尼

我之前也问过类似的问题,但不清楚。这是另一种尝试。

假设您具有下面的函数,该函数需要两个输入a和b。

inputs <- c(a, b)

y <- function(inputs) {
  a <- inputs[1]
  b <- inputs[2]
  output <- a/100 * (20 * b)^0.8 + (100 - a) / 100 * (10 * (100 - b))^0.8
  return(output)
}

对于a在[0,100]范围内的所有可能值,我想找到使上述函数的输出最大化的b的值,并限制b也必须是在[0,100]范围内的值]。

换句话说,我想将b绘制为a的函数,以使b对于给定的a值使上述函数的输出值最大化。

您将如何为此编写代码?

瑞·巴拉达斯(Rui Barradas)

首先,我会重写功能的两个参数的函数,这个顺序,ba这是因为R基函数optimize在其第一个参数上进行了优化。从文档中:

该函数optimize在从下到上的间隔中搜索f相对于其第一个参数的最小值或最大值

默认值是最小化,以最大化将各自的参数设置为TRUE
然后,为了最大化a间隔中的值,请[0, 100]对一系列a运行优化函数结果存储在列表中,强制到data.frame并绘制。

y <- function(b, a) {
  output <- a/100 * (20 * b)^0.8 + (100 - a) / 100 * (10 * (100 - b))^0.8
  output
}

a <- seq(0, 100, by = 0.1)
max_list <- lapply(a, function(.a){
  optimize(y, interval = c(0, 100), .a, maximum = TRUE, tol = .Machine$double.eps^0.5)
})

max_data <- do.call(rbind.data.frame, max_list)
row.names(max_data) <- NULL
head(max_data)
#       maximum objective
#1 9.302363e-09  251.1886
#2 9.302363e-09  250.9375
#3 9.302363e-09  250.6863
#4 9.302363e-09  250.4351
#5 9.302363e-09  250.1839
#6 9.302363e-09  249.9327


plot(objective ~ maxima, max_data)

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

查找采用两个输入变量的函数的局部最大值,每个变量具有不同的间隔

来自分类Dev

查找矩阵中两个值之间的局部最小值和局部最大值

来自分类Dev

查找组中行的变量值,该值是分组时另一个变量的最大值

来自分类Dev

Google BigQuery中是否有一个函数可以获取两个值的最大值?

来自分类Dev

查找局部最大值的最大4个值

来自分类Dev

查找局部最大值的最大4个值

来自分类Dev

如何获得两个联接变量的最大值

来自分类Dev

连接两个表,取一个最大值

来自分类Dev

查找另一个最大值查询的最大值

来自分类Dev

定义一个具有最大值的变量。

来自分类Dev

生成一个变量,该变量是另一个变量的两个值之比

来自分类Dev

在数组中比较:如果存在两个最大值,则比较另一个值

来自分类Dev

在 Matlab 中找到固定区间上的两个变量函数的最小值和最大值,并使用该函数在同一图中绘制这些点

来自分类Dev

使div宽度最大值为两个值?

来自分类Dev

在两个值之间选择最大值PostgreSQL

来自分类Dev

装配找到两个值的最大值

来自分类Dev

两个零之间值的最大值

来自分类Dev

在R中两个值的指定范围内查找最大值

来自分类Dev

一个 EditText 中的两个输入值

来自分类Dev

Scanf对标准输入采用两个循环值,但仅需一个就可以结束循环

来自分类Dev

哪些函数确定两个整数的最大值或最小值?

来自分类Dev

MySQL连接两个表,另一个字段具有最大值

来自分类Dev

根据适合两个值的查找值选择一个值

来自分类Dev

查找另一个赋予最大值的组的值

来自分类Dev

查找最大值并过滤第一个值

来自分类Dev

SQL-查找值相同或下一个最大值的所有行

来自分类Dev

如何在Excel中查找两个日期之间的最大值

来自分类Dev

列表中两个切片的最小最大值/最大值

来自分类Dev

列表中两个切片的最小最大值/最大值

Related 相关文章

  1. 1

    查找采用两个输入变量的函数的局部最大值,每个变量具有不同的间隔

  2. 2

    查找矩阵中两个值之间的局部最小值和局部最大值

  3. 3

    查找组中行的变量值,该值是分组时另一个变量的最大值

  4. 4

    Google BigQuery中是否有一个函数可以获取两个值的最大值?

  5. 5

    查找局部最大值的最大4个值

  6. 6

    查找局部最大值的最大4个值

  7. 7

    如何获得两个联接变量的最大值

  8. 8

    连接两个表,取一个最大值

  9. 9

    查找另一个最大值查询的最大值

  10. 10

    定义一个具有最大值的变量。

  11. 11

    生成一个变量,该变量是另一个变量的两个值之比

  12. 12

    在数组中比较:如果存在两个最大值,则比较另一个值

  13. 13

    在 Matlab 中找到固定区间上的两个变量函数的最小值和最大值,并使用该函数在同一图中绘制这些点

  14. 14

    使div宽度最大值为两个值?

  15. 15

    在两个值之间选择最大值PostgreSQL

  16. 16

    装配找到两个值的最大值

  17. 17

    两个零之间值的最大值

  18. 18

    在R中两个值的指定范围内查找最大值

  19. 19

    一个 EditText 中的两个输入值

  20. 20

    Scanf对标准输入采用两个循环值,但仅需一个就可以结束循环

  21. 21

    哪些函数确定两个整数的最大值或最小值?

  22. 22

    MySQL连接两个表,另一个字段具有最大值

  23. 23

    根据适合两个值的查找值选择一个值

  24. 24

    查找另一个赋予最大值的组的值

  25. 25

    查找最大值并过滤第一个值

  26. 26

    SQL-查找值相同或下一个最大值的所有行

  27. 27

    如何在Excel中查找两个日期之间的最大值

  28. 28

    列表中两个切片的最小最大值/最大值

  29. 29

    列表中两个切片的最小最大值/最大值

热门标签

归档