## Create discrete distribution with given probability density function
mvpdf <- function (x) { exp(-sum(x^2)) }
mvdist <- new("unuran.cmv", dim=2, pdf=mvpdf)
## Make generator (using method HITRO)
mvunr <- unuran.new(mvdist, "hitro")
## Draw sample of size 100
x <- unuran.sample(mvunr, 100)
## make scatter plot of random sample
plot(x)
## now we draw a sample from the same density but restricted to
## the rectangle [0,1]x[0,1]
mvdist <- new("unuran.cmv", dim=2, pdf=mvpdf, mode=c(0,0), ll=c(0,0), ur=c(1,1))
mvunr <- unuran.new(mvdist, "hitro")
x <- unuran.sample(mvunr, 100)
plot(x)
## draw a sample from the same density but restricted to
## the the first quadrant
mvdist <- new("unuran.cmv", dim=2, pdf=mvpdf, mode=c(0,0), ll=c(0,0), ur=c(Inf,Inf))
mvunr <- unuran.new(mvdist, "hitro")
x <- unuran.sample(mvunr, 100)
plot(x)
## draw a sample from the same density but restricted to
## the rectangle [1,2]x[1,2]
## (Don't forget to provide a starting point for the HITRO method by
## setting 'center'
mvdist <- new("unuran.cmv", dim=2, pdf=mvpdf, center=c(1.1,1.1), ll=c(1,1), ur=c(2,2))
mvunr <- unuran.new(mvdist, "hitro")
x <- unuran.sample(mvunr, 100)
plot(x)Run the code above in your browser using DataLab