Реферат: Вычисление интегралов методом Монте-Карло

Вычисление определенного интеграла методом Монте-Карло

                                                 b

 Определенный интеграл I =ò f(x)dx пометоду “Монте-Карло”

                                     n          a

по формуле I= (1/n)* å (f(xi))/(g(xi)), где n – числоиспытаний ;g(x) – плотность

                                    i=1                                                                                                                b

распределения “вспомогательной” случайной величины X, причем ò g(x)dx = 1 ,

                                                                                                                   a

В программе g(x) = 1/(b-a) .

 Программа написана наязыке TURBO PASCAL 7.0

 

Program pmk;

Uses crt;

Var k,p,s,g,x,Integral: real;

       n,i,a,b:integer;

BEGIN

 randomize;

 writeln(‘Введите промежуток интегрирования (a;b):’);

 readln(a);

 readln(b);

 writeln(‘Введите количество случайных значений(числоиспытаний):’);

 readln(n);

 k:=b-a;{Переменной“k”присвоим значение длиныпромежутка интегрирования}

 writeln(‘k=’,k);

for i:= 1 to n dobegin {проведем n испытаний}

 g:=random; {g – переменная вещественного типа, случайная величина из

  промежутка[0;1]}

 x:= a + g*(b-a);{По этой формуле получается произвольная величина из [a;b] }

 s:=s + (1+x);{s:=s +(x*x)}{Вообще можно подставитьлюбую функцию }

 delay(10000); {задержка, чтобы произвольные значения не повторялись}

end;{конец испытаний}

 writeln(‘s=’,s);{Сумма функции для n произвольных значений}

 Integral:=(1/n)*k*s;

 writeln(‘Интеграл=’,Integral);

 readln;

END.

              Требуется ввести промежуток интегрирования иколичество испытаний, интегрируемая функция уже задана в программе(но ее можнопоменять).

 3                                   3

ò(x+1)dx =6  ;  ò (x*x)dx = 9; (По методу Ньютона-Лейбница).   

1

Функция k N= 10 N= 100 N= 500 N= 1000 f(x)=1 + x 2 5.737 5.9702 6.02 5.99 f(x)=x * x 3 9.6775 8.528 8.7463 8.937

 

еще рефераты
Еще работы по математике