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)