subgraph
提取子图
说明
示例
创建并绘制一个图。
s = [1 1 1 1 2 2 2 2 2 2 2 2 2 2 15 15 15 15 15]; t = [3 5 4 2 14 6 11 12 13 10 7 9 8 15 16 17 19 18 20]; G = graph(s,t); plot(G,'Layout','force')

通过指定要包含的节点,从 G 提取子图。子图中的节点编号会重置。
idx = [2 15 16 17 18 19 20 1 3 4 5]; H = subgraph(G,idx); plot(H,'Layout','force')

创建并绘制一个具有命名节点的加权图。
s = [1 1 1 2 2 2 8 8 8 8];
t = [2 3 4 5 6 7 9 10 11 12];
weights = [10 30 40 80 60 60 20 30 90 80];
names = {'A' 'B' 'C' 'D' 'E' 'F' 'G' 'H' 'I' 'J' 'K' 'L'};
G = graph(s,t,weights,names);
plot(G,'EdgeLabel',G.Edges.Weight)
提取一个子图,其中包含节点 'B' 及其所有相邻节点。subgraph 保留节点名称和边权重。但是,与 G 相比较,H 中的数值节点 ID 经过重新编号。
N = neighbors(G,'B'); H = subgraph(G, ['B'; N]); plot(H,'EdgeLabel',H.Edges.Weight)

输入参数
节点标识符,指定为一个或多个节点索引或节点名称。nodeIDs 选择 G 中的部分节点来生成子图 H。
下表显示通过数值节点索引或节点名称引用一个或多个节点的不同方法。
| 形式 | 单一节点 | 多个节点 |
|---|---|---|
| 节点索引 | 标量 示例: | 向量 示例: |
| 节点名称 | 字符向量 示例: | 字符向量元胞数组 示例: |
字符串标量 示例: | 字符串数组 示例: |
示例: H = subgraph(G,[1 2 5])
示例: H = subgraph(G,{'A' 'B' 'E'})
节点选择向量,指定为逻辑向量。子图仅包含 idx(J) 为逻辑值 1 (true) 的节点 J。节点 J 在 H 中的索引为 I(J),其中 I = find(idx)。
示例: subgraph(G,degree(G)>2)
数据类型: logical
输出参量
扩展功能
用法说明和限制:
节点标识符
nodeIDs必须为输入图G的节点索引。不支持节点名称。
基于线程的环境
使用 MATLAB® backgroundPool 在后台运行代码或使用 Parallel Computing Toolbox™ ThreadPool 加快代码运行速度。
版本历史记录
在 R2015b 中推出
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
- América Latina (Español)
- Canada (English)
- United States (English)
欧洲
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)