Контрольная работа: Застосування методу Монте-Карло для кратних інтегралів
Узявши досить
велике число n точок , приблизно можна покласти: ; звідси
шуканий інтеграл виражається формулою

де під σ
розуміється m-мірний об’єм області інтегрування σ. Якщо обчислити σ
важко, то можна прийняти: , звідси . В окремому випадку, коли σ
є одиничний куб, перевірка стає зайвою, тобто n=N і ми маємо просто
.
2.1 Принцип
роботи методу Монте–Карло
Датою народження
методу Монте-Карло визнано вважати 1949 рік, коли американські учені Н.
Метрополіс і С. Услам опублікували статтю під назвою «Метод Монте-Карло», в
якій були викладені принципи цього методу. Назва методу походить від назви
міста Монте–Карло, що славився своїми гральними закладами, неодмінним атрибутом
яких була рулетка – один з простих засобів здобуття випадкових чисел з хорошим
рівномірним розподілом, на використанні яких заснований цей метод. Метод
Монте–Карло - це статистичний метод. Його використовують при обчисленні
складних інтегралів, вирішенні систем рівнянь алгебри високого порядку,
моделюванні поведінки елементарних часток, в теоріях передачі інформації, при
дослідженні складних економічних систем. Суть методу полягає в тому, що в
завдання вводять випадкову величину , що змінюється по якому те
правилу . Випадкову
величину вибирають так, щоб шукана в завданні величина стала математичною
чекання від ,
тобто .
Таким чином,
шукана величина визначається лише теоретично. Щоб знайти її чисельно необхідно
скористатися статистичними методами. Тобто необхідно узяти вибірку випадкових
чисел об'ємом
. Потім необхідно обчислити вибіркове середнє варіанту випадкової величини по формулі:
. (1)
Обчислене
вибіркове середнє приймають за наближене значення
.
Для здобуття
результату прийнятної точності необхідна велика кількість статистичних
випробувань. Теорія методу Монте-Карло вивчає способи вибору випадкових величин
для
вирішення різних завдань, а також способи зменшення дисперсії випадкових
величин.
3. Програма
обчислення кратного інтеграла методом Монте-Карло
Обчислити певний
інтеграл .
за методом “Монте-Карло” по формулі
,
де n – число
випробувань ;g(x) – щільність розподілу.
3.1 Програма
складена на мові програмування TURBO PASCAL 7.0
program
MonteCarlo;
uses
crt;
const k=100;
Var
a,b,c,d,ng,vg,x,y,s,integral : real;
n,i,j : integer;
integr:array[1..k]of
real;
Function
f(x,y:real):real;
Begin
f:=Sqrt(x+y);
end;
Function
nm(x:real):real;
Begin
nm:=3*x;
end;
Function
vm(x:real):real;
Begin
vm:=8*x;
end;
BEGIN
clrscr;
writeln('Vvedit
znachennya granyts integruvannya ');
write('a=');
readln(a);
write('b=');
readln(b);
writeln('Vvedit
chyslo vyprobuvan:');
readln(n);
c:=nm(a);
d:=vm(b);
randomize;
for j:=1 to k do
begin
s:=0; integral:=0;
For i:=1 to n do
begin
x:=a+(b-a)*random;
y:=c+(d-c)*random;
ng:=nm(x);
vg:=vm(x);
If (y <= vg)
and(y >= ng) then s:=s + f(x, y);
end;
integr[j]:=(b-a)*(d-c)*s/n;
writeln(integr[j]:10:4);
end;
for j:=1 to k do
Integral:=integral+
integr[j];
writeln('Userednenyy
integral=',(integral/k):10:4);
readln;
END.
3.2Програма
складена в Matematica program MonteCarlo;
{$APPTYPE
CONSOLE}
uses
SysUtils;
const k=100;
Var
a,b,c,d,ng,vg,x,y,s,integral : real;
n,i,j : integer;
integr:array[1..k]of
real;
Function
f(x,y:real):real;
Begin
f:=Sqrt(x+y);
end;
Function
nm(x:real):real;
Begin
nm:=3*x;
end;
Function
vm(x:real):real;
Begin
vm:=8*x;
end;
BEGIN
writeln('Vvedit
znachennya granyts integruvannya ');
write('a=');
readln(a);
write('b=');
readln(b);
writeln('Vvedit
chyslo vyprobuvan:');
readln(n);
c:=nm(a);
d:=vm(b);
for j:=1 to k do
begin
s:=0; integral:=0;
randomize;
For i:=1 to n do
begin
x:=a+(b-a)*random;
y:=c+(d-c)*random;
ng:=nm(x);
vg:=vm(x);
If (y <= vg)
and(y >= ng) then s:=s + f(x, y);
end;
integr[j]:=(b-a)*(d-c)*s/n;
writeln(integr[j]:10:4);
end;
for j:=1 to k do
Integral:=integral+
integr[j];
writeln('Userednenyy
integral=',(integral/k):10:4);
readln;
readln;
END.
3.1Результат програми

Функція |
k |
N=100 |
N=500 |
N=1000 |
N=10000 |
Pascal |
a=0
b=4
|
165.1777 |
162.6751 |
162.1815 |
162.1507 |
mathematica |
a=0
b=4
|
|
|
|
|
Висновок
Метод Монте-Карло
використовується дуже часто, часом неефективним чином. Він має деякі очевидні
переваги:
а) Він не
потребує ніяких свідчень про регулярність. Це може бути корисним, тому що часто
дуже складна функція, властивості регулярності якої важко установити.
б) Він приводить
до здійснення процедури навіть у багатомірному випадку, коли чисельне
інтегрування застосувати неможливо наприклад, при числі вимірів, більшим за 10.
Страницы: 1, 2, 3 |