有向グラフのエッジに4つの異なるラベルを付ける必要があるので、それをN * N * 4配列に格納します。 (私の実際の3次元である4と固執しましょう。)Nはグラフのノードの数です。すなわちエントリM(i、j、1)については、ノードiからノードjへのエッジを第1の種類のラベルでラベル付けする。ここで遊ぶおもちゃの例です。ND配列から非ゼロ要素のインデックスを抽出する方法は?
M(2,1,1)=1
は、ノード2からノード1へのエッジにラベルテキスト 'first label'を追加することを示します。M(3,2,2)=1
は、ノード3からノード2へのエッジにラベルテキスト 'second label'を追加することを示します。 3D配列はラベルの一種です。
M(:,:,1)= 0 0 0 M(:,:,2)= 0 0 1
1 0 1 0 0 0
0 0 0 0 1 0
しかし、私はs
とlabeledge(h,s,t,Labels)
でt
にN * N * 4配列M
を変換する方法を知りません。 s
はソースノードのインデックスであり、t
はターゲットノードのインデックスです。
理想的には、これはプロットである:
s = [2 2 1 3];
t = [1 3 3 2];
G = digraph(s,t);
figure;
h = plot(G);
重要な問題は、私はこのようなMから、S1、T1、S2およびT2を得ることができる方法である:FYI
labeledge(h,[2 2], [1 3], 'first label');
labeledge(h,[1 3], [3 2], 'second label');
:M(:,:,1)
M(:,:,2)
には、同じ非ゼロエントリがありません。
は[あなたが100な行 'labeledge(時間、書くことになり、それが100であると言います2 2]、[1 3]、 'first label');それについてあなたの計画は何ですか? –
@Sardarあなたのアドバイスありがとう!編集 –
待って、 'M'から隣接行列' adj'を取得したいですか? –