【发布时间】:2018-06-21 00:43:21
【问题描述】:
我有这个功能
hazwil2 <- function(diam, flow, leng){
psi2=((1/(2.31*100))*1050*((flow/140)^1.852)*leng*diam^-4.87)
return(psi2)
}
我正在尝试使用 optimize() 通过改变 diam 的值来最小化 psi2。
我不是在寻找绝对最小值,而是在寻找将psi2 保持在 2 以下的最小值。另外,我应该提到diam 是管道的直径,因此它只能是离散值, 2、3、4、5 或 6。
当我使用时:
optimize(
f = hazwil2,
interval = c(0.1,12),
flow = 100,
leng = 400
)
我得到diam (11.9) 的最大可能值,psi2 的值非常小。我的函数是单调的,所以psi2 的最小化总是会导致最大可能的diam。我想我正在努力为optimize() 函数设置约束。
【问题讨论】:
标签: r optimization