have a piecewise function which takes a constant value for x greater than
some point. 
It looks like this: 
y<-function(x,a){ 
  if (x<a+3) 
   { 
    y=(x-a)^2 
   }else{ 
    y=9 
   } 
  return(y) 
} 

In practice, I do not know where this point, a, starts. 

I would like to find a minimum of this function. 

So my naive approach is: 

upper<-100 
op<-optimize(y,interval=c(0,upper), a=5) 
(delta.y<-op$minimum) 

y.value<-rep(NA,1000) 
y.domain<-seq(0,upper,length.out=1000) 
for ( i in 1 : length(y.value)) 
   { 
    y.value[i]<-y(y.domain[i],a=5) 
   } 
plot(y.domain,y.value,type="l") 
abline(v=delta.y,col=2) 

However, in this way, I fail to find a point that takes minimum when the
interval argument of the optimize function is large.

I have to make the interval as small as c(0,20) to find the correct point
that corresponds to the minimum of the function. 

Could you explain why this is the case?? 

Thanks 
  

--
View this message in context: 
http://r.789695.n4.nabble.com/Regarding-the-optimize-function-tp3861257p3861257.html
Sent from the R help mailing list archive at Nabble.com.

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to