addedge
그래프에 새 간선 추가
설명
예제
그래프에 간선 추가하기
2개의 새 간선을 기존 그래프에 추가합니다. 새 간선 중 하나가 존재하지 않는 노드를 참조하므로 addedge
는 필요한 네 번째 노드를 그래프에 자동으로 추가합니다.
G = graph([1 2],[2 3])
G = graph with properties: Edges: [2x1 table] Nodes: [3x0 table]
G = addedge(G,[2 1],[4 3])
G = graph with properties: Edges: [4x1 table] Nodes: [4x0 table]
그래프에 가중치 간선 추가하기
가중치 간선이 있는 유방향 그래프를 생성합니다.
G = digraph({'A' 'B' 'C'}, {'D' 'C' 'D'}, [10 20 45])
G = digraph with properties: Edges: [3x2 table] Nodes: [4x1 table]
3개의 새 가중치 간선을 그래프에 추가합니다. addedge
는 새 노드가 필요한 경우 이러한 노드도 모두 그래프에 자동으로 추가합니다.
G = addedge(G, {'A' 'D' 'E'}, {'E' 'B' 'D'}, [5 30 5])
G = digraph with properties: Edges: [6x2 table] Nodes: [5x1 table]
그래프에 특성을 갖는 간선 추가하기
특성 Weight
와 Power
를 갖는 간선을 포함하는 그래프를 생성합니다. 간선 테이블을 사용하여 그래프를 생성합니다.
EdgeTable = table([1 2; 2 3; 2 4; 2 5; 5 6; 5 7; 5 8], ... {'on','off','off','on','on','on','off'}',[10 20 20 10 10 10 20]', ... 'VariableNames',{'EndNodes','Power','Weight'}); G = graph(EdgeTable)
G = graph with properties: Edges: [7x3 table] Nodes: [8x0 table]
G.Edges
에 결합(Concatenate)될 수 있는 더 작은 테이블을 생성하여 그래프에 2개의 새 간선을 추가합니다. 참고로, 이 더 작은 테이블은 G.Edges
와 동일한 순서의 변수를 사용해야 합니다.
NewEdges = table([5 9; 3 6], {'on' 'off'}', [10 20]', ... 'VariableNames',{'EndNodes','Power','Weight'}); G = addedge(G,NewEdges)
G = graph with properties: Edges: [9x3 table] Nodes: [9x0 table]
간선이 추가된 그래프의 새 간선 목록을 봅니다.
G.Edges
ans=9×3 table
EndNodes Power Weight
________ _______ ______
1 2 {'on' } 10
2 3 {'off'} 20
2 4 {'off'} 20
2 5 {'on' } 10
3 6 {'off'} 20
5 6 {'on' } 10
5 7 {'on' } 10
5 8 {'off'} 20
5 9 {'on' } 10
입력 인수
s,t
— 노드 쌍(개별 인수)
노드 인덱스 | 노드 이름
노드 쌍으로, 노드 인덱스 또는 노드 이름의 개별 인수로 지정됩니다. s
와 t
에서 유사한 위치의 요소는 그래프에 추가되는 간선에 대한 소스 노드와 타깃 노드를 지정합니다.
그래프에 아직 없는 노드 이름을 사용하여 간선을 추가하는 경우 addedge
는 g.Nodes.Name
테이블 하단에 새 노드 이름을 추가합니다. s
와 t
가 categorical형 배열인 경우 s
와 t
의 범주가 노드 이름으로 사용됩니다. 여기에는 s
또는 t
의 요소가 아닌 범주도 포함될 수 있습니다.
다음 표에서는 숫자형 노드 인덱스 또는 노드 이름을 사용하여 하나 이상의 노드를 참조하는 몇 가지 방법을 보여줍니다.
형식 | 단일 노드 | 여러 노드 |
---|---|---|
노드 인덱스 | 스칼라 예: | 벡터 예: |
노드 이름 | 문자형 벡터 예: | 문자형 벡터로 구성된 셀형 배열 예: |
string형 스칼라 예: | string형 배열 예: | |
categorical형 배열 예: | categorical형 배열 예: |
예: G = addedge(G, [1 2], [3 4])
는 그래프에 2개의 간선을 추가합니다. 하나는 노드 1
에서 노드 3
으로 연결되는 간선이고, 다른 하나는 노드 2
에서 노드 4
로 연결되는 간선입니다.
예: G = addedge(G, {'a' 'a'; 'b' 'c'}, {'b' 'c'; 'c' 'e'})
는 그래프에 4개의 간선을 추가합니다. 4개 중 첫 번째 간선은 'a'
에서 'b'
로 연결됩니다.
w
— 간선 가중치
스칼라 | 벡터 | 행렬
간선 가중치로, 스칼라, 벡터, 행렬 중 하나로 지정됩니다.
w
가 스칼라나 행 벡터이면 이는s
와t
의 간선 각각에 대한 가중치를 지정하는 스칼라 확장입니다.w
가 열 벡터이면s(:)
및t(:)
와 길이가 같아야 합니다.w
가 행렬이면s(:)
및t(:)
와 요소 개수가 같아야 합니다.
예: G = addedge(G, [2 2], [4 5], [1 100]')
은 각각 가중치가 1
과 100
인 2개의 간선을 추가합니다.
데이터형: single
| double
복소수 지원 여부: 예
EdgeTable
— 간선 특성
테이블
간선 특성으로, 테이블로 지정됩니다. 추가 중인 그래프 간선을 정의하는 데 s
와 t
를 지정하지 않는다면 EdgeTable
의 첫 번째 변수는 추가 중인 그래프 간선을 정의하는 EndNodes
라는 이름의 2열 행렬이어야 합니다.
EdgeTable
은 다음과 같은 일반적인 특징을 가져야 합니다.
가중 그래프(Weighted Graph)의 경우,
EdgeTable
은 변수Weight
를 포함해야 합니다.그래프에 다른 간선 특성이 있는 경우, 호환성을 보장하기 위해서는
EdgeTable
이G.Edges
와 동일한 변수를 모두 포함해야 합니다.EdgeTable
의 변수 순서는G.Edges
의 변수 순서와 동일해야 합니다.
데이터형: table
확장 기능
C/C++ 코드 생성
MATLAB® Coder™를 사용하여 C 코드나 C++ 코드를 생성할 수 있습니다.
사용법 관련 참고 및 제한 사항:
노드 쌍
s
와t
는 노드 인덱스여야 합니다. 노드 이름은 지원되지 않습니다.graph 객체가 생성된 후에는
G.Edges
테이블에 새 변수나 새 열을 추가할 수 없습니다.MATLAB®에
graph
객체 또는digraph
객체를 생성하고 이 객체를 MATLAB Coder™를 사용하여 생성된 MEX 함수에 전달할 경우 graph 객체에 간선을 추가할 수 없습니다.간선 속성은 코드 생성 시 가변 크기 배열로 저장될 수 있는 데이터형이어야 합니다. 예를 들어, 다음 데이터형은 될 수 없습니다.
string형 배열
셀마다 크기가 다른 셀형 배열
cellstr
을 사용하여 변환된 문자형 벡터로 구성된 셀형 배열사용자 정의 클래스
버전 내역
R2015b에 개발됨R2019a: categorical형 노드 이름 지원
categorical형 노드 이름을 입력값으로 사용할 수 있는 지원이 추가되었습니다. 이를 통해 데이터형 조작 없이도 categorical형으로 가져온 데이터를 사용하여 그래프를 만들 수 있습니다.
R2018a: 중복 간선이 처리되는 방식 변경
graph
, digraph
및 addedge
는 중복 간선을 발견해도 더 이상 오류를 생성하지 않습니다. 그 대신 중복 간선이 그래프에 추가되고, 결과는 다중 그래프가 됩니다. ismultigraph
함수는 이러한 상황을 감지하는 데 유용하며, simplify
는 추가 간선을 제거하는 간단한 방법을 제공합니다.
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)