dfsane(par, fn, method=2, control=list(), quiet=FALSE, alertConvergence=TRUE, ...)
library(BB)fun <- function(x) { f <- numeric(length(x)) f[1] <- x[1]/(1+exp(x[2]*0.215+x[3]))-134.03 f[2] <- x[1]/(1+exp(x[2]*5.06+x[3]))-80.2 f[3] <- x[1]/(1+exp(x[2]*9.85+x[3]))-13.4 f } startx <- c(132,0.5,0.5)result = dfsane(startx,fun,control=list(maxit=2500,trace = FALSE))theta = result$par
result = dfsane(startx,fun,control=list(maxit=2500,trace = FALSE))theta = result$par
#y ~ a +(b*exp(c*x^d))tempFunction1 <- function(modelParams){ F = numeric(length(modelParams)) F[1] = modelParams[1]+(modelParams[2]*exp(modelParams[3]*(exp(2.751514))^modelParams[4])) - 107.20561 F[2] = modelParams[1]+(modelParams[2]*exp(modelParams[3]*(exp(5.509109))^modelParams[4])) - 70.53738 F[3] = modelParams[1]+(modelParams[2]*exp(modelParams[3]*(exp(6.779219))^modelParams[4])) - 42.44393 F[4] = modelParams[1]+(modelParams[2]*exp(modelParams[3]*(exp(8.542089))^modelParams[4])) - 17.10280 F }theta = dfsane(par= c(100 + 50*runif(1),runif(1),-runif(1),runif(1)), fn=tempFunction1,control = list(maxit = 2500,trace = FALSE))theta$par#那么a = theta$par[1] b = theta$par[2] c = theta$par[3] d= theta$par[4]
联系客服