このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
ismultigraph
グラフに複数のエッジがあるかどうかを判別
説明
例
複数のエッジのテスト
ismultigraph
を使用して、入力グラフの 2 つのノード間に複数のエッジがあるかどうかを判別します。
グラフを作成します。
G = graph([1 1 1 1 1 2 2 2],[2 2 3 4 5 6 7 8]); plot(G)
G
が多重グラフかどうかを確認します。ノード 1 とノード 2 の間に 2 本のエッジがあるため、結果は logical 1
(true
) になります。
tf = ismultigraph(G)
tf = logical
1
グラフからの複数のエッジの削除
ismultigraph
を使用して、グラフを簡略化する必要があるかどうかを判断します。
一般的に、空のグラフを作成し、プログラムで addedge
を使用してエッジをそのグラフに追加すると、重複するエッジが発生します。重複を避けるためには、エッジに使用されるデータは一意でなければなりません。
これを示すために、1 つの空のグラフと、乱数の 2 つの列をもつ 1 つの行列を作成します。乱数は 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
⋮
ソース データをクリーニングして行を一意にするのではなく、すべてのエッジをグラフに追加します。参照用にグラフをプロットします。
G = addedge(G,X(:,1),X(:,2)); plot(G)
テストしてグラフが多重グラフかどうかを確認します。多重グラフの場合は、simplify
を使用して繰り返されるエッジと自己ループを削除します。
if ismultigraph(G) G = simplify(G); end
結果のグラフをプロットします。
plot(G)
入力引数
拡張機能
スレッドベースの環境
MATLAB® の backgroundPool
を使用してバックグラウンドでコードを実行するか、Parallel Computing Toolbox™ の ThreadPool
を使用してコードを高速化します。
バージョン履歴
R2018a で導入
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは 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)