Центральная Предельная Теорема и её приложения. Решение Определенного интеграла методом Монте-Карло — страница 8
[0,1]. Имея случайное вещественное число из интервала [0,1] легко получить случайное число из любого интервала. Например, если z - случайное число из интервала [0,1] , тогда x=a+(b-a)*z - случайное число из интервала [a,b]. Как видно из приведенных выше оценок погрешности формулы (а) точность вычисления интеграла и в методе Монте-Карло определяется числом слагаемых N в интегральной сумме - чем больше слагаемых, тем точнее результат. Ниже приведен пример и программа, вычисляющая определенный интеграл методом Монте-Карло. Метод Монте-Карло легко обобщается на интегралы произвольной кратности. Например, двукратный интеграл может быть вычислен по формуле где xi, yi - случайные числа, равномерно распределенные на интервалах [a,b] и [c,d] соответственно. Оценка точности вычисления интеграла по формуле (b) совершенно аналогично приведенной выше для случая однократного интеграла и поэтому здесь не приводится. Пример №1: Вычислить определенный интеграл I = Решение. = . Точное значение интеграла I=, ниже приведены результаты программы. Листинг программы приведен в приложении №1. Программа называется MonteKarlo. Пример №2: Вычислить определенный интеграл I = Решение. Точное значение интеграла I=, ниже приведены результаты программы. Листинг программы приведен в приложении №2. Программа называется MonteKarlo1. Приложение №1. Программа вычисления одномерного определенного интеграла методом Монте-Карло. program MonteKarlo; uses crt; Label l1,l2; var j1,j,a,b,c,n1,k,n:integer; I,Y,x:real; Begin randomize; clrscr; writeln('Vvod znachenii'); write('a = '); Read(a); write('b = '); Read(b); write('n = '); Read(n); writeln('--------------------------------'); writeln('| k | integral | vsego ispitani|'); for j:=1 to 9 do begin I:=0; for j1:=1 to n do begin x:=a+(b-a)*random; I:=I+x*x+5*x; end; I:=I*(b-a)/n; writeln('--------------------------------'); writeln('| ',j,' | ',i:2:6,' | ',n,' |'); {writeln(' Integral = ',i:6:7,' vsego ispitani = ',n,' popalo pod function = ',n1);} end; writeln('--------------------------------'); readkey; end. Приложение №2. Программа вычисления многомерного определенного интеграла методом Монте-Карло. program MonteKarlo2; uses crt; Label l1,l2; var j1,j,d,a,b,c,n1,k,n:integer; I,Y,x:real; Begin randomize; clrscr; writeln('Vvod znachenii'); write('a = ');Read(a); write('b = ');Read(b); write('c = ');Read(c); write('d = ');Read(d); write('n = ');Read(n); writeln('--------------------------------'); writeln('| k | integral | vsego ispitani|'); for j:=1 to 9 do
Похожие работы
- Доклады
- Рефераты
- Рефераты
- Рефераты
- Контрольные