正方バイナリ行列をグラフに変換できることは知っています。たとえば、以下の matlab マトリックスで gplot を使用すると、グラフに変換できます。
0 1 1
1 0 0
0 1 0
グラフで表すことができます
A->B, A->C, B->A,C->B
しかし、次のような長方形の行列を変換する方法があるのだろうか
0 1
1 0
0 1
matlabまたは他の言語でグラフに変換しますか?
また、私の行と列は異なる変数です。
正方バイナリ行列をグラフに変換できることは知っています。たとえば、以下の matlab マトリックスで gplot を使用すると、グラフに変換できます。
0 1 1
1 0 0
0 1 0
グラフで表すことができます
A->B, A->C, B->A,C->B
しかし、次のような長方形の行列を変換する方法があるのだろうか
0 1
1 0
0 1
matlabまたは他の言語でグラフに変換しますか?
また、私の行と列は異なる変数です。
@Ante が提案したように、本当に Bipartite graphに興味がある場合は、gplot
ここでも賢く利用できます。
最初に、長方形の行列にゼロ列を追加して、正方形の隣接行列を作成します。
A = [0 1; 1 0; 0 1];
Asq = eye(sum(size(A)));
Asq(1:size(A, 1), end - size(A, 2) + 1:end) = A;
行の頂点が左側にあり、列の頂点が右側にあると決めましょう。頂点の座標の行列を作成します。
xy1 = [ones(size(A, 1), 1), (1:size(A, 1))']; % # Row vertices
xy2 = [2 * ones(size(A, 2), 1), (1:size(A, 2))']; % # Column vertices
グラフをプロットします。
gplot(Asq, [xy1; xy2], '*-')
axis([0, 3, 0, size(A, 1) + 1])
これはあなたの例のために得られるべきものです:
行と列のノードが異なる場合は、2部グラフの隣接行列です。