Я хочу минимизировать функцию (log (37/1809) -log ((1 + a) / (1 + a exp (1) ^ (b (99-79))))) ^ 2 ( и найдите значения a и b, когда значение функции минимально ), но я не получил ответ, который, как я знаю, должен быть правильным.
Я пишу этот код в R:
fixed=c(FALSE,FALSE)
params<- fixed
funkcija_S1 <- function(p) {
params[!fixed] <- p
a <- params[1]
b <- params[2]
S1<-(log(37/1809)-log((1+a)/(1+a*exp(1)^(b*(99-79)))))^2
}
airb<-optim(c(a=0, b=1), funkcija_S1)
airb=airb[1]
airb<-as.numeric(unlist(airb))
a=airb[1]
b=airb[2]
Ответ, который я получаю, a = 0.82813 ..... и b = 0.23351 .... Ответ, который я ДОЛЖЕН получить, = 0,803228 и b = 0,234345. Значения a и b меняются в зависимости от того, что я записываю как первичные значения a и b в этой строке:
airb<-optim(c(a=0, b=1), funkcija_S1)
Можно ли не указывать первичные значения в этой строке? Или, может быть, есть другой способ минимизировать это уравнение?