Anda di halaman 1dari 4

Bab II

1. membangkitkan bilangan acak


Program 2.1.
# Program Membangkitkan bilangan acak bulat antara (0,m)
m<-
x0<-
a<-
c<-
n<-
for(i in 1:n){
y<-a*x0+c
y1<-(y/m)-floor(y/m)
x<-y1*m
x0<-x
print(x)
}
3. pemeriksaan secara empirik -> yakinkan penuhi sifat yang diharapkan
1. Menghitung rataan dan ragam data dan dibandingkan dengan rataan dan
ragam teoritiknya. Pemeriksaan ini dapat dilakukan untuk berbagai ukuran
data.
2. Menggambar sebaran (densitas) emperiknya dengan menggunakan
plot(density(x)) yang selanjutnya dibandingkan dengan f(x) untuk berbagai
ukuran sampel.
Program 2.2. #hasilkan grafik rataan dan ragam
m<-6
ydat<-matrix(0,m,5)
ydat[,2]<-10
ydat[,3]<-5
for(i in 1:m){
n<-10*(i+4)
ydat[i,1]<-n
y<-rnorm(n,10,sqrt(5))
ydat[i,4]<-mean(y)
ydat[i,5]<-var(y)
}
plot(ydat[,1],ydat[,4],type= b ,xlab= n ,ylab= ragam dan
mean ,ylim=c(3,12))
lines(ydat[,1],ydat[,2])
points(ydat[,1],ydat[,5])
lines(ydat[,1],ydat[,5])
lines(ydat[,1],ydat[,3])
Program 2.3. #hasilkan grafik densitas
m<-6
par(mfrow=c(2,3),mar=rep(3,4))
ydat<-matrix(0,m,5)
for(i in 1:m){
n<-10*(i+4)
ydat[i,1]<-n
y<-rnorm(n,10,sqrt(5))
ydat[i,4]<-mean(y)
ydat[i,5]<-var(y)
xd<-seq(min(y),max(y),0.1)
yd<-dnorm(xd,10,sqrt(5))
plot(density(y))
lines(xd,yd) }
bab III
2. Bangkitkan data dari N(0,1) dengan tranformasi box muller
Program 3.1. # grafik densitas dan rataan data
#Program inti untuk membangkitkan 2*n data normal standar
u1<-runif(n,0,1)
u2<-runif(n,0,1)
z1<-sqrt(-2*log(u1))*cos(2*pi*u2)
z2<-sqrt(-2*log(u1))*sin(2*pi*u2)
z<-c(z1,z2)
plot(density(z),xlab= x ,ylab= p )
x<-seq(min(z),max(z),0.1)
y<-dnorm(x,0,1)
lines(x,y)
3. membangkitkan data N(miu,sigma2)
Program 3.2.
#Program inti membangkitkan 2*n data normal
u1<-runif(n,0,1)
u2<-runif(n,0,1)
z1<-sqrt(-2*log(u1))*cos(2*pi*u2)
z2<-sqrt(-2*log(u1))*sin(2*pi*u2)
z<-c(z1,z2)
x<-sgm*z+mu
4. membangkitkan data keluarga gamma G(alpha,beta)
Program 3.3.
#Program inti membangkitkan n data chi-kuadrat (1)
u1<-runif(n,0,1)
u2<-runif(n,0,1)
z1<-sqrt(-2*log(u1))*cos(2*pi*u2)
z2<-sqrt(-2*log(u1))*sin(2*pi*u2)
z<-c(z1,z2)
y<-z^2

Program 3.4.
#Program inti membangkitkan m data chi-kuadrat (r=2n)
for(i in 1:m){
u1<-runif(n,0,1)
u2<-runif(n,0,1)
z1<-sqrt(-2*log(u1))*cos(2*pi*u2)
z2<-sqrt(-2*log(u1))*sin(2*pi*u2)
z<-c(z1,z2)
x<-z^2
y<-sum(x)
}
Program 3.5.
#Program inti membangkitkan n data eksponensial
x<-runif(n,0,1)
y<-1/lbd*log(x)

6. bangkitkan data distribusi normal bivariat dan multivariat


Program 3.6. #membangkitkan data dari BVN
n<-100
mux<-30
muy<-40
sdx<-4
sdy<-5
r<-0.5
dmat<-matrix(0,n,2)
for(i in 1:n){
u1<-runif(1,0,1)
u2<-runif(1,0,1)
dmat[i,1]<-mux+sdx*u1
dmat[i,2]<-muy+r*sdy*u1+sdy*sqrt(1-r^2)*u2
}
x<-dmat[,1]
y<-dmat[,2]
plot(x,y,type= p )
Bab iv
1. metode tranformasi invers
#bangkitkan data dari distribusi eksponensial dengan metode invers transform
n<-1000
bet<-5
x<-runif(n,0,1)
y<--bet*log(1-x)
Program 4.1.
n<-1000
bet<-5
x<-runif(n,0,1)
y<--bet*log(1-u)
teta<-1/bet
y1<-rexp(n,teta)
mean(y)
mean(y1)
var(y)
var(y1)
2. metode monte carlo
Program 4.2. #menghitung integral I
n<-500000
a<-0
b<-2
fs<-function(x){
x^2
}
x<-runif(n,a,b)
y<-mean(fs(x))
int<-(b-a)*y
print(int)

Program 4.3.
#Program contoh menghitung integral lipat tiga
a1<-0
b1<-pi
a2<-0
b2<-2*pi
a3<-10
b3<-11
n<-1000000
x<-runif(n,a1,b1)
y<-runif(n,a2,b2)
z<-runif(n,a3,b3)
fs.int<-function(x,y,z){
k<-9/(2*pi)
(sin(x))^3*k*z^2
}
fs<-fs.int(x,y,z)
int<-(b3-a3)*(b2-a2)*(b1-a1)*mean(fs)
3. menghitung pendekatan pi
Program 4.4.
#Program inti menghitung pendekatan pi dengan cara hit-miss Monte
#Carlo
x<-runif(n,0,1)
y<-runif(n,0,1)
z<-x^2+y^2
k<-floor(z)
c<-n-sum(k)
pi<-4*c/n

Anda mungkin juga menyukai