addedge
新しいエッジをグラフに追加
説明
例
新しい 2 本のエッジを既存のグラフに追加します。新しいエッジの 1 本が参照するノードは存在しないため、addedge は自動的に、必要な 4 番目のノードをグラフに追加します。
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 に連結可能なより小さい 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: [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 の 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がスカラーまたは行ベクトルである場合、スカラー拡張され、sおよびtの各エッジの重みを指定します。wが列ベクトルである場合、その長さはs(:)およびt(:)と同じでなければなりません。wが行列である場合は、s(:)およびt(:)と同じ要素数でなければなりません。
例: G = addedge(G, [2 2], [4 5], [1 100]') は、それぞれ重みが 1 と 100 の 2 本のエッジを追加します。
データ型: single | double
複素数のサポート: あり
エッジの属性。table として指定します。追加するグラフ エッジの定義に s と t を指定しない場合、EdgeTable の最初の変数は、追加するグラフ エッジを定義する EndNodes という 2 列の行列でなければなりません。
EdgeTable には、次の一般的なプロパティがなければなりません。
重み付きグラフの場合、
EdgeTableには変数Weightが含まれていなければなりません。グラフがエッジの他の属性ももつ場合、互換性を確保するために、
EdgeTableはG.Edgesに含まれるすべての変数を含まなければなりません。EdgeTableの変数の順序は、G.Edgesと同じでなければなりません。
データ型: table
拡張機能
使用上の注意および制限:
ノード ペア
sとtはノード インデックスでなければなりません。ノード名はサポートされていません。グラフ オブジェクトの作成後に
G.Edgesの table に新しい変数や新しい列を追加することはできません。MATLAB® で作成した
graphオブジェクトまたはdigraphオブジェクトを MATLAB Coder™ を使用して生成された MEX 関数に渡すときに、グラフ オブジェクトにエッジを追加することはできません。エッジのプロパティは、コード生成で可変サイズの配列として格納できるデータ型でなければなりません。たとえば、次のデータ型にすることはできません。
string 配列
cell ごとにサイズが異なる cell 配列
cellstrを使用して変換される文字ベクトルの cell 配列ユーザー定義クラス
スレッドベースの環境
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.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の 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)