主要内容

最近的

半径内最近的邻居

描述

例子

nodeid=最近的(G年代d返回图中的所有节点G都在距离之内d从节点年代.如果图是加权的(也就是说,如果G.Edges包含一个变量重量),然后这些权重被用作图中沿边缘的距离。否则,取所有的边距为1

例子

nodeid=最近的(G年代d名称,值使用由一个或多个名-值对参数指定的其他选项。例如,如果G是加权图吗最近的(G s d,“方法”,“减重”)忽略图中的边权值G而把所有边权值都看成1

例子

nodeid经销=最近的(___另外返回到每个最近邻居的距离,这样dist (j)到源节点的距离是多少年代到节点nodeid (j).您可以使用以前语法中的任何输入参数组合。

例子

全部折叠

创建并绘制带有加权边的图形。

S = [1 1 1 1 1 2 2 2 3 3 3 3 3 3];T = [2 4 5 6 7 3 8 9 10 11 12 13 14];权重= randi([1 10],1,13);G =图(s,t,权重);p = plot(G,“布局”“力”“EdgeLabel”, G.Edges.Weight);

图中包含一个轴对象。axis对象包含一个graphplot类型的对象。

确定哪些节点位于节点1半径为15的范围内。

nn = nearest(G,1,15)
nn =9×15 7 2 3 4 6 8 12 9

将源节点突出显示为绿色,将最近的邻居突出显示为红色。

突出(p, 1“NodeColor”‘g’)突出(p神经网络“NodeColor”“r”

图中包含一个轴对象。axis对象包含一个graphplot类型的对象。

创建并绘制带有加权边的图形。

S = [1 11 2 2 6 6 7 7 3 9 9 4 4 11 11 8];T = [2 3 4 5 6 7 8 5 8 9 10 10 11 12 10 12 12];权重= [10 10 10 10 10 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1];G =图(s,t,权重);情节(G,“EdgeLabel”G.Edges.Weight)

图中包含一个轴对象。axis对象包含一个graphplot类型的对象。

确定哪些节点距离节点3的半径为5,并返回到每个节点的距离。

[nn,dist] = nearest(G,3,5)
nn =9×19 10 5 11 4 7 12 6 8
dist =9×11 1 2 2 3 3 3 4 4

创建并绘制带有加权边的有向图。

S = {“一个”“一个”“一个”“b”“c”“c”“e”“f”“f”};T = {“b”“c”' d '“一个”“一个”' d '“f”“一个”“b”};权重= [1 1 1 2 2 2 2 2 2];G =有向图(s,t,权重);情节(G,“EdgeLabel”G.Edges.Weight)

图中包含一个轴对象。axis对象包含一个graphplot类型的对象。

确定距离节点1为半径内最近的节点“一个”,由出路径到节点的距离来衡量“一个”

nn_out =最近的(G,“一个”, 1)
nn_out =3 x1细胞{'b'} {'c'} {'d'}

确定所有具有进入路径的节点“一个”通过指定半径为

nn_in =最近的(G,“一个”正,“方向”“输入”
nn_in =4 x1细胞{'b'} {'c'} {'f'} {'e'}

输入参数

全部折叠

输入图形,指定为a有向图对象。使用创建无向图或有向图创建有向图。

例子:G =图(1,2)

例子:G =有向图([1 2],[2 3])

源节点,以此表中的一种形式指定为节点索引或节点名称。

价值 例子
标量节点索引 1
字符向量节点名称 “一个”
字符串标量节点名称 “一个”

例子:最近的(G, 3, 1)

例子:最近的(G, a, 5)

邻居距离半径,指定为数值标量。

例子:最近的(G, 3, 1)

例子:最近的(G, a, 2.5)

名称-值参数

指定可选参数对为Name1 = Value1,…,以=家,在那里名字参数名称和价值对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。

在R2021a之前,使用逗号分隔每个名称和值,并将其括起来名字在报价。

例子:[nodeid,dist] = nearest(G,s,5,'方法','未加权','方向','传入')

请注意

“方向”选项只能在有向图中指定。

距离测量的方向,用逗号分隔的对组成“方向”这张表中的一个选项。

选项 描述
“外向”(默认) 距离是用路径计算的从源节点开始年代
“输入” 距离是用路径来计算的到源节点年代

例子:最近的(G s d,“方向”、“输入”)

最短路径算法,由逗号分隔的对组成“方法”这张表中的一个选项。

选项 描述
“汽车”(默认)

“汽车”选项自动选择算法:

  • “减重”用于而且有向图没有边权值的输入。

  • “积极”用于所有有边权值的输入,并且要求权值是非负的。此选项也用于有向图具有非负边权值的输入。

  • “混合”用于有向图边权值包含一些负值的输入。这个图不可能有负循环。

“减重”

宽度优先计算,将所有边权值处理为1

“积极”

Dijkstra算法,要求所有边权值为非负。

“混合”(仅供有向图

有向图的Bellman-Ford算法,它要求图没有负环。

“混合”“积极”对于同样的问题,“混合”更通用,因为它允许一些边权值为负。

请注意

对于大多数图表,“减重”是最快的算法,其次是“积极”而且“混合”

例子:最近的(G s d,“方法”,“积极的”)

输出参数

全部折叠

最近邻居节点id,如果返回为节点索引年代是数字,还是作为节点名如果年代节点名称。节点从最近到最远排序。nodeid如果指定的距离内没有节点,则为空。nodeid从不包含源节点年代即使这个图有自循环。

使用H =子图(G,[s;nodeid])从原始图中提取最近邻居的子图G

邻居距离,作为向量返回。dist (j)到源节点的距离是多少年代到邻近节点nodeid (j)

扩展功能

版本历史

在R2016a中引入