# NOT RUN {
x <- 1:10 # generate power function data from c(2,2) + random
y <- c(2.07,8.2,19.28,40.4,37.8,64.68,100.2,129.11,151.77,218.94)
alldat <- cbind(x=x,y=y)
pow <- function(pars,x) return(pars[1] * x ^ pars[2])
ssq <- function(pars,indat) {
return(sum((indat[,"y"] - pow(pars,indat[,"x"]))^2))
} # fit a power curve using normal random errors
pars <- c(2,2)
best <- nlm(f=ssq,p=pars,typsize=magnitude(pars),indat=alldat)
outfit(best,backtran=FALSE) #a=1.3134, b=2.2029 ssq=571.5804
# }
Run the code above in your browser using DataLab