addedge
新しいエッジをグラフに追加
説明
例
エッジをグラフに追加
新しい 2 本のエッジを既存のグラフに追加します。新しいエッジの 1 本が参照するノードは存在しないため、addedge
は自動的に、必要な 4 番目のノードをグラフに追加します。
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
に連結可能なより小さい table を作成して、2 本の新しいエッジをグラフに追加します。この小さい table 内の変数の順序は、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
の table の最下部に追加します。s
と t
が categorical 配列の場合、s
と t
のカテゴリがノード名として使用されます。これには、s
または t
の要素ではないカテゴリが含まれる場合があります。
次の表に、1 つ以上のノードを数値ノード インデックスまたはノード名のいずれかで参照するさまざまな方法を示します。
形式 | 単一ノード | 複数ノード |
---|---|---|
ノード インデックス | スカラー 例: | ベクトル 例: |
ノード名 | 文字ベクトル 例: | 文字ベクトルの cell 配列 例: |
string スカラー 例: | string 配列 例: | |
categorical 配列 例: | categorical 配列 例: |
例: G = addedge(G, [1 2], [3 4])
はグラフにエッジを 2 本追加します。1 本はノード 1
からノード 3
、もう 1 本はノード 2
からノード 4
までです。
例: G = addedge(G, {'a' 'a'; 'b' 'c'}, {'b' 'c'; 'c' 'e'})
はグラフにエッジを 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
— エッジの属性
table
エッジの属性。table として指定します。追加するグラフ エッジの定義に s
と t
を指定しない場合、EdgeTable
の最初の変数は、追加するグラフ エッジを定義する EndNodes
という 2 列の行列でなければなりません。
EdgeTable
には、次の一般的なプロパティがなければなりません。
重み付きグラフの場合、
EdgeTable
には変数Weight
が含まれていなければなりません。グラフがエッジの他の属性ももつ場合、互換性を確保するために、
EdgeTable
はG.Edges
に含まれるすべての変数を含まなければなりません。EdgeTable
の変数の順序は、G.Edges
と同じでなければなりません。
データ型: table
拡張機能
C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。
使用上の注意事項および制限事項:
ノード ペア
s
とt
はノード インデックスでなければなりません。ノード名はサポートされていません。グラフ オブジェクトの作成後に
G.Edges
の table に新しい変数や新しい列を追加することはできません。MATLAB® で作成した
graph
オブジェクトまたはdigraph
オブジェクトを MATLAB Coder™ を使用して生成された MEX 関数に渡すときに、グラフ オブジェクトにエッジを追加することはできません。エッジのプロパティは、コード生成で可変サイズの配列として格納できるデータ型でなければなりません。たとえば、次のデータ型にすることはできません。
string 配列
cell ごとにサイズが異なる cell 配列
cellstr
を使用して変換される文字ベクトルの cell 配列ユーザー定義クラス
バージョン履歴
R2015b で導入R2019a: categorical ノード名のサポート
categorical ノード名が入力としてサポートされるようになりました。これにより、categorical としてインポートされたデータを使用してグラフが作成できるようになり、データ型の操作は不要になりました。
R2018a: 重複したエッジの処理の変更
graph
、digraph
および addedge
は、重複したエッジを検出してもエラーを生成しません。代わりに、重複したエッジはグラフに追加され、結果として多重グラフになります。関数 ismultigraph
はこの状況を検出するのに役立ち、simplify
は余分なエッジを簡単に削除する方法となります。
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)