|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
13.01.2009, 02:15 | #1 |
Регистрация: 13.01.2009
Сообщений: 3
|
Поиск площади фигуры методом Монте - Карло
Помогите пожалуйста!!! очень срочно нужно!!!
Заданы две прямые вида y=± d/2 и окружность радиусом R>d и с центром в точке с началом координат. Найти площадь фигуры, ограниченной этими прямыми и окружностью. Сделать методом Монте – Карло Всех заранее благодарю!!!! |
13.01.2009, 15:33 | #2 |
Участник клуба
Регистрация: 02.09.2007
Сообщений: 1,193
|
Представь, что круг - это мишень. Берёшь пулемёт (генератор случайных чисел) и стреляешь по этой мишени. Далее считаешь попадания: пусть n - общее количество попаданий в круг (в мишень), из них m - количество попаданий в твою фигуру ограниченную линиями и окружностью. Тогда полщадь этой фигуры = (площадь круга)*m/n. Естественно, чем больше выстрелов, тем точнее результат. В силу симметрии, можно стрелять по четверти мишени.
|
13.01.2009, 17:12 | #3 |
В тени
Старожил
Регистрация: 19.12.2008
Сообщений: 5,788
|
Привожу два листинга. Первый - для окружности и двух прямых (ваш случай). Но он не до конца рабочий. А именно, он всегда выдает площадь прямоугольника, которым мы ограничиваем функцию (надеюсь, вы уже ознакомились с самим методом Монте-Карло). Это происходит, видимо, из-за кривой функции для геренации координат точки (x := x*2*R-R). Все точки попадают внутрь фигуры. Просто в данной задаче остается довольно небольшая площадь вне фигуры.
В общем, нужно подкорректировать формулы генерации координат, чтобы была большая вероятность попадания во внешнюю область. Второй листинг - для окружности БЕЗ прямых. Сделал специально для того, чтобы показать, что код рабочий. Например, для R=5 площадь ограничивающего прямоугольника ~78.5398, а площадь круга =78.4672 (результат работы программы) Листинг 1: Код:
Код:
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем. ___________________________________ ___________________________________ _______ [=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль] |
13.01.2009, 18:16 | #4 |
Участник клуба
Регистрация: 02.09.2007
Сообщений: 1,193
|
Рабочий код
Код:
p.s. Ошибочка. По условию задачи уравнение прямой y=± d/2, в данном алгоритме y=± d, что, вообще говоря, не принципиально. Исправьте сами... Последний раз редактировалось _Dmitry; 13.01.2009 в 18:28. |
13.01.2009, 21:17 | #5 |
Пользователь
Регистрация: 31.03.2008
Сообщений: 14
|
а то самое только в С++!!!
пожалуйста!!! |
13.01.2009, 21:56 | #6 |
В тени
Старожил
Регистрация: 19.12.2008
Сообщений: 5,788
|
На C++. Переведенный вариант _Dmitry. Вроде, ничего не забыл.
Код:
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем. ___________________________________ ___________________________________ _______ [=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль] |
14.01.2009, 19:49 | #7 |
Пользователь
Регистрация: 31.03.2008
Сообщений: 14
|
благодарю!!!!
|
14.01.2009, 19:49 | #8 | |
Участник клуба
Регистрация: 02.09.2007
Сообщений: 1,193
|
Цитата:
Вот выдержка из модуля: Код:
|
|
14.01.2009, 20:02 | #9 | |
В тени
Старожил
Регистрация: 19.12.2008
Сообщений: 5,788
|
_Dmitry
Цитата:
Хотя проверил сейчас - работает.. Мистика ))
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем. ___________________________________ ___________________________________ _______ [=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль] |
|
15.01.2009, 17:12 | #10 |
Регистрация: 13.01.2009
Сообщений: 3
|
Спасибо большое!
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Монте карло | KJIOyH | Помощь студентам | 21 | 07.09.2010 13:20 |
поиск простых чисел методом решета.программа на С или С++ | из_семи | Помощь студентам | 2 | 25.02.2009 20:56 |
Поиск обратной матрицы методом Гаусcа | BOB.GLAMUR | Общие вопросы Delphi | 1 | 26.12.2008 11:30 |
Метод Монте-Карло литература или примеры программ на С++ или С | MIKI | Помощь студентам | 2 | 09.12.2008 13:33 |
1) Поиск кратчайшего пути в графе методом полного перебора в ширину(очередь) | Serega123 | Помощь студентам | 3 | 30.10.2008 22:26 |