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