Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.06.02;
Скачать: CL | DM;

Вниз

Метод Монте-Карло   Найти похожие ветки 

 
Dimich1978 ©   (2003-05-21 17:38) [0]

мне необходимо вычилить площадь круга
(x-0.5)^2+(y-0.5)^2<1/4
и объем шара
(x-0.5)^2+(y-0.5)^2+(z-0.5)^2<1/4
Вот мой код, что не так подскажите(просто мне ажется что, где то вкралась ошибка), но никак не пойму где.
Заранее всем благодарен.
Program Monte_Carlo;
uses crt;
label 10;
var
i,n,m,m1:integer;
x,y,z:real;
begin
ClrScr;
writeln("Найдено количество 200 точек для каждой размерности");
Randomize;
m:=0;
m1:=0;
n:=0;
10:
n:=n+1;
x:=2*random-1;
y:=2*random-1;
z:=2*random-1;
if (sqr(x-0.5)+sqr(y-0.5))<(1/4) then m:=m+1;
if (sqr(x-0.5)+sqr(y-0.5)+sqr(z-0.5))<(1/4) then m1:=m1+1;
if (m>=200)and(m1>=200) then else goto 10;
writeln("Площадь круга равна=",4*(m/n));
writeln("Объем шара равен=",4*(m1/n));
readln;
end.


 
AFrolov ©   (2003-05-21 17:43) [1]

Сдесь бы цикл неплохо использовать (если надо именно методом монтекарло). А вообще то можно и аналитически вычислить...


 
Sandman25 ©   (2003-05-21 18:12) [2]

По-моему, x, y и z должны находиться в интервале [0,1), а не [-1,1).
Или придется брать abs(x), abs(y), abs(z) перед подстановкой в формулы.


 
nikkie ©   (2003-05-21 19:15) [3]

>просто мне ажется что, где то вкралась ошибка
а почему так ажется-то? считать вроде правильно должна, только для шара надо умножать на 8, а не на 4...



Страницы: 1 вся ветка

Текущий архив: 2003.06.02;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.021 c
6-3043
Budwaiser
2003-03-26 21:57
2003.06.02
Net Send


14-3172
Soft
2003-05-15 12:35
2003.06.02
Microsoft и Linux


1-2894
undom
2003-05-22 17:44
2003.06.02
формы


14-3128
sniknik
2003-05-14 16:29
2003.06.02
Веселая ошибка


1-2886
123456
2003-05-22 16:36
2003.06.02
ShellExecute