2012-12-11 122 views
0

我知道,正方形二进制矩阵可以转换为图形。例如,在下面的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或任何其他语言的图形?

另外我的行和列是不同的变量。

+1

又是什么那矩形矩阵的意思是? –

+0

矩形矩阵意味着行数和列数不同。这个问题是它不会完全是图的邻接矩阵。 – discipulus

+0

我没有询问“矩形”这个词。我问了它代表什么。当行数不等于列数时,对于邻接矩阵有什么意义? –

回答

1

如果你在一个Bipartite graph确实有兴趣,喜欢@Ante曾建议,你可以巧妙地利用gplot这里还有:

  1. 首先用填充您的长方形矩阵创建一个正方形的邻接矩阵零列:

    A = [0 1; 1 0; 0 1]; 
    Asq = eye(sum(size(A))); 
    Asq(1:size(A, 1), end - size(A, 2) + 1:end) = A; 
    
  2. 让我们决定行的顶点将在左侧和列的顶点将在右侧。现在创建坐标的矩阵顶点:

    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 
    
  3. 绘制图表:

    gplot(Asq, [xy1; xy2], '*-') 
    axis([0, 3, 0, size(A, 1) + 1]) 
    

这是你应该得到什么,你的例子: enter image description here