Advertisement
Guest User

Untitled

a guest
Mar 27th, 2017
40
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.57 KB | None | 0 0
  1. model <- function(par, x){
  2. n <- length(x)
  3. res <- rep(0,n)
  4. for(i in 1:n){
  5. A0 <- par[3] + (par[4]-par[1])*par[6] + (par[5]-par[2])*par[6]^2
  6. if(x[i] <= par[6]){
  7. res[i] <- A0 + par[1]*x[i] + par[2]*x[i]^2
  8. }else{
  9. res[i] <- par[3] + par[4]*x[i] +par[5]*x[i]^2
  10. }
  11. }
  12. return(res)
  13. }
  14.  
  15. sum_squares <- function(par, x, y){
  16. ss <- sum((y-model(par,x))^2)
  17. return(ss)
  18. }
  19.  
  20. #I found these initial values with a few minutes of guess and check.
  21. par0 <- c(7,-1,-395,70,-2.3,10)
  22. sol <- optim(par= par0, fn=sqerror, x=x, y=y)$par
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement