Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- model <- function(par, x){
- n <- length(x)
- res <- rep(0,n)
- for(i in 1:n){
- A0 <- par[3] + (par[4]-par[1])*par[6] + (par[5]-par[2])*par[6]^2
- if(x[i] <= par[6]){
- res[i] <- A0 + par[1]*x[i] + par[2]*x[i]^2
- }else{
- res[i] <- par[3] + par[4]*x[i] +par[5]*x[i]^2
- }
- }
- return(res)
- }
- sum_squares <- function(par, x, y){
- ss <- sum((y-model(par,x))^2)
- return(ss)
- }
- #I found these initial values with a few minutes of guess and check.
- par0 <- c(7,-1,-395,70,-2.3,10)
- sol <- optim(par= par0, fn=sqerror, x=x, y=y)$par
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement