| Физико-математический форум https://physmathforum.forumenko.com/ |
|
| Число Пи подсчитанное методом Монте-Карло https://physmathforum.forumenko.com/topic110.html |
Страница 1 из 1 |
| Автор: | physmathforum [ 25-02, 14:58 ] |
| Заголовок сообщения: | Число Пи подсчитанное методом Монте-Карло |
Интересно, что метод Монте-Карло можно применять в самых разных приложениях физики, математики, информационных технологиях и других областях знаний. Одним из его существенных преимуществ является то, что при большом количестве статистических данных (или статистики) совпадение в вычисляемых значениях величин очень близко к их истинному значению. Вот к примеру высиление числа π методом Монте-Карло предстваленное на языке Фортран (Visual Fortran 5.0 и выше). Задача ставится формально так: Пусть имеется квадрат со стороной равной 1 и вписанный в него круг (диаметр круга равен 1). Случайным образом в квадрат вбрасывается несколько точек произвольным образом (по сути случайные точки в интервале [0;1] имеющие две координаты x и y например в декартовой системе координат). Требуется подсчитать число π для заданной статистики. Ограничимося к примеру статистикой N=10000000. Решение задачи в приложенном аттаче (код программы на языке Фортран приводится ниже). Вот какое значение числа π дает программа для данной статистики (данные образуются в файле pi.txt) 3.14078040000000 Неплохой результат, если учесть, что число π=3,14159265358979... - совпадение до 2-го знака включительно. Можете попробывать увеличить (или наоборот уменьшить) статистику (число N) чтобы увидеть меру сходимоcти (или расходимости) метода Монте-Карло для подсчета числа π. Код: PROGRAM Pi
real*8 P,x,y,N_in,N_out integer*4 i,d,N print*, 'Plesae wait ...' open(10,file='pi.txt') write(10,1) write(10,2) !=============== Constants ===============! N=10000000 ! The number of points !=========== The main programm ===========! do i=1,N call random_number (x) call random_number (y) if (((x-0.5)**2+(y-0.5)**2).le.0.25) then N_in=N_in+1 else N_out=N_out+1 end if end do P=(4*N_in)/N write(10,*) N, P print*, 'Pi=', P !================ The end ================! 1 format(3x, 'The resulting of calculation the number Pi:') 2 format(9x, 'N', 5x, 'Number Pi') close(10) END PROGRAM Pi (возможность прикреплять файлы отсутсвует у данной версии движка php) |
|
| Автор: | physmathforum [ 25-02, 15:00 ] |
| Заголовок сообщения: | copyposting from physmathforum.ru |
Мне кажется число Pi не возможно верно найти искусственным путём. Хотя я в этом и не шарю особо copyright from SilverUser http://www.physmathforum.ru/viewtopic.php?f=11&t=10 |
|
| Автор: | physmathforum [ 25-02, 15:01 ] |
| Заголовок сообщения: | Re: copyposting from physmathforum.ru |
physmathforum писал(а): Мне кажется число Pi не возможно верно найти искусственным путём. Хотя я в этом и не шарю особо
Что значит не возможно верно найти искусственным путём? Поиск числа Пи в данном случае методом Монте-Карло вполне законен. А вы попробуйте таким путем - возьмите баночки разного диаметра и ниточку (или веревочку) и объмерьте длину окружности каждой баночки этой ниткой (объвязав каждую баночку вокруг) и измерь на линейке сколько ее длина (для каждой из баночек)- выпишите на листочек, потом измерьте диаметр каждой баночки и ... поделите длину окружности на диаметр для каждой данной баночки. Как думаете что получиться? А такой путь по вашему является искусственным? |
|
| Автор: | physmathforum [ 25-02, 15:02 ] |
| Заголовок сообщения: | copyposting from physmathforum.ru |
3.14078040000000 3,14159265358979 Мне вот эти цифры не понравились... (про баночки) хм и правда, я раньше считал Pi=const copyright from SilverUser http://www.physmathforum.ru/viewtopic.php?f=11&t=10 |
|
| Автор: | physmathforum [ 25-02, 15:03 ] |
| Заголовок сообщения: | copyposting from physmathforum.ru |
точнее числа... цифры эт от 0 до 9 copyright from SilverUser http://www.physmathforum.ru/viewtopic.php?f=11&t=10 |
|
| Автор: | physmathforum [ 25-02, 15:04 ] |
| Заголовок сообщения: | Re: Число π подсчитанное методом Монте-Карло |
physmathforum писал(а): 3.14078040000000
3,14159265358979 Мне вот эти цифры не понравились... (про баночки) хм и правда, я раньше считал Pi=const Как это не понравились? Это же приближение к числу Пи. Естественно, что число Пи это константа. Кстати про баночки разных диаметров я рассказал вам не просто так - дело все в том, что именно таким способом и подсчитывали данное число. Оказалось, что для всех окружностей разного диаметра (некий математик, увы не помню его имени) вывел закономерность, что отношение длины окружности к его диаметру - есть число постоянное и равное числу 3,14159265358979 Другими словами, если Li - длины окружностей, а Di - диаметры окружностей, i=1,2,3,...n то (L1/D1)=(L2/D2)=(L3/D3)=...=(Ln/Dn)=3,14159265358979 А число это назвали числом Пи. Кстати вот непомню - Пи возможно и было фамилия этого уважаемого математика - честно говоря незнаю точно. |
|
| Автор: | physmathforum [ 25-02, 15:06 ] |
| Заголовок сообщения: | copyposting from physmathforum.ru |
Получается, что метод Монте-Карло не точный? copyright from SilverUser http://www.physmathforum.ru/viewtopic.php?f=11&t=10 |
|
| Автор: | physmathforum [ 25-02, 15:06 ] |
| Заголовок сообщения: | Re: copyposting from physmathforum.ru |
physmathforum писал(а): Получается, что метод Монте-Карло не точный?
Ну как бы вам сказать - для достаточно большой статистики - его точность определяется 3-м, 4-м порядком малости... Но вообще говоря - приближенный или неточный. Так и это - "естественный" путь опеределения тоже неточен - на величину погрешности линейки и прибора измерения (ниточки той же самой). Во всех методах есть погрешность как абсолютная так и относительная (измеряющего и прибора). |
|
| Автор: | physmathforum [ 25-02, 15:07 ] |
| Заголовок сообщения: | Re: copyposting from physmathforum.ru |
physmathforum писал(а): Ну как бы вам сказать - для достаточно большой статистики - его точность определяется 3-м, 4-м порядком малости... Но вообще говоря - приближенный или неточный. Так и это - "естественный" путь опеределения тоже неточен - на величину погрешности линейки и прибора измерения (ниточки той же самой). Во всех методах есть погрешность как абсолютная так и относительная (измеряющего и прибора).
Пи - от греческого περιφέρεια — окружность. Впервые обозначением этого числа греческой буквой π воспользовался британский математик Джонс (1706), а общепринятым оно стало после работ Эйлера (http://ru.wikipedia.org/wiki/%D0%A7%D0%B8%D1%81%D0%BB%D0%BE_%D0%9F%D0%B8). Кстати по той же ссылке можно найти много интересных способов вычисления числа Пи, в том числе и методом Монте-Карло (Метод иглы Бюффона) copyright from sfes http://www.physmathforum.ru/viewtopic.php?f=11&t=10 |
|
| Автор: | physmathforum [ 25-02, 15:10 ] |
| Заголовок сообщения: | Re: copyposting from physmathforum.ru |
physmathforum писал(а): Пи - от греческого περιφέρεια — окружность.
Впервые обозначением этого числа греческой буквой π воспользовался британский математик Джонс (1706), а общепринятым оно стало после работ Эйлера (http://ru.wikipedia.org/wiki/%D0%A7%D0% ... 0%9F%D0%B8). Кстати по той же ссылке можно найти много интересных способов вычисления числа Пи, в том числе и методом Монте-Карло (Метод иглы Бюффона) За ссылку спасибо кстати. Мне |
|
| Страница 1 из 1 | Часовой пояс: UTC + 2 часа |
| Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |
|