Результат имеет сравнительно небольшую точность потому, что число точек
2.3 Пример 3
Рассмотрим пример: найдём приближенно объём, ограниченный поверхностями
Искомый объём численно равен величине интеграла
Так как в области V
где
т.е.
Берём теперь три равномерно распределенные на отрезке
Таблица 3.2
| | | | | | | | | | | |
1 | 0.577 | 0.116 | 0.077 | 0.384 | 0.147 | 1 | 0.667 | 1 | 1 | ||
2 | 0.716 | 0.930 | 0.216 | 0.430 | 0.232 | 0.993 | 0.193 | 0.231 | 0 | ||
3 | 0.737 | 0.930 | 0.237 | 0.430 | 0.241 | 1 | 0.242 | 1 | 1 | ||
4 | 0.701 | 0.428 | 0.201 | 0.072 | 0.045 | 0.940 | 0.140 | 0.122 | 1 | ||
5 | 0.170 | 0.529 | 0.330 | 0.029 | 0.110 | 1 | 0.610 | 1 | 1 | ||
6 | 0.533 | 0.095 | 0.033 | 0.405 | 0.165 | 1 | 0.131 | 1 | 1 | ||
7 | 0.432 | 0.996 | 0.068 | 0.496 | 0.251 | 0 | 0.352 | 1 | 0 | ||
8 | 0.263 | 0.699 | 0.237 | 0.199 | 0.096 | 1 | 0.645 | 1 | 1 | ||
9 | 0.059 | 0.313 | 0.441 | 0.187 | 0.229 | 1 | 0.646 | 1 | 1 | ||
10 | 0.663 | 0.270 | 0.163 | 0.230 | 0.080 | 1 | 0.680 | 1 | 1 | ||
11 | 0.355 | 0.653 | 0.145 | 0.153 | 0.046 | 1 | 0.577 | 1 | 1 | ||
12 | 0.094 | 0.934 | 0.406 | 0.434 | 0.353 | 0 | 0.716 | 1 | 0 | ||
13 | 0.303 | 0.058 | 0.197 | 0.442 | 0.234 | 1 | 0.737 | 1 | 1 | ||
14 | 0.552 | 0.003 | 0.052 | 0.497 | 0.250 | 1 | 0.701 | 1 | 1 | ||
15 | 0.640 | 0.882 | 0.140 | 0.382 | 0.165 | 1 | 0.169 | 1 | 1 | ||
16 | 0.205 | 0.986 | 0.295 | 0.486 | 0.323 | 0 | 0.533 | 1 | 0 | ||
17 | 0.002 | 0.521 | 0.498 | 0.021 | 0.248 | 1 | 0.432 | 1 | 1 | ||
18 | 0.557 | 0.918 | 0.057 | 0.418 | 0.178 | 1 | 0.263 | 1 | 1 | ||
19 | 0.870 | 0.071 | 0.370 | 0.429 | 0.318 | 0 | 0.059 | 1 | 0 | ||
20 | 0.313 | 0.139 | 0.187 | 0.361 | 0.185 | 1 | 0.663 | 1 | 1 | ||
|
Заполним табл. 3.2 по правилу:
1) выделяем точки, у которых
2) среди выделенных точек области
Для этих точек
3) вычисляем
4) среди точек, у которых
Для этих точек
В примере общее количество точек
Погрешность формулы (3.6) обратно пропорциональна корню из числа испытаний, т.е.
Это означает, что для обеспечения большой точности число точек
Заключение
Процесс выполнения данной работы представлял большой интерес и послужил хорошей возможностью для приобретения новых знаний и навыков, а также закрепления уже полученных.
Были рассмотрены основные свойства метода Монте-Карло и создана программа, показывающая возможности данного метода при использовании ЭВМ.
Было выяснено, что методом Монте-Карло можно решать разнообразные задачи, в том числе вычисление интегралов, не прибегая к сложным математическим вычислениям. Простота алгоритма метода Монте-Карло позволяет успешно реализовывать их на ЭВМ.
Список литературы
1. Бусленко Н.П. Метод статистического моделирования – М.: Статистика, 1970. – 112 с.
2. Демидович Б.П., Марон И.А. Основы вычислительной математики. - М.: Наука, 1966. – 664 с.
3. Епанешников А.М., Епанешников В.А. Программирование в среде TURBOPASCAL 7.0 – М.: Диалог-МИФИ, 1998. – 288 с.
4. Ермаков С.М. Метод Монте-Карло и смежные вопросы – М.: Наука, 1975–472 с.
5. Копченова Н.В., Марон И.А. Вычислительная математика в примерах и задачах. – М.: Наука, 1972. – 367 с.
6. Соболь И.М. Метод Монте-Карло – М.: Наука, 1985. – 80 c.
Приложения
1. Таблица 400 случайных цифр
86615 | 90795 | 66155 | 66434 | 56558 | 12332 | 94377 | 57802 |
69186 | 03393 | 42505 | 99224 | 88955 | 53758 | 91641 | 18867 |
41686 | 42163 | 85181 | 38967 | 33181 | 72664 | 53807 | 00607 |
86522 | 47171 | 88059 | 89342 | 67248 | 09082 | 12311 | 90316 |
72587 | 93000 | 89688 | 78416 | 27589 | 99528 | 14480 | 50961 |
52452 | 42499 | 33346 | 83935 | 79130 | 90410 | 45420 | 77757 |
76773 | 97526 | 27256 | 66447 | 25731 | 37525 | 16287 | 66181 |
04825 | 82134 | 80317 | 75120 | 45904 | 75601 | 70492 | 10274 |
87113 | 84778 | 45863 | 24520 | 19976 | 04925 | 07824 | 76044 |
84754 | 57616 | 38132 | 64294 | 15218 | 49286 | 89571 | 42903 |
2. Таблица 40 случайных чисел, равномерно распределенных на отрезке
0.57705 | 0.35483 | 0.11578 | 0.65339 |
0.71618 | 0.09393 | 0.93045 | 0.93382 |
0.73710 | 0.30304 | 0.93011 | 0.05758 |
0.70131 | 0.55186 | 0.42844 | 0.00336 |
0.16961 | 0.64003 | 0.52906 | 0.88222 |
0.53324 | 0.20514 | 0.09461 | 0.98585 |
0.43166 | 0.00188 | 0.99602 | 0.52103 |
0.26275 | 0.55709 | 0.69962 | 0.91827 |
0.05926 | 0.86977 | 0.31311 | 0.07069 |
0.66289 | 0.31303 | 0.27004 | 0.13928 |
3. Листинг программы
Вычисляются значения кратных интегралов из примера 2–3.
program pmk;
uses crt;
var
w, u, h, k, v, y, p, s, g, x, x2, y2, z2, niu, Integral, Integral2:real;
n, m, i, a, b, e1, e2, e, e3, e4, e5:integer;
begin
clrscr;
writeln ('vychisleniye dvoynogo integrala iz primera 1');
writeln ('vvedite kolichestvo sluchaynykh tochek:');
readln(n);
for i:=1 to n do
begin
g:=random;
p:=random;
x:=g;
y:=p;
if ((0.5<=x) and (x<=1)) then e1:=1
else e1:=0;
if ((0<=y) and (y<=2*x-1)) then e2:=1
else e2:=0;
e:=e1*e2;
if e=1 then s:=s+x*x+y*y;
if e=1 then a:=a+1;
v:=1/4;
delay(1000);
end;
Integral:=(v/a)*(s);
writeln ('summa=', s:5:5);
writeln ('dvoynoy integral iz 1 primera =', Integral:5:5);
writeln ('vychisleniye troynogo integrala iz primera 2');
writeln ('vvedite kolichestvo sluchaynykh tochek:');
readln(m);
for i:=1 to m do
begin
w:=random;
u:=random;
h:=random;
x2:=w;
y2:=u;
niu:=h;
if niu<=0.8 then e3:=1;
if (x2–0.5)*(x2–0.5)+(y2–0.5)*(y2–0.5)<=(0.5)*(0.5) then e4:=1
else e4:=0;
e5:=e3*e4;
if (((0.8<niu) and (niu<1)) and ((x2–0.5)*(x2–0.5)+(y2–0.5)*(y2–0.5)+6.25*(niu-0.8)*(niu-0.8)<=(0.5)*(0.5))) then e5:=1;
if e5=1 then b:=b+1;
delay(1000);
end;
Integral2:=2.5*(b/m);
writeln ('kvo pod t =', b:5);
writeln ('troynoy integral iz 2 primera =', Integral2:5:5);
readln;
end.
4. Пример работы программы при 10000 случайных точек