subgraph
부분 그래프(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')
노드 속성과 간선 속성을 사용한 부분 그래프
명명된 노드가 있는 가중 그래프(Weighted Graph)를 생성하고 플로팅합니다.
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
는 노드 이름과 간선 가중치를 유지합니다. 하지만, H
의 숫자형 노드 ID는 G
와 비교하여 번호가 다시 매겨집니다.
N = neighbors(G,'B'); H = subgraph(G, ['B'; N]); plot(H,'EdgeLabel',H.Edges.Weight)
입력 인수
nodeIDs
— 노드 ID
노드 인덱스 | 노드 이름
노드 ID로, 하나 이상의 노드 인덱스 또는 노드 이름으로 지정됩니다. nodeIDs
는 G
에서 일부 노드를 선택하여 부분 그래프 H
를 생성합니다.
다음 표에서는 숫자형 노드 인덱스 또는 노드 이름을 사용하여 하나 이상의 노드를 참조하는 몇 가지 방법을 보여줍니다.
형식 | 단일 노드 | 여러 노드 |
---|---|---|
노드 인덱스 | 스칼라 예: | 벡터 예: |
노드 이름 | 문자형 벡터 예: | 문자형 벡터로 구성된 셀형 배열 예: |
string형 스칼라 예: | string형 배열 예: |
예: H = subgraph(G,[1 2 5])
예: H = subgraph(G,{'A' 'B' 'E'})
idx
— 노드 선택 벡터
벡터
노드 선택 벡터로, 논리형 벡터로 지정됩니다. 부분 그래프는 idx(J)
가 논리형 1
(true
)인 노드 J
만 포함합니다. H
에서 노드 J
의 인덱스는 I(J)
이고, I = find(idx)
입니다.
예: subgraph(G,degree(G)>2)
데이터형: logical
출력 인수
확장 기능
C/C++ 코드 생성
MATLAB® Coder™를 사용하여 C 코드나 C++ 코드를 생성할 수 있습니다.
사용법 관련 참고 및 제한 사항:
노드 ID
nodeIDs
는 입력 그래프G
의 노드 인덱스여야 합니다. 노드 이름은 지원되지 않습니다.
스레드 기반 환경
MATLAB®의 backgroundPool
을 사용해 백그라운드에서 코드를 실행하거나 Parallel Computing Toolbox™의 ThreadPool
을 사용해 코드 실행 속도를 높일 수 있습니다.
버전 내역
R2015b에 개발됨
MATLAB 명령
다음 MATLAB 명령에 해당하는 링크를 클릭했습니다.
명령을 실행하려면 MATLAB 명령 창에 입력하십시오. 웹 브라우저는 MATLAB 명령을 지원하지 않습니다.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- 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)