我想使用存储在.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'.
我尝试的任何类型。有谁知道如何做到这一点?
答案 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
功能。