- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
功能是:
f1 = function(x) {
-1.3 * (x-0.1)^2+0.5 * (x-0.1)^5
}
我试图找到区间 [-1, 1] 中的最大值。
optimize(f1, interval = c(-1, 1), maximum = T)
这给出了结果(这是正确的):
$maximum
[1] 0.09999769
$objective
[1] -6.942984e-12
然而,我被问到(这个问题是为了作业)使用 optim 和 uniroot。尝试使用优化:
optim(par = c(-1, 1), fn = f1)
导致此错误消息(无论我做什么都会发生这种情况):
Error in optim(par = c(-1, 1), fn = f1) :
objective function in optim evaluates to length 2 not 1
虽然 uniroot 给出了一个明显错误的答案:
uniroot(f1, lower = -1, upper = 1, f.lower = -1, f.upper =1)
结果(明显错误):
$root
[1] 0.9998795
$f.root
[1] -0.7576706
那么这里的问题是什么?
最佳答案
你可以试试这个
> optim(0, f1, lower = -1, upper = 1, method = "L-BFGS-B", control = list(fnscale = -1))
$par
[1] 0.1
$value
[1] -4.806839e-26
$counts
function gradient
5 5
$convergence
[1] 0
$message
[1] "CONVERGENCE: REL_REDUCTION_OF_F <= FACTR*EPSMCH"
关于r - 在 R 中 optim 不会返回函数的最大值并且 uniroot 返回错误的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67637865/
我对 uniroot 命令有疑问。我无法以合乎逻辑的方式提出我的问题,因为我不知道为什么在下面示例的第二种情况下每次结果都不同。在第一种情况下,我的 f 函数的结果总是相同的: library(mvt
我查看了有关uniroot和optimize的描述,它们的描述有些不同,但是本书引用的书是相同的,我想知道是否有理由选择一个? 最佳答案 这两个功能的用途完全不同: optimize用于查找函数的最小
此函数根据管道的直径、流量和长度计算管道中的压力损失。 hazwil2 <- function(diam, flow, leng){ psi2=((1/(2.31*100))*1050*((flo
我想在 R 中使用 uniroot 找到 log(x) = x2 − 2 的根 f <- function(x) (log(x)+2-x^2) uniroot(f, lower=0, upper=1
在从 R 中调用的 C 程序中,我需要使用 R 的“uniroot”函数。一种方法是使用“call_R”函数从 C 中再次调用 R。我想知道是否有更好的方法? “Rmath.h”中是否有函数可以执行此
我想知道在R中由“ uniroot”输出的值列表中由“ optimize”输出的“ objective”是什么意思? 一个例子: uniroot(function(x) cos(x) - x, low
功能是: f1 = function(x) { -1.3 * (x-0.1)^2+0.5 * (x-0.1)^5 } 我试图找到区间 [-1, 1] 中的最大值。 优化函数返回正确的值: opti
可重现的示例: v tvm::xirr(v, d1, f.lower = -0.2, f.upper=0.5) [1] 10 > tvm::xirr(v, d1, f.lower = -0.2, f
可重现的示例: v tvm::xirr(v, d1, f.lower = -0.2, f.upper=0.5) [1] 10 > tvm::xirr(v, d1, f.lower = -0.2, f
我是一名优秀的程序员,十分优秀!