Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
6 / 5 / 2
Регистрация: 05.10.2021
Сообщений: 380

Задать точность в алгоритме вычисления числа пи методом Монте-Карло

01.10.2024, 22:45. Показов 882. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Реализовать алгоритм с машинной точностью (вычислительная погрешность 0).
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#include <ctime>
#include <cmath>
#include <cstdlib>
#include <iomanip>
#include <iostream>
using namespace std;
 
bool IsPointInCircle(double R, double x, double y);
 
int main()
{
    int Npoints = (int)1E3;
    int Nincircle = 0;
    srand(time(0));
    for(int i = 0; i < Npoints; i++)
    {
        if
        (
            IsPointInCircle
            (
                1.0, 
                (rand()%(4*Npoints) - 2*Npoints)/(2.0*Npoints), 
                (rand()%(4*Npoints) - 2*Npoints)/(2.0*Npoints)
            )
        )
            Nincircle++;
    }
    cout<<"Calc  Value of PI : "<<setprecision(5)<<Nincircle*4.0/Npoints<<endl;
    cout<<"Check Value of PI : "<<setprecision(5)<<asin(1.0)*2.0<<endl;
    cin.get();
    return 0;
}
 
bool IsPointInCircle(double R, double x, double y)
{
    return ((x*x + y*y) < R*R);
}
В задании написано:
Получаемые значения числа PI –это случайная величина, распределение которой зависит от
количества итераций. При этом мат ожидание этой величины совпадает с истинным
значением PI, а дисперсия уменьшается с ростом числа итераций. Поэтому оценку точности
можно делать двумя способами: 1) если считать истинное значение числа PI заранее
известным (с заданной точностью), то оценка – это разность между истинным значением и
текущим средним (текущим мат. ожиданием) 2) если истинное значение не известно (что
более логично) то оценкой можно считать ст отклонение (или его квадрат – дисперсию).
Для рекуррентного расчета среднего и дисперсии на каждом шаге алгоритма лучше всего
использовать алгоритм Велфорда (из Кнут, том 2, п.4.2.2 – операции в кружках
соответствуют обычным +, -, *, /; Mk – это текущее среднее, Sk – дисперсия)

Оценку точности следует производить вторым способом. Т.е. я понимаю так, что нужно на каждом шаге считать мат ожидание и дисперсию? Дисперсия вроде как не должна быть равна 0 ни в каком случае. Как определить вычислительную погрешность 0?
Миниатюры
Задать точность в алгоритме вычисления числа пи методом Монте-Карло  
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
01.10.2024, 22:45
Ответы с готовыми решениями:

Найти объём сферы методом Монте-Карло и определить точность
Помогите решить 2 задачи в программе C 1) заданы координаты вершин треугольников. Определить, является ли этот треугольник...

Функции вычисления интеграла с заданной точностью методом трапеций и методом Монте-Карло
Разработать программу для вычисления интеграла с заданной точностью методом трапеций и методом Монте-Карло, оформив каждый способ в виде...

Программа для вычисления интеграла с заданной точностью методом Симпсона и методом Монте-Карло
Здравствуйте, подскажите как решить эту задачу, пожалуйста: Разработать программу для вычисления интеграла с заданной точностью методом...

4
6 / 5 / 2
Регистрация: 05.10.2021
Сообщений: 380
01.10.2024, 23:45  [ТС]
пожалуйста дайте хоть подсказку
0
 Аватар для MallSerg
91 / 58 / 14
Регистрация: 16.11.2018
Сообщений: 273
01.10.2024, 23:54
Цитата Сообщение от Unomuno Посмотреть сообщение
дайте хоть подсказку
Дисперсия суммы двух случайных величин
0
6 / 5 / 2
Регистрация: 05.10.2021
Сообщений: 380
02.10.2024, 00:16  [ТС]
Цитата Сообщение от MallSerg Посмотреть сообщение
Дисперсия суммы двух случайных величин
А можете привести формулу, что-то не очень понятно? Какой критерий достижения нужной точности?
0
Эксперт Python
 Аватар для Red white socks
4523 / 1899 / 336
Регистрация: 18.01.2021
Сообщений: 3,489
05.10.2024, 11:09
Цитата Сообщение от Unomuno Посмотреть сообщение
Как определить вычислительную погрешность 0?
Никак, вычислительная погрешность пренебрежимо мала по сравнению со стат.погрешностью (статистическим разбросом)

Добавлено через 1 минуту
Поэтому, чтобы не заморачиваться на нее, изначально обговаривают, что она равна нулю.

Добавлено через 2 минуты
Цитата Сообщение от Unomuno Посмотреть сообщение
А можете привести формулу, что-то не очень понятно? Какой критерий достижения нужной точности?
Зачатки статистики изучите. Выборка, оценка, уровень значимости, правило трех сигм.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
05.10.2024, 11:09
Помогаю со студенческими работами здесь

Составить программу вычисления методом Монте-Карло
надо сделать программу в excel

Процедура вычисления кратного интеграла методом Монте-Карло
Создать функцию для вычисления кратных интегралов методом Монте Карло. Помогите написать рабочий код. Укажите на ошибки. #include...

Алгоритм вычисления площади фигуры методом Монте-Карло
Помогите найти площадь фигуры с помощью метода Монте-Карло. Вариант 11

Написать программу для вычисления определенных интегралов методом Монте-Карло
Сделать блок-схему и написать программу для вычисления определенных интегралов методом Монте-Карло на Visual Basic

Написать программу для вычисления определенных интегралов методом Монте-Карло
Написать программу для вычисления определенных интегралов методом Монте-Карло на C++ Builder.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит: токи, напряжения и их 1 и 2 производные при t = 0;. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru