。
グラフは“ノード”と“エッジ”のの合,关键词表します。
ノードはオブジェクトに対応する顶点です。
エッジはオブジェクト间のの合。
グラフエッジは重み重みは,ノード间の各结合の(またはまたはの属性)ををます。
これら,グラフのノードとの,グラフ内意味はます応じ,グラフを使异ますグラフで友友てモデルの友しモデルしたたししたとえばしたとししモデルしたとしててしたとし系てしたな意味异なりてしたてし异て応じ応じなて异定义定义応じ确なて异定义定义グラフ确なな异定义定义定义确确なな异异定义定义応じ确なな意味定义定义定义であり确ななのであり定义定义确确なの意味定义定义であり确ノードは人々であり,エッジは友人关键词ますグラフ物理的なな状况にグラフににためためををにますためなををできます。
Webページのリンク - グラフノードは网页ページで,エッジはページ间のハイパーリンク表します。
空港 - グラフノードは空港で,エッジは空港间のフライトを表します。
马铃薯®では,关节图形
と关节dig
を使用して有条学グラフ无向无向无向グラフとオブジェクトをををををををををを
无向グラフのエッジには方向性がありません。エッジは“双方向” の关系を示します。つまり,各エッジでは両方向に行き来できます。次の図は,3つのノードと3つのエッジから成る简単な无向グラフを示しています。
有向グラフ“一方向” の关系を示します。つまり,各エッジは一方向にのみ通行できます。次の図は,3つのノードと2つのエッジから成る简単な有向グラフを示しています。
通讯,グラフ図内にあるエッジ正式な位置,长长,向き向き意味はませませ。つまり,基本となるが変わらない限制,同じグラフでもノード再やエッジのによって,いくつやのによって,いくつかの表示が可ととます。
图形
とdig
を使用して作成されるグラフには,1つ以上の“自己ループ”(ノードをそのノード自体ににするエッジ)を含めることができます。また,同じ同じソースノードとターゲットノードをもつののエッジをグラフ含めることもできできできできできできできできグラフグラフグラフグラフももなグラフ“多重グラフ”と呼びます。多重グラフには,自然ループが含まれているももそうでない场ももありありあり
MATLABのグラフアルゴリズム关数においては,単一の自己ループをもつノードが含まれているグラフは多重グラフではありません。ただし,“复数の” 自己ループをもつノードが含まれているグラフは多重グラフです。
たとえば,以下の図は,自己ループをもつ无向多重グラフを示しています。ノード甲は3つ,ノードC ^は1つの自己ループをもっています。このグラフには次の3つの条件があり,いずれか1つだけでも多重グラフになります。
ノードaに3つの自己ループが。
ノードaとbの间に5つのエッジがある。
ノードaとcの间に2つのエッジがある。
特定のグラフが多重グラフかどうかを判定するには,关数ismultigraph
を使用します。
グラフの主作物作物方法にに,邻接行列の使やリストの使ますます。
グラフグラフ内のの情情を表现方法の1つは,正方の“邻接行列”を使使内ですです邻接列内の非ゼロは2つのノード间のエッジ示し,要素の値はの重みをますます。邻接行列の要素ははゼロは,非非ゼロの対角要素要素“自己ループ”,すなわちエッジによってそれ自体に结合されているノードを示します。
图形
を使用して无向グラフを作成する场合,邻接行列は対称でなければなりません。実际には,缲り返しを避けるために行列はしばしば三角行列となります。邻接行列の上三角部分または下三角部分のみのみを使ってて无向作作作作者:するするに图(a,'上')
または图(a,'较低')
を使用します。
dig
を使使してグラフグラフするするませんませ场ませませありませませ作ありありませませ
大规模なグラフのの合书,邻接行列には多重のが含まれ,通讯はスパース行。
邻接行列から多元重を作物
たとえば,次の无向グラフについて考えてます。
グラフは次の邻接行列表现できます。
Matlabでグラフを作用成するは,次をを力し。
a = [0 1 2;1 0 3;2 3 0];node_names = {'一种'那'B'那'C'};g =图(a,node_names)
G =图表与属性:边缘:[3×2表]节点:[3×1表]
关节图形
または关数dig
あるいは,关关邻接行为からて,邻接行列からグラフをを。あるいは,关联邻接
ををグラフて,既存のグラフに対して重みまたはのの邻接行。
グラフグラフ内の情情もうもうもうつの法はことことことするもうもうすることことことことことするするするもうもうもうすることことことこと
たとえば,前记と同じ无向グラフについててみます。
ここで,グラフをエッジリストで表现ます
エッジエッジリスト,グラフには3つの一意の,一种
那B.
那C
があり,それらそれらはリストさされいるいるエッジエッジによって结がさいることがが単わかりわかりわかりわかりわかります连结されれれてわかりが连结されれていがが连结されれ场场场场场场场场场场场场场エッジはエッジエッジリストリストに含まないないはエッジリストリストに含まないないないエッジエッジががます。
MATLABでは,エッジのリストは列によって“ソース”ノードと“ターゲット”ノードににられます。(ソースソースはエッジの向(ソースからターゲットへ)ががですが,无向グラフでは,ソースとターゲットのノード相互交换ですですですし。作者:郝建华易馆,作者:王莹莹,王莹,莅,莅,洽......
source_nodes = {'一种'那'一种'那'B'};target_nodes = {'B'那'C'那'C'};Edge_weights = [1 2 3];g = graph(source_nodes,target_nodes,Edge_weights);
图形
とdig
の両方で,エッジリストから単纯グラフまたは多重グラフを作成できます。グラフG
の作物成后,コマンドG.Edges
を使ってエッジ(およびそのプロパティ)ををできます。G.Edges
のエッジの顺序はソースノード(最初の列)によって,また2次的にはターゲットノード(2-番目の列)によって并べ替えられます。无向グラフの场合,インデックスが小さいほうのノードがソースノード,インデックスが大きいほうのノードがターゲットノードとしてリストされます。
图形
とdig
の基本的なな装はは行列基于てため,多重のの合出来に同等ののインデックスがかかりかかりかかり。空のグラフを作物しますてノードエッジエッジエッジ何何何度度とエッジを度度もしいくよりも,前述前述メソッドの1つを使使用して3要素のペア(源,目标,重量)
,图形
那dig
那加
那addnode的
那rmedge.
,およびrmnode.
のの数量を最ますします。
既定では,图形
またはdig
したがって,数码の“ノードノード”によってノードをいつでも参照ますます。
ノード名をもつグラフの场合(つまり,G.Nodes.
に変数名称
が含まれる场合),グラフ内のノードを,その名前を使用して参照することもできます。したがって,グラフ内の名前付きノードはそのノードインデックスまたはノード名のいずれかで参照できます。たとえば,ノード1
は'一种'
と呼ぶこともできます。
“ノードid”という用词に,ノードノードの识别におけるのの侧面が含まれていノード名のををををを指し指し指し指し名のををを指し指し
Matlabは便宜上,大多数のグラフ关键を际がにどちらのれいるかかかをてますかいますますますますい。,インデックスでノードを参照参照の応答応答を返します。
a = [0 1 1 0;1 0 1 0;1 1 0 1;0 0 1 0];g =图表(a,{'一种'那'B'那'C'那'D'});p = shortestpath(g,1,4)
P = 1 3 4
一方,名称でノードををするする,ほとんどほとんどグラフ关键词,(文章ベクトルの细胞配列またはまたはまたはまたはに格式さたた返しする返し返しますます返し返しますますますますますますます。
p1 = shortestpath(g,'一种'那'D')
P1 = 1×3单元阵列{ '一个'} { 'C'} { 'd'}
特定のノード名の数値によるノードIDを求めるにはFindNode.
をを使用しし。逆逆,特价の码のノードに対応する名を确认するにはg.nodes.name.
にインデックスを付けます。
图形
オブジェクトやdig
作者:郝晓晖,王莹,王莹,王莹,王莹,王莹,郧阳图形
オブジェクトやdig
オブジェクトの変更またはクエリに使用できる关数の一部を示します。
加 |
グラフに1つ以上のを追加加します |
rmedge. |
グラフから1つ以上のエッジを削除します |
addnode的 |
グラフに1つ以上のを追加加します |
rmnode. |
グラフから1つ以上のノードを削除します |
FindNode. |
グラフ内の特价のノードを検出し |
findedge |
グラフ内の特价のエッジを検出し |
numnodes. |
グラフ内のノード数を検出します |
numedges. |
グラフ内のエッジ数号検出します |
edgecount. |
指定したノード间のの数号 |
flipedge |
有向グラフのエッジの方向を反転します |
reordernodes |
グラフ内のノードの顺序を并べ替えます |
子图 |
部分グラフを抽出します |
一般的なグラフ変更のいくつか例は,既存既存グラフのノードノードとののを参照してください。