Центральная Научная Библиотека  
Главная
 
Новости
 
Разделы
 
Работы
 
Контакты
 
E-mail
 
  Главная    

 

  Поиск:  

Меню 

· Главная
· Биология
· Геология
· Зоология
· Коммуникации и связь
· Бухучет управленчучет
· Водоснабжение   водоотведение
· Детали машин
· Инновационный   менеджмент
· Качество упр-е   качеством
· Маркетинг
· Математика
· Мировая экономика МЭО
· Политология
· Реклама и PR
· САПР
· Биология и химия
· Животные
· Литература   языковедение
· Менеджмент
· Не Российское   законодательство
· Нотариат
· Информатика
· Исторические личности
· Кибернетика
· Коммуникация и связь
· Косметология
· Криминалистика
· Криминология
· Наука и техника
· Кулинария
· Культурология
· Логика
· Логистика
· Международное   публичное право
· Международное частное   право
· Международные   отношения
· Культура и искусства
· Металлургия
· Муниципальноое право
· Налогообложение
· Оккультизм и уфология
· Педагогика


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

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

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

                                                  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 do begin {проведем 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


 








Информация 






© Центральная Научная Библиотека