DEoptim
не ожидает, что вы передадите ей 2 отдельных аргумента вашей функции (x
и y
), но вы все равно можете найти несколько переменных.
Вам необходимо передать вектор, а не две отдельные переменные с пакетом DEoptim
, как с функцией optim
.
Я проверил это с помощью функций из связанного решения, и это сработало:
fxcalc <- function(s,t){(1-(1-(parametros$ap/xm)^(s))^t)*100}
suma <- function(s,t){(parametros$fx-fxcalc(s,t))^2}
func <- function(st){
s <- st[1]
t <- st[2]
sum(suma(s,t))
}
optimized_Minimum <- DEoptim(func, lower = c(-1,-1), upper = c(1,1),
control=list(storepopfrom=1, trace=FALSE))
summary(optimized_Minimum)
***** summary of DEoptim object *****
best member : 1 1
best value : 0
after : 200 generations
fn evaluated : 402 times
*************************************