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

How to create a graph in matlab from a .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'.

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

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

%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)

我认为 graph 不是 plot 函数,有关 plotting 函数的信息请访问 http://in.mathworks.com/help/matlab/ref/plot.html

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

load sparse.mat

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

现在还有你的另一个问题,graph is a function that was introduced as of R2015b. You are getting that error because your version of MATLAB is older than this and so graph is not available with your distribution of MATLAB. In addition, the page you linked us to is part of the MuPAD interface. You can't run that in a normal MATLAB setting... as you can see from the warning on the page. The page you really want is this one: 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 函数。