表示具有 n 个顶点的图的空间分布,顶点均匀分布在单位正方形和顶点间的边上,其距离最多为 r.
SpatialGraphDistribution[n,r,d]
表示顶点均匀分布在 d 维单位正方形上的图的空间分布.
SpatialGraphDistribution[n,r,dist]
表示顶点根据概率分布 dist 而分布的图的空间分布.
SpatialGraphDistribution[n,r,reg]
表示顶点均匀分布在区域 reg 中的图的空间分布.
SpatialGraphDistribution
表示具有 n 个顶点的图的空间分布,顶点均匀分布在单位正方形和顶点间的边上,其距离最多为 r.
SpatialGraphDistribution[n,r,d]
表示顶点均匀分布在 d 维单位正方形上的图的空间分布.
SpatialGraphDistribution[n,r,dist]
表示顶点根据概率分布 dist 而分布的图的空间分布.
SpatialGraphDistribution[n,r,reg]
表示顶点均匀分布在区域 reg 中的图的空间分布.
更多信息和选项
- SpatialGraphDistribution[n,r] 等同于 SpatialGraphDistribution[n,r,2].
- 概率分布 dist 可以是任何符号概率分布规范.
- SpatialGraphDistribution 默认情况下,有效使用欧几里德距离函数 EuclideanDistance.
- 可以给出以下选项:
-
DistanceFunction Automatic 使用的距离度量 - SpatialGraphDistribution 可与函数 RandomGraph 一起使用.
范例
打开所有单元 关闭所有单元基本范例 (2)
RandomGraph[SpatialGraphDistribution[15, 0.5]]EdgeCount 的概率密度函数:
𝒟[n_, r_] := EmpiricalDistribution[Flatten[Table[EdgeCount[g], {g, RandomGraph[SpatialGraphDistribution[n, r], 3000]}]]]DiscretePlot[Evaluate@Table[PDF[𝒟[8, r], d], {r, 0.1, 1, 0.2}], {d, 0, 28}, PlotRange -> All, ExtentSize -> 1 / 2]范围 (7)
RandomGraph[SpatialGraphDistribution[15, 0.3]]Table[RandomGraph[SpatialGraphDistribution[15, 0.3, d]], {d, 1, 4}]RandomGraph[SpatialGraphDistribution[20, 0.1, UniformDistribution[{{-0.3, 0.3}, {1, 1.5}}]]]RandomGraph[SpatialGraphDistribution[20, 0.1, ExponentialDistribution[2.5]]]RandomGraph[SpatialGraphDistribution[20, 5, BinormalDistribution[{3, 2}, 0.01]]]RandomGraph[SpatialGraphDistribution[20, 5, MultinormalDistribution[{1, 1}, {{2, 1 / 4}, {1 / 4, 3}}]]]RandomGraph[SpatialGraphDistribution[200, 0.3, Ellipsoid[{0, 0}, {3, 1}]]]Table[SeedRandom[4];RandomGraph[SpatialGraphDistribution[100, 0.15, DistanceFunction -> (Norm[#2 - #1, p]&)]], {p, {1, 1.5, 2, ∞}}]RandomGraph[SpatialGraphDistribution[10, 0.5], 4]𝒟 = GraphPropertyDistribution[EdgeCount[g], gSpatialGraphDistribution[10, 0.3]];NExpectation[x, x𝒟]选项 (2)
DistanceFunction (2)
默认情况下,使用 EuclideanDistance 度量距离:
Table[SeedRandom[1];
RandomGraph[SpatialGraphDistribution[30, 0.3, DistanceFunction -> df]],
{df, {Automatic, EuclideanDistance}}]SeedRandom[1];
RandomGraph[SpatialGraphDistribution[30, 0.3, DistanceFunction -> (Norm[#1 - #2]&)]]Table[SeedRandom[1];
RandomGraph[SpatialGraphDistribution[30, 0.3, DistanceFunction -> (Norm[#1 - #2, p]&)]], {p, {1, 1.5, 2.5, ∞}}]应用 (3)
无线 ad hoc 网络可用 SpatialGraphDistribution 模拟:
𝒟 = BinormalDistribution[{2, 1.5}, 0.3];𝒢 = SpatialGraphDistribution[50, 1, 𝒟];g = RandomGraph[𝒢, EdgeStyle -> White];Show[DensityPlot[PDF[𝒟, {x, y}], {x, -5, 5}, {y, -4, 4}, AspectRatio -> Automatic, ColorFunction -> ColorData["SolarColors"]], g]在具有100个神经元的大脑皮质中,如果它们的距离小于0.2,神经元是通过突触相连的:
𝒢 = SpatialGraphDistribution[100, 0.2];RandomGraph[𝒢]NProbability[x == 1, xGraphPropertyDistribution[Boole[ConnectedGraphQ[g]], g𝒢]]百合池塘的青蛙可以跳跃1.5英尺在25个睡莲之间跳跃. 从睡莲密度和 SpatialGraphDistribution 模拟青蛙的跳跃:
lilyDensity = MixtureDistribution[{1, 1, 1}, {BinormalDistribution[{0, 0}, {1, 1}, 0], BinormalDistribution[{-1, 4}, {1, 1}, -1 / 2], BinormalDistribution[{4, 4}, {1, 1}, 1 / 3]}];lilyPond = SpatialGraphDistribution[25, 1.5, lilyDensity];g = RandomGraph[lilyPond, VertexShape -> [image], VertexSize -> {"Scaled", 0.1}, EdgeStyle -> Opacity[0], Background -> Hue[0.6, 0.8, 0.4], ImageSize -> 150]Length[First@ConnectedComponents[g]]largestIsland = GraphPropertyDistribution[Length[First[ConnectedComponents[g]]], glilyPond];RandomVariate[largestIsland, 10]Length[ConnectedComponents[g]] - 1frogSwims = GraphPropertyDistribution[Length[ConnectedComponents[g]] - 1, glilyPond];RandomVariate[frogSwims, 10]属性和关系 (6)
𝒟[n_, r_] = GraphPropertyDistribution[VertexCount[g], gSpatialGraphDistribution[n, r]]𝒟[n_, r_] := EmpiricalDistribution[Flatten[Table[EdgeCount[g], {g, RandomGraph[SpatialGraphDistribution[n, r], 3000]}]]];DiscretePlot[Evaluate @ Table[PDF[𝒟[15, r], d], {r, 0.1, 1, 0.2}], {d, 0, 105}, PlotRange -> All, ExtentSize -> 1 / 2]𝒟[n_, r_] := EmpiricalDistribution[Flatten[Table[VertexDegree[g], {g, RandomGraph[SpatialGraphDistribution[n, r], 1000]}]]]DiscretePlot[Evaluate @ Table[PDF[𝒟[31, r], d], {r, 0.1, 1, 0.2}], {d, 0, 30}, PlotRange -> All, ExtentSize -> 1 / 2]使用 UniformDistribution 和 EuclideanDistance 模拟 SpatialGraphDistribution:
edges[n_, c_, r_] := Cases[EdgeList[CompleteGraph[n]], i_j_ /; EuclideanDistance[c[[i]], c[[j]]] < r]spatial[n_, r_] := Module[{c = RandomVariate[UniformDistribution[{{0, 1}, {0, 1}}], n]},
Graph[Range[n], edges[n, c, r], VertexCoordinates -> c]]Table[spatial[30, 0.3], {4}]Table[RandomGraph[SpatialGraphDistribution[10, -1, DistanceFunction -> (Norm[#2 - #1, p]&)]], {p, {1, 1.5, 2, ∞}}]EmptyGraphQ /@ %Table[RandomGraph[SpatialGraphDistribution[10, 2, DistanceFunction -> (Norm[#2 - #1, p]&)]], {p, {1, 1.5, 2, ∞}}]CompleteGraphQ /@ %文本
Wolfram Research (2012),SpatialGraphDistribution,Wolfram 语言函数,https://reference.wolfram.com/language/ref/SpatialGraphDistribution.html (更新于 2022 年).
CMS
Wolfram 语言. 2012. "SpatialGraphDistribution." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2022. https://reference.wolfram.com/language/ref/SpatialGraphDistribution.html.
APA
Wolfram 语言. (2012). SpatialGraphDistribution. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/SpatialGraphDistribution.html 年
BibTeX
@misc{reference.wolfram_2026_spatialgraphdistribution, author="Wolfram Research", title="{SpatialGraphDistribution}", year="2022", howpublished="\url{https://reference.wolfram.com/language/ref/SpatialGraphDistribution.html}", note=[Accessed: 14-July-2026]}
BibLaTeX
@online{reference.wolfram_2026_spatialgraphdistribution, organization={Wolfram Research}, title={SpatialGraphDistribution}, year={2022}, url={https://reference.wolfram.com/language/ref/SpatialGraphDistribution.html}, note=[Accessed: 14-July-2026]}