<div dir="ltr"><div class="gmail_default" style="font-family:trebuchet ms,sans-serif">Se eu fosse gerar da normal truncada, eu iria proceder usando o método da inversa da acumulada. Talvez seja mais rápido. O com while pode demorar demais se a taxa de rejeição for grande. Por exemplo, o tempo para gerar sem números entre 0 e 1 é maior do que para gerar entre -1 e 1 porque a taxa de rejeição no primeiro caso é maior.<br>
<br><span style="font-family:courier new,monospace">par(mfrow=c(1,2))<br>curve(dnorm(x, 0, 1), -3, 3)<br>abline(v=c(-0.5, 2), lty=2)<br>curve(pnorm(x, 0, 1), -3, 3)<br>abline(v=c(-0.5, 2), lty=2)<br>layout(1)<br><br>lim <- pnorm(c(-0.5, 2), 0, 1)<br>
u <- runif(100, lim[1], lim[2])<br>y <- qnorm(u, 0, 1)<br><br>par(mfrow=c(1,2))<br>curve(dnorm(x, 0, 1), -3, 3)<br>abline(v=c(-0.5, 2), lty=2)<br>rug(y)<br>curve(pnorm(x, 0, 1), -3, 3)<br>abline(v=c(-0.5, 2), lty=2)<br>
rug(u, side=2) <br>rug(y)<br>layout(1)<br></span><br>À disposição.<br>Walmes.<br><br></div></div>