如何优化二元函数
How can I optimize a two variable function
我一直在尝试优化以下功能,但没有成功:
parametros <- data.frame(ap=c(11.1, 7.07, 6.3, 4.75, 4, 3.35),
fx=c(41.2012, 39.3732, 25.2912, 10.3455, 1.2253, 0.4017))
xm <- 11.2
fxcalc <- function(s, t) {(1 - (1 - (parametros$ap/xm)^s)^t)*100}
suma <- function(s, t) {(parametros$fx - fxcalc(s, t))^2}
func <- function(s, t) {sum(suma(s, t))}
作为 func()
我试图为 s
和 t
最小化的函数。
显然函数“optim()”不能处理多个变量。
optim
适用于多个变量,但您要优化的函数必须以向量作为参数,而不是一对数字:
func <- function(st){
s <- st[1]
t <- st[2]
sum(suma(s,t))
}
optim(c(0,0), func) # 0 and 0 initial values of s and t
我一直在尝试优化以下功能,但没有成功:
parametros <- data.frame(ap=c(11.1, 7.07, 6.3, 4.75, 4, 3.35),
fx=c(41.2012, 39.3732, 25.2912, 10.3455, 1.2253, 0.4017))
xm <- 11.2
fxcalc <- function(s, t) {(1 - (1 - (parametros$ap/xm)^s)^t)*100}
suma <- function(s, t) {(parametros$fx - fxcalc(s, t))^2}
func <- function(s, t) {sum(suma(s, t))}
作为 func()
我试图为 s
和 t
最小化的函数。
显然函数“optim()”不能处理多个变量。
optim
适用于多个变量,但您要优化的函数必须以向量作为参数,而不是一对数字:
func <- function(st){
s <- st[1]
t <- st[2]
sum(suma(s,t))
}
optim(c(0,0), func) # 0 and 0 initial values of s and t