Главная страница
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.013 c
1-2955
kost
2003-05-21 08:20
2003.06.02
ACCESS


3-2794
moore
2003-05-14 15:17
2003.06.02
пример БД


4-3229
Delphi5.01
2003-04-03 18:27
2003.06.02
Problem with Image1.Picture.Bitmap.LoadFromStream(MemoryStream);


14-3169
moore
2003-05-15 18:10
2003.06.02
DBComboBox, DBLookUpComboBox, DBListBox


3-2753
corte ™
2003-05-13 09:15
2003.06.02
Кто нить знает? Как решить проблему.