【问题标题】:How to create a graph in matlab from a .mat file?如何从 .mat 文件在 matlab 中创建图形?
【发布时间】:2015-12-26 10:29:09
【问题描述】:

我想使用存储在 .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'.

无论我尝试什么类型。有谁知道如何做到这一点?

【问题讨论】:

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


    【解决方案1】:

    首先,您没有将数据正确加载到 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 函数。

    【讨论】:

    • @jblakeley - 我很高兴 :) 如果您不再需要帮助,请考虑接受我的回答。这可以通过单击我的帖子顶部向上和向下投票箭头下方左侧的复选标记图标来完成。祝你好运!
    【解决方案2】:

    你需要先加载文件然后使用那个变量

    %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

    【讨论】:

    • 这不是正确的答案。请参阅我的答案以获取更多信息。
    • 谢谢 我不知道这个功能。
    • 您对负载的看法是正确的。抱歉没有仔细阅读。
    猜你喜欢
    • 2015-05-23
    • 1970-01-01
    • 2016-09-19
    • 1970-01-01
    • 1970-01-01
    • 2020-01-15
    • 1970-01-01
    • 2011-08-25
    • 1970-01-01
    相关资源
    最近更新 更多