求R中有理函数的局部极大值
我如何找到有理(多项式)函数的局部最大值,比如R中的f(x)=500*t/(2*t^2+9)?我尝试了以下方法:求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
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…
。因此,结果是正确的:)