Точки выборки из геометрических областей
Функция RandomPoint создает выборку равномерности псевдослучайного набора точек в заданном регионе.
In[1]:=
![Click for copyable input](assets.ru/sample-points-from-regions/In_47.png)
Graphics[{Polygon[CirclePoints[5]], White,
Point[RandomPoint[Polygon[CirclePoints[5]], 200]]},
ImageSize -> Medium]
Out[1]=
![](assets.ru/sample-points-from-regions/O_40.png)
Так выглядят точки в неявном сегменте фигуры Лиссажу.
In[2]:=
![Click for copyable input](assets.ru/sample-points-from-regions/In_48.png)
\[ScriptCapitalR] =
ImplicitRegion[-1 + (-1 + 18 x^2 - 48 x^4 + 32 x^6)^2 + (-1 +
18 y^2 - 48 y^4 + 32 y^6)^2 <= 0, {x, y}];
In[3]:=
![Click for copyable input](assets.ru/sample-points-from-regions/In_49.png)
Graphics[{PointSize[Tiny],
Point[RandomPoint[\[ScriptCapitalR], 10^4]]}, ImageSize -> Medium]
Out[3]=
![](assets.ru/sample-points-from-regions/O_41.png)
Так выглядят точки в простой фигуре, в форме текста, заданной функцией Text.
In[4]:=
![Click for copyable input](assets.ru/sample-points-from-regions/In_50.png)
mr = DiscretizeGraphics[Text[Style["\[CapitalSigma]", Bold]], _Text,
MaxCellMeasure -> 0.1];
In[5]:=
![Click for copyable input](assets.ru/sample-points-from-regions/In_51.png)
Graphics[{PointSize[Tiny], Point[RandomPoint[mr, 10000]]},
ImageSize -> Medium]
Out[5]=
![](assets.ru/sample-points-from-regions/O_42.png)
Воспользуемся методом Монте-Карло для аппроксимации интеграла в параметрической области.
In[6]:=
![Click for copyable input](assets.ru/sample-points-from-regions/In_52.png)
region = ParametricRegion[{{s, s t}, s^2 + t^2 <= 1}, {s, t}];
код на языке Wolfram Language целиком
Out[7]=
![](assets.ru/sample-points-from-regions/O_43.png)
Так выглядит функция, которая должна быть интегрирована в домен.
In[8]:=
![Click for copyable input](assets.ru/sample-points-from-regions/In_54.png)
f[{x_, y_}] := x^3 - 2 x^2 y + 4 x^6 - y^5;
val = NIntegrate[f[{x, y}], {x, y} \[Element] region]
Out[8]=
![](assets.ru/sample-points-from-regions/O_44.png)
Визуализируем конвергентность значений, полученных с помощью метода Монте-Карло, по мере увеличения размера выборки.
код на языке Wolfram Language целиком
Out[9]=
![](assets.ru/sample-points-from-regions/O_45.png)