Madinka
17-07-2012, 16:53
Здравствуйте! Помогите пожалуйста написать программу задачи Дирихле для уравнения Лапласа методом Монте-Карло. На плоскости Оху дана область G с границей Г. В области G строится квадратная сетка Sh с шагом h. Предполагаем, что сетка состоит из внутренних и граничных узлов. Граничные узлы сетки Sh образуют её границу Г, т.е. граница Г представляет собой линейный ряд точек М(х,у). Частица М попадая во внутренний узел может перемещаться в один из четырех соседних узлов, причем каждый такой переход случаен. Блуждание частицы заканчивается, как только частица попадает на границу.
Нужно, чтоб программа выдавала случайное число на интервале [0,1]: если число принадлежит интервалу [0;0.25], то движется вправо;
если число принадлежит интервалу [0.5;0.75], то движется влево;
если число принадлежит интервалу [0.25;0.5], то движется вверх;
если число принадлежит интервалу [0.75;1], то движется вниз.
По этой схеме двигаясь точка должна попасть на границу, и в конце посчитать всё по формуле.
Формула: u(x,y)=(1/N)*Σφ(Хк,Ук), N-число случайных блужданий, φ(Хк,Ук) - функция, определенная в точках границы Г области G.
Нужно, чтоб программа выдавала случайное число на интервале [0,1]: если число принадлежит интервалу [0;0.25], то движется вправо;
если число принадлежит интервалу [0.5;0.75], то движется влево;
если число принадлежит интервалу [0.25;0.5], то движется вверх;
если число принадлежит интервалу [0.75;1], то движется вниз.
По этой схеме двигаясь точка должна попасть на границу, и в конце посчитать всё по формуле.
Формула: u(x,y)=(1/N)*Σφ(Хк,Ук), N-число случайных блужданий, φ(Хк,Ук) - функция, определенная в точках границы Г области G.