Markov chain Monte Carlo, MCMC02

background image

MCMC Praca domowa 2

Justyna Benkowska

8 listopada 2006

1

Treść zadania

Niech będzie zadany zbiór R, który jest kulą w przestrzeni (P esel[5] + 10
P esel
[6]) wymiarowej o promieniu

1

P esel[10]+P esel[11]

. Obliczyć przybliżoną wartość

miary Lebesguea tego zbioru według algorytmu MC (Fishman str. 19). W
odpowiedzi należy podać

1. Pełny numer Pesel

2. Kod programu według algorytmu MC ze strony 19 Fishmana

3. Wektor dziesięciokrotnych obliczeń dla n = 10

7

każde. Wyniki podać

w postaci dziesiętnej z pięcioma cyframi znaczcymi.

2

Odpowiedz

Ad. 1). 84120301687
Zatem wymiar przestrzeni m = 30, promień r =

1

15

. Przyjełam, że kula ma

środek w punkcie a =



1
2

, . . . ,

1
2



.

1

background image

Ad. 2). Kod programu:

#include<stdio.h>
#include<stdlib.h>
#include<math.h>

float x[30];
int m=30;
int n=10000000;
float r=1/15;
float P[10];

float frand() { return (float) rand() / RAND_MAX;}

float suma(){

int j;
float b=0;

for(j=0;j<m;j++)

b=b+pow(x[j]-(1/2),2);

return b;

}

int main(){

int l;
for(l=0;l<10;l++){

int j=0;
int s=0;
int i=0;

while(j<n){

for(i=0;i<m;i++)

x[i]=frand();

if(sqrt(suma())<r)

s=s+1;

else s=s+0;

j++;
}

P[l]=(float)s/n;

printf("Przybliźone pole obszaru metoda MC w obliczeniu nr %d wynosi P%d= %.5f\n",l+1,l+1, P[l]);

}
return 0;

}

2

background image

Ad. 3).
P[1] = 0.00000
P[2] = 0.00000
P[3] = 0.00000
P[4] = 0.00000
P[5] = 0.00000
P[6] = 0.00000
P[7] = 0.00000
P[8] = 0.00000
P[9] = 0.00000
P[10] = 0.00000

3


Wyszukiwarka

Podobne podstrony:
Markov chain Monte Carlo MCMC02
Markov chain Monte Carlo Kolokwium1
Markov chain Monte Carlo, Kolokwium1
Markov Chain Monte Carlo Simul Methods in Econometrics [jnl article] S Chib (1995) WW
Metody Monte Carlo
Probabilistyczna ocena niezawodności konstrukcji metodami Monte Carlo z wykorzystaniem SSN
07 monte carlo
08 opis wynikow monte carlo
Wyklad 6 Monte Carlo
06 Metoda Monte Carlo 25 06 2007id 6332 ppt

więcej podobnych podstron