根据R中的两个标准优化函数

根据R中的两个标准优化函数,r,optimization,R,Optimization,我试图通过最小化平方和来优化指数模型,但是我无法解决如何使用两个单独的标准进行优化 我需要找到使函数输出最小化的“a”和“b”的值。我已经在下面的代码中输入了估算值,但需要此代码的输出来告诉我平方和(已打印),以及正确优化模型时“a”和“b”的值 c <- c(0.08, 0.17, 0.25, 0.33, 0.41, 0.49, 0.57, 0.65, 0.73, 0.81, 0.88, 0.96, 1.04, 1.11, 1.19, 1.26) my_fun <- fun

我试图通过最小化平方和来优化指数模型,但是我无法解决如何使用两个单独的标准进行优化

我需要找到使函数输出最小化的“a”和“b”的值。我已经在下面的代码中输入了估算值,但需要此代码的输出来告诉我平方和(已打印),以及正确优化模型时“a”和“b”的值

 c <- c(0.08, 0.17, 0.25, 0.33, 0.41, 0.49, 0.57, 0.65, 0.73, 0.81, 0.88, 0.96, 1.04, 1.11, 1.19, 1.26)

  my_fun <- function(a, b, c){
    predVar1 <- a * (1-exp(-c/b))
    sum((predVar1 - c)^2)
  }

  a <- 9
  b <- 1.4

  my_fun(a, b, c)

c根据我对使用optim的熟悉程度进行了一些重新安排。另外,我将
c
更改为
d
,因为我不喜欢无意中覆盖
c()
函数

d <- c(0.08, 0.17, 0.25, 0.33, 0.41, 0.49, 0.57, 0.65, 0.73, 0.81, 0.88, 0.96, 1.04, 1.11, 1.19, 1.26)

my_fun <- function(parameters, d){
  a <- parameters[1]
  b <- parameters[2]
  predVar1 <- a * (1-exp(-d/b))
  return(sum((predVar1 - d)^2))
}

a <- 9
b <- 1.4

results <- optim(c(a, b), my_fun, d = d)
results$par
#[1] 700.8850 700.4793
results$value
#[1] 4.37461e-07
d