主要内容

最近的

半径内最近邻

描述

例子

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 2 2 3 3 3 3 3];T = [2 4 5 6 7 3 8 9 10 11 12 13 14];Weights = randi([1 10],1,13);图G = (s t重量);p =情节(G,“布局”“力”“EdgeLabel”, G.Edges.Weight);

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

确定哪些节点距离节点1的半径为15。

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

将源节点高亮为绿色,将最近的邻居高亮为红色。

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

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

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

S = [1 1 2 2 6 6 7 7 3 3 9 9 4 4 11 11 8];T = [2 3 4 5 6 7 8 5 8 9 10 5 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];图G = (s t重量);情节(G,“EdgeLabel”G.Edges.Weight)

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

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

(nn, dist] =最近的(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];G =有向图(s t重量);情节(G,“EdgeLabel”G.Edges.Weight)

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

确定在半径为1的范围内距离节点最近的节点“一个”,由到节点的输出路径距离度量“一个”

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

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

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

输入参数

全部折叠

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

例子:图G =(1、2)

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

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

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

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

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

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

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

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

名称-值对的观点

指定可选的逗号分隔的对名称,值参数。的名字参数名和价值为对应值。的名字必须出现在引号内。可以以任意顺序指定多个名称和值对参数Name1, Value1,…,的家

例子:[nodeid,经销]=最近的(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