findedge
그래프에서 간선 찾기
구문
설명
예제
지정된 끝 노드를 사용하여 간선 찾기
그래프를 생성한 후 간선 (1,2)와 간선 (3,5)에 대한 간선 인덱스를 확인합니다.
s = [1 1 2 2 2 3 3 3]; t = [2 3 3 4 5 6 7 5]; G = graph(s,t)
G = graph with properties: Edges: [8x1 table] Nodes: [7x0 table]
idxOut = findedge(G,[1 3],[2 5])
idxOut = 2×1
1
6
idxOut
은 지정된 각 간선에 대해 G.Edges.EndNodes
에 대한 행 인덱스를 포함합니다.
모든 그래프 간선에 대한 끝 노드
그래프를 생성한 후 그래프에 포함된 모든 간선에 대한 끝 노드를 확인합니다.
s = {'a' 'a' 'b' 'b' 'c' 'c'}; t = {'b' 'c' 'd' 'e' 'f' 'g'}; G = graph(s,t); G.Edges
ans=6×1 table
EndNodes
______________
{'a'} {'b'}
{'a'} {'c'}
{'b'} {'d'}
{'b'} {'e'}
{'c'} {'f'}
{'c'} {'g'}
[sOut,tOut] = findedge(G)
sOut = 6×1
1
1
2
2
3
3
tOut = 6×1
2
3
4
5
6
7
지정된 간선 인덱스를 사용하여 간선 찾기
그래프를 생성한 후 인덱스가 3
과 7
인 간선에 대한 끝 노드를 확인합니다.
s = [1 1 1 1 2 2 3 3 4 4]; t = [2 3 4 5 6 7 8 9 10 11]; G = digraph(s,t)
G = digraph with properties: Edges: [10x1 table] Nodes: [11x0 table]
[sOut,tOut] = findedge(G,[3 7])
sOut = 2×1
1
3
tOut = 2×1
4
8
지정된 간선의 가중치 확인하기
그래프를 생성합니다.
s = [1 1 2 3]; t = [2 3 3 4]; weights = [10 20 30 40]; G = graph(s,t,weights)
G = graph with properties: Edges: [4x2 table] Nodes: [4x0 table]
findedge
를 사용하여 인덱스를 가져오고 간선 (1,3)의 가중치를 구합니다.
G.Edges.Weight(findedge(G,1,3))
ans = 20
다중 그래프 간선의 가중치 변경하기
findedge
를 사용하여 여러 다중 그래프 간선의 가중치를 변경합니다.
다중 그래프를 생성하고 플로팅합니다. 이 그래프에는 노드 2와 노드 4 사이에 두 개의 간선이 있습니다.
s = [1 1 2 3 2 2];
t = [2 3 3 4 4 4];
weights = [10 20 30 40 10 10];
G = graph(s,t,weights);
plot(G,'EdgeLabel',G.Edges.Weight)
노드 (3,2)와 노드 (2,4) 사이의 간선 가중치를 변경합니다. findedge
에 두 개의 출력값을 지정하여 끝 노드 인덱스 m
을 가져옵니다. idxOut
은 s
와 t
에 있는 노드 쌍의 개수보다 더 많은 요소를 가질 수 있으므로 이 출력값은 두 노드 사이에 다중 간선이 있는 경우에 유용합니다. 간선 idxOut(1) = 3
은 노드 쌍 (s(1),t(1)) = (3,2)
를 연결하고, 간선 idxOut(2) = 4
와 idxOut(3) = 5
는 간선 (s(2),t(2)) = (2,4)
를 연결합니다.
s = [3 2]; t = [2 4]; w = [1 4]; [idxOut, m] = findedge(G, s, t)
idxOut = 3×1
3
4
5
m = 3×1
1
2
2
G.Edges.Weight(idxOut) = w(m);
plot(G,'EdgeLabel',G.Edges.Weight)
입력 인수
s,t
— 노드 쌍(개별 인수)
노드 인덱스 | 노드 이름
노드 쌍으로, 노드 인덱스 또는 노드 이름의 개별 인수로 지정됩니다. s
와 t
에서 유사한 위치의 요소는 그래프에 추가되는 간선에 대한 소스 노드와 타깃 노드를 지정합니다.
다음 표에서는 숫자형 노드 인덱스 또는 노드 이름을 사용하여 하나 이상의 노드를 참조하는 몇 가지 방법을 보여줍니다.
형식 | 단일 노드 | 여러 노드 |
---|---|---|
노드 인덱스 | 스칼라 예: | 벡터 예: |
노드 이름 | 문자형 벡터 예: | 문자형 벡터로 구성된 셀형 배열 예: |
string형 스칼라 예: | string형 배열 예: | |
categorical형 배열 예: | categorical형 배열 예: |
예: G = findedge(G,[1 2],[3 4])
예: G = findedge(G,{'a' 'a'; 'b' 'c'},{'b' 'c'; 'c' 'e'})
idx
— 간선 인덱스
스칼라 | 벡터
간선 인덱스. 스칼라 또는 양의 정수로 구성된 벡터로 지정됩니다. 간선 인덱스는 그래프 G.Edges(idx,:)
의 G.Edges
테이블에 있는 행에 대응됩니다.
출력 인수
idxOut
— 간선 인덱스
스칼라 | 벡터
간선 인덱스. 스칼라 또는 음이 아닌 정수로 구성된 벡터로 반환됩니다. 간선 인덱스는 그래프 G.Edges(idxOut,:)
의 G.Edges
테이블에 있는 행에 대응됩니다. 간선 인덱스 0
은 그래프에 없는 간선을 나타냅니다.
idxOut
의 길이는 입력 그래프가 다중 그래프가 아닌 경우, 입력값의 노드 쌍의 개수에 해당합니다.
m
— 끝 노드 인덱스
벡터
끝 노드 인덱스로, 벡터로 반환됩니다. m
의 값은 idxOut
의 간선 인덱스를 입력 노드 쌍 (s,t)
에 연결합니다. 간선 idxOut(j)
는 노드 쌍과 인덱스 m(j)
를 연결합니다.
sOut,tOut
— 노드 ID
스칼라 | 벡터
노드 ID로, 개별 스칼라 또는 양의 정수로 구성된 벡터로 반환됩니다. sOut
과 tOut
에서 유사한 위치의 요소는 간선 G.Edges(idx,:)
를 형성하는 소스 노드와 타깃 노드를 지정합니다.
확장 기능
스레드 기반 환경
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)