MATLAB ヘルプ センター
グラフ内のエッジを検出
[sOut,tOut] = findedge(G)
[sOut,tOut] = findedge(G,idx)
idxOut = findedge(G,s,t)
[idxOut,m] = findedge(G,s,t)
[sOut,tOut] = findedge(G) は、グラフ G のすべてのエッジについて、ソース ノード ID sOut とターゲット ノード ID tOut を返します。
sOut,tOut
G
sOut
tOut
例
[sOut,tOut] = findedge(G,idx) は、idx で指定されたエッジのソース ノードおよびターゲット ノードを検出します。
idx
idxOut = findedge(G,s,t) は、ソースとターゲットのノード ペア s および t で指定されたエッジについて、エッジの数値インデックス idxOut を返します。エッジ インデックスは、グラフのテーブル G.Edges の行 G.Edges.Edge(idxOut,:) に対応します。s と t の間に複数のエッジがある場合、すべてのインデックスが返されます。0 のエッジ インデックスは、グラフに含まれないエッジを示します。
idxOut
s,t
s
t
G.Edges
G.Edges.Edge(idxOut,:)
0
さらに、[idxOut,m] = findedge(G,s,t) は、idxOut 内の各エッジ インデックスに関連付けられているノード ペア (s,t) を示すベクトル m を返します。これは、同じ 2 つのノード間に複数のエッジがある場合に役に立ちます。
m
(s,t)
すべて折りたたむ
グラフを作成し、(1,2) と (3,5) のエッジについて、エッジ インデックスを求めます。
s = [1 1 2 2 2 3 3 3]; t = [2 3 3 4 5 6 7 5]; G = graph(s,t)
G = graph with properties: Edges: [8×1 table] Nodes: [7×0 table]
idxOut = findedge(G,[1 3],[2 5])
idxOut = 2×1 1 6
idxOut には、指定した各エッジについて G.Edges.EndNodes の行インデックスが含まれます。
G.Edges.EndNodes
グラフを作成し、そのグラフ内にあるすべてのエッジの終了ノードを求めます。
s = {'a' 'a' 'b' 'b' 'c' 'c'}; t = {'b' 'c' 'd' 'e' 'f' 'g'}; G = graph(s,t); G.Edges
ans=6×1 table EndNodes ______________ {'a'} {'b'} {'a'} {'c'} {'b'} {'d'} {'b'} {'e'} {'c'} {'f'} {'c'} {'g'}
sOut = 6×1 1 1 2 2 3 3
tOut = 6×1 2 3 4 5 6 7
グラフを作成し、エッジ インデックスが 3 および 7 のエッジについて終了ノードを求めます。
3
7
s = [1 1 1 1 2 2 3 3 4 4]; t = [2 3 4 5 6 7 8 9 10 11]; G = digraph(s,t)
G = digraph with properties: Edges: [10×1 table] Nodes: [11×0 table]
[sOut,tOut] = findedge(G,[3 7])
sOut = 2×1 1 3
tOut = 2×1 4 8
グラフを作成します。
s = [1 1 2 3]; t = [2 3 3 4]; weights = [10 20 30 40]; G = graph(s,t,weights)
G = graph with properties: Edges: [4×2 table] Nodes: [4×0 table]
findedge を使用してエッジ インデックスを取得して、(1,3) エッジの重みを求めます。
findedge
G.Edges.Weight(findedge(G,1,3))
ans = 20
findedge を使用して複数の多重グラフ エッジの重みを変更します。
多重グラフを作成してプロットします。このグラフにはノード 2 とノード 4 の間に 2 つのエッジがあります。
s = [1 1 2 3 2 2]; t = [2 3 3 4 4 4]; weights = [10 20 30 40 10 10]; G = graph(s,t,weights); plot(G,'EdgeLabel',G.Edges.Weight)
ノード (3,2) と (2,4) の間のエッジの重みを変更します。2 つの出力を findedge に指定して、終了ノード インデックス m を取得します。この出力は、2 つのノード間に複数のエッジがある場合に役に立ちます。idxOut の要素の数が、s と t のノード ペア数より多い場合があるためです。エッジ idxOut(1) = 3 はノード ペア (s(1),t(1)) = (3,2) を連結し、エッジ idxOut(2) = 4 とエッジ idxOut(3) = 5 はエッジ (s(2),t(2)) = (2,4) を連結します。
idxOut(1) = 3
(s(1),t(1)) = (3,2)
idxOut(2) = 4
idxOut(3) = 5
(s(2),t(2)) = (2,4)
s = [3 2]; t = [2 4]; w = [1 4]; [idxOut, m] = findedge(G, s, t)
idxOut = 3×1 3 4 5
m = 3×1 1 2 2
G.Edges.Weight(idxOut) = w(m); plot(G,'EdgeLabel',G.Edges.Weight)
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])
ノード ペア。ノード インデックスまたはノード名の個別の引数として指定します。s および t に同じように配置された要素は、グラフ エッジのソース ノードおよびターゲット ノードを指定します。
次の表に、1 つ以上のノードを数値ノード インデックスまたはノード名のいずれかで参照するさまざまな方法を示します。
スカラー
例: 1
1
ベクトル
例: [1 2 3]
[1 2 3]
文字ベクトル
例: 'A'
'A'
文字ベクトルの cell 配列
例: {'A' 'B' 'C'}
{'A' 'B' 'C'}
string スカラー
例: "A"
"A"
string 配列
例: ["A" "B" "C"]
["A" "B" "C"]
categorical 配列
例: categorical("A")
categorical("A")
例: categorical(["A" "B" "C"])
categorical(["A" "B" "C"])
例: G = findedge(G,[1 2],[3 4])
G = findedge(G,[1 2],[3 4])
例: G = findedge(G,{'a' 'a'; 'b' 'c'},{'b' 'c'; 'c' 'e'})
G = findedge(G,{'a' 'a'; 'b' 'c'},{'b' 'c'; 'c' 'e'})
エッジ インデックス。正の整数のスカラーまたはベクトルとして指定します。エッジ インデックスは、グラフ G.Edges(idx,:) のテーブル G.Edges の行に対応します。
G.Edges(idx,:)
エッジ インデックス。非負の整数のスカラーまたはベクトルとして返されます。エッジ インデックスは、グラフ G.Edges(idxOut,:) のテーブル G.Edges の行に対応します。0 のエッジ インデックスは、グラフに含まれないエッジを示します。
G.Edges(idxOut,:)
idxOut の長さは、入力グラフが多重グラフでない限り、入力のノード ペア数に一致します。
終了ノード インデックス。ベクトルとして返されます。m の値は、idxOut のエッジ インデックスを入力ノード ペア (s,t) に連結します。エッジ idxOut(j) はノード ペアをインデックス m(j) に連結します。
idxOut(j)
m(j)
ノード ID。正の整数の個別のスカラーまたはベクトルとして返されます。同様に配置された sOut および tOut の要素は、エッジ G.Edges(idx,:) を構成するソース ノードおよびターゲット ノードを指定します。
すべて展開する
backgroundPool
ThreadPool
R2015b で導入
numedges | findnode | graph | digraph
numedges
findnode
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 のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
ヨーロッパ
アジア太平洋地域
最寄りの営業オフィスへのお問い合わせ