如何在.mat文件中使用matlab创建图形?

时间:2015-09-29 04:10:37

标签: matlab matrix graph graph-theory mat-file

我想使用存储在.mat文件中的信息在MATLAB中表示graph。 .mat文件是NxN方阵。目标是能够使用表示节点之间边缘的矩阵收集关于图形的信息(节点数,平均度,连通分量等)。

我知道Graph :: createGraphFromMatrix存在,但在MATLAB中不支持。

我尝试了

的变体
G = graph(double('sparse.mat'));
D = degree(G);

然后我得到像

这样的错误
Undefined function 'graph' for input arguments of type 'double'.

我尝试的任何类型。有谁知道如何做到这一点?

2 个答案:

答案 0 :(得分:0)

您需要首先加载文件然后使用该变量

%Considering sparse.mat is in same directory as script    
load sparse %.mat is not not needed
%This will load the variables from graph lets say it had variable as data stored in it 
G = graph(double(data));
D=degree(G)

我认为图表不是绘制函数的函数,可以访问http://in.mathworks.com/help/matlab/ref/plot.html

答案 1 :(得分:0)

首先,您没有正确地将数据加载到MATLAB中。您需要首先使用load函数来加载数据。然后,您可以在加载后使用MATLAB中的数据。它非常简单:

load sparse.mat

但是,我不知道要调用的图变量是什么,因此您必须在这方面查看您的工作区。

现在有了你的另一个问题,graph是一个从R2015b开始引入的功能。您收到该错误是因为您的MATLAB版本早于此版本,因此您的MATLAB版本不提供graph。此外,您链接我们的页面是MuPAD界面的一部分。您无法在正常的MATLAB设置中运行它......正如您可以从页面上的警告中看到的那样。您真正想要的页面就是这个页面:http://www.mathworks.com/help/matlab/ref/graph.html?searchHighlight=graph

基本上,您目前无法使用graph。一种选择是升级您的MATLAB版本。如果这不是一个选项,则可以使用其他第三方MATLAB库。可供下载的最佳工具箱之一直接来自MathWorks FileExchange网站 - 特别是grTheory工具箱:http://www.mathworks.com/matlabcentral/fileexchange/4266-grtheory-graph-theory-toolbox。您正在寻找的功能是grPlot功能。