MATLAB 도움말 센터
그래프에 다중 간선이 있는지 여부 확인
tf = ismultigraph(G)
tf = ismultigraph(G)는 G에서 임의의 두 노드 사이에 다중 간선이 있으면 논리형 1(true)을 반환합니다. 그렇지 않으면 논리값 0(false)을 반환합니다.
G
1
true
0
false
규칙상, ismultigraph는 자가 루프를 포함하지만 반복되는 간선이 없는 그래프에 대해 논리형 0(false)을 반환합니다. 하지만, 한 노드에 여러 개의 자가 루프를 갖는 그래프는 다중 그래프로 간주합니다.
ismultigraph
예제
모두 축소
ismultigraph를 사용하여 입력 그래프에서 두 노드 사이에 다중 간선이 있는지 확인합니다.
그래프를 생성합니다.
G = graph([1 1 1 1 1 2 2 2],[2 2 3 4 5 6 7 8]); plot(G)
G가 다중 그래프인지 확인합니다. 노드 1과 노드 2 사이에 두 개의 간선이 있으므로 결과는 논리형 1(true)이 됩니다.
tf = logical 1
ismultigraph를 사용하여 그래프를 간소화할 필요가 있는지 여부를 확인합니다.
빈 그래프를 생성한 다음 addedge를 사용하여 프로그래밍 방식으로 간선을 추가하는 경우에는 중복 간선이 발생하는 경우가 많습니다. 이러한 중복간선이 생기지 않게 하려면 간선에 사용된 데이터가 고유해야 합니다.
addedge
이를 확인하려면 난수로 이루어진 2개의 열로 구성된 행렬과 빈 그래프를 생성하십시오. 난수는 1과 5 사이에만 있으므로 이 데이터는 다중 간선을 생성합니다.
G = graph; rng default % for reproducibility X = randi(5,15,2)
X = 15×2 5 1 5 3 1 5 5 4 4 5 1 4 2 1 3 5 5 5 5 4 1 4 5 4 5 2 3 4 5 1 ⋮
소스 데이터를 정리하여 각 행이 고유하도록 하는 대신 그래프에 모든 간선을 추가합니다. 참조 목적으로 그래프를 플로팅합니다.
G = addedge(G,X(:,1),X(:,2)); plot(G)
이 그래프가 다중 그래프인지 테스트한 다음, 다중 그래프라면 simplify를 사용하여 반복되는 간선과 자가 루프를 제거합니다.
simplify
if ismultigraph(G) G = simplify(G); end
이 결과 생성되는 그래프를 플로팅합니다.
plot(G)
graph
digraph
입력 그래프로, graph 객체 또는 digraph 객체로 지정됩니다. 무방향 그래프를 생성하려면 graph를 사용하고 유방향 그래프를 생성하려면 digraph를 사용하십시오.
예: G = graph(1,2)
G = graph(1,2)
예: G = digraph([1 2],[2 3])
G = digraph([1 2],[2 3])
모두 확장
backgroundPool
ThreadPool
R2018a에 개발됨
simplify | graph | digraph | edgecount
edgecount
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 사이트 방문이 최적화되지 않았습니다.
미주
유럽
아시아 태평양
지역별 지사에 문의