求R中有理函数的局部极大值

求R中有理函数的局部极大值,r,optimization,R,Optimization,我如何找到有理(多项式)函数的局部最大值,比如R中的f(x)=500*t/(2*t^2+9)?我尝试了以下方法: t <- seq(0,10000,by=0.000001) f <- 500*t/(2*t^2 + 9) max(f) t那么,我是如何做到的。感谢G.和alistaire f <- function(x){ z <- 500*x/(2*x^2+9) return(z) } optimize(f,c(0,1000),maximum=TRUE) O

我如何找到有理(多项式)函数的局部最大值,比如R中的f(x)=500*t/(2*t^2+9)?我尝试了以下方法:

t <- seq(0,10000,by=0.000001)
f <- 500*t/(2*t^2 + 9)
max(f)

t那么,我是如何做到的。感谢G.和alistaire

f <- function(x){
  z <- 500*x/(2*x^2+9)
  return(z)
}

optimize(f,c(0,1000),maximum=TRUE)

Output:
$`maximum`
[1] 2.121332

$objective
[1] 58.92557

f参见
?优化
如果您检查
曲线(500*x/(2*x^2+9),从=0到=10000)
,您将看到该范围的大部分肯定不是最大值,因此您当前的方法生成了一个非常不必要的大向量。通过将
调整到
一点,可以很快将域缩小到[1,3]。或者让
优化
为您完成这一切,这样会更有效率。非常好。谢谢,伙计们。我用优化命令解决了这个问题,你也可以考虑函数OpTIM。我来查一下,PopGeo。谢谢只是一个评论。注意,你可以很容易地得到导数的分子。它是
9-2*t^2
一个因子,它的正根是
t=3/sqrt(2)=2.12…
。因此,结果是正确的:)