Reciban un cordial saludo. De manera muy comedida les pido ayuda con la función indicada abajo. La usan en un artículo de inventarios. No veo dónde estoy errado. Gracias de antemano. César Escalante C.> lamb<-50 > L<-1 > h.<-10 > p<-25 > K<-5 > integ<-function(y){integrate(function(x)ppois(x,lamb*L),0,y)$value} > G<-function(y){(h.+p)*integ(y) + p*(lamb*L-y)} > G(0:43)[1] 1250 1225 1200 1175 1150 1125 1100 1075 1050 1025 1000 975 950 925 900 875 850 825 800 775 750 725 700 675 650 625 600 575 550 525 [31] 500 475 450 425 400 375 350 325 300 275 250 225 200 175> G(44)Error en integrate(function(x) ppois(x, lamb * L), 0, y) : maximum number of subdivisions reached> G(500)[1] 4499.785 [[alternative HTML version deleted]]
Hola, ¿qué tal? Utiliza un valor mayor (¿1000?) para el parámetro "subdivisions" de "integrate". Alternativamente, no uses integración numérica. Puedes reescribir tu integral como una suma de unos cuantos términos (parte entera de y más uno) habida cuenta de que ppois es una función de escalonada (con escalones en los naturales). Un saludo, Carlos J. Gil Bellosta http://www.datanalytics.com El día 25 de octubre de 2010 17:32, Cesar Escalante <c.escalante.c en gmail.com> escribió:> Reciban un cordial saludo. > > De manera muy comedida les pido ayuda con la función indicada abajo. La usan > en un artículo de inventarios. No veo dónde estoy errado. > > Gracias de antemano. > > César Escalante C. > >> lamb<-50 >> L<-1 >> h.<-10 >> p<-25 >> K<-5 >> integ<-function(y){integrate(function(x)ppois(x,lamb*L),0,y)$value} >> G<-function(y){(h.+p)*integ(y) + p*(lamb*L-y)} >> G(0:43) > [1] 1250 1225 1200 1175 1150 1125 1100 1075 1050 1025 1000 975 950 925 > 900 875 850 825 800 775 750 725 700 675 650 625 600 575 550 > 525 > [31] 500 475 450 425 400 375 350 325 300 275 250 225 200 175 >> G(44) > Error en integrate(function(x) ppois(x, lamb * L), 0, y) : > maximum number of subdivisions reached >> G(500) > [1] 4499.785 > > [[alternative HTML version deleted]] > > > _______________________________________________ > R-help-es mailing list > R-help-es en r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es > >
Hola César, Recuerda también que tienes una librería específica en R para la integración numérica: http://cran.at.r-project.org/web/packages/R2Cuba/index.html Saludos, Carlos Ortega www.qualityexcellence.es 2010/10/25 Cesar Escalante <c.escalante.c@gmail.com>> Reciban un cordial saludo. > > De manera muy comedida les pido ayuda con la función indicada abajo. La > usan > en un artículo de inventarios. No veo dónde estoy errado. > > Gracias de antemano. > > César Escalante C. > > > lamb<-50 > > L<-1 > > h.<-10 > > p<-25 > > K<-5 > > integ<-function(y){integrate(function(x)ppois(x,lamb*L),0,y)$value} > > G<-function(y){(h.+p)*integ(y) + p*(lamb*L-y)} > > G(0:43) > [1] 1250 1225 1200 1175 1150 1125 1100 1075 1050 1025 1000 975 950 925 > 900 875 850 825 800 775 750 725 700 675 650 625 600 575 550 > 525 > [31] 500 475 450 425 400 375 350 325 300 275 250 225 200 175 > > G(44) > Error en integrate(function(x) ppois(x, lamb * L), 0, y) : > maximum number of subdivisions reached > > G(500) > [1] 4499.785 > > [[alternative HTML version deleted]] > > > _______________________________________________ > R-help-es mailing list > R-help-es@r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es > >[[alternative HTML version deleted]]