Wolfram Language

Extended Probability & Statistics

Sample Points from Regions

RandomPoint samples a pseudorandom point set uniformly in a given region.

In[1]:=
Click for copyable input
Graphics[{Polygon[CirclePoints[5]], White, Point[RandomPoint[Polygon[CirclePoints[5]], 200]]}, ImageSize -> Medium]
Out[1]=

Sample points in an implicit Lissajous region.

In[2]:=
Click for copyable input
\[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
Graphics[{PointSize[Tiny], Point[RandomPoint[\[ScriptCapitalR], 10^4]]}, ImageSize -> Medium]
Out[3]=

Sample points from a Text primitive.

In[4]:=
Click for copyable input
mr = DiscretizeGraphics[Text[Style["\[CapitalSigma]", Bold]], _Text, MaxCellMeasure -> 0.1];
In[5]:=
Click for copyable input
Graphics[{PointSize[Tiny], Point[RandomPoint[mr, 10000]]}, ImageSize -> Medium]
Out[5]=

Use the Monte Carlo method to approximate an integral with a domain in a parametric region.

In[6]:=
Click for copyable input
region = ParametricRegion[{{s, s t}, s^2 + t^2 <= 1}, {s, t}];
show complete Wolfram Language input
In[7]:=
Click for copyable input
RegionPlot[region, ImageSize -> Medium, PlotTheme -> "Detailed", PlotLegends -> None]
Out[7]=

The function to be integrated over the domain.

In[8]:=
Click for copyable input
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]=

Visualize the convergence of the Monte Carlo statistic as the sample size increases.

show complete Wolfram Language input
In[9]:=
Click for copyable input
ListLogLogPlot[ Transpose[{2^Range[20], ParallelTable[ RegionMeasure[region] Mean[f /@ RandomPoint[region, 2^n]], {n, 1, 20}]}], PlotRange -> All, PlotTheme -> "Detailed", ImageSize -> Medium, Joined -> True, Filling -> val]
Out[9]=

Related Examples

de es fr ja ko pt-br ru zh