Hello,
The following code of mine is giving the error:
Error in integrate(fx[[2]], 0.056, 1) :
maximum number of subdivisions reached
Can anyone help?
Thanks and Regards.
Swagato
--------------------------
fv<-vector("list")
fx<-vector("list")
v<-0
c<-0
n<-0
NOV<-0
i<-0
while(n<200){
fv[[1]]<-function(x)1 #prior function
fx[[1]]<-function(x){
rho<-(0.2+6*x)/(.3+4*x)
i<-0
N<-0
for(i in 1:length(x)){
kopt<-function(K){(x[i]-0.05*(K-((1-rho[i]^K)/(1-rho[i])+(K*rho[i]^(K+1)-1))/(1-rho[i]^(K+1)))/(0.1+5*x[i]))^2}
L<-optim(c(0),kopt,method="BFGS")
N[i]<-round(L$par+1)}
return(N)
} # Calculate Kv+1
fx[[2]]<-function(x)((0.2+6*x)/(.3+4*x))^n*(1-(0.2+6*x)/(.3+4*x))/(1-(0.2+6*x)/(.3+4*x))^fx[[1]](x)*fv[[1]](x)
# numerator of f'
gx<-integrate(fx[[2]],0,0.045) #denomenator of f'
hx<-integrate(fx[[2]],0.056,1)
fv[[2]]<-function(x)x*fx[[2]](x)/(gx$value+hx$value) #v.f'
fx[[3]]<-function(x){
NV<-0;n0<-0;
rho<-(0.2+6*x)/(.3+4*x)
i<-0
N<-0
for(i in 1:length(x)){
kopt<-function(K){(x[i]-0.05*(K-((1-rho[i]^K)/(1-rho[i])+(K*rho[i]^(K+1)-1))/(1-rho[i]^(K+1)))/(0.1+5*x[i]))^2}
L<-optim(c(0),kopt,method="BFGS")
N[i]<-L$par+1
j<-0
for(j in 0:N[i]) NV[i]<- NV[i] +
j*(rho[i])^j*(1-rho[i])/(1-rho[i]^(N[i]+1))
n0[i]<-n}
return(0.05*(n0-NV)/(0.1+5*x))
}#cost function
fv[[3]]<-function(x)fx[[3]](x)*fx[[2]](x)/(gx$value+hx$value)
fv[[4]]<-function(x)(n-fx[[3]](x)*(0.1+5*x)/0.05)*fx[[2]](x)/(gx$value+hx$value)
a1<-integrate(fv[[2]],0,0.045)
a2<-integrate(fv[[2]],0.056,1)
v[n]<-a1$value+a2$value #expected value
b1<-integrate(fv[[3]],0,0.045)
b2<-integrate(fv[[3]],0.056,1)
c[n]<-b1$value+b2$value #expected cost
d1<-integrate(fv[[4]],0,0.045)
d2<-integrate(fv[[4]],0.056,1)
NOV[n]<-d1$value+d2$value #expected length
n<-n+1
}
plot(v)
plot(c)
plot(NOV)
l<-1/(1+exp(v-c))
plot(l)
[[alternative HTML version deleted]]