Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MATLAB genlouvain函数,缺少'的组处理程序;char';输入?_Matlab - Fatal编程技术网

MATLAB genlouvain函数,缺少'的组处理程序;char';输入?

MATLAB genlouvain函数,缺少'的组处理程序;char';输入?,matlab,Matlab,我试图使用genlouvain函数在矩阵中查找社区结构。我在说一个错误 类型为“char”的输入参数的未定义函数“group_handler” genlouvain中的错误(第272行) 组处理程序(“分配”,y); 不知道问题出在哪里。我的工作区中没有任何字符,我给函数的矩阵是对称的……我想知道我是否需要在某个地方定义一个字符变量来给它另一个输入?有没有其他人使用过genlouvain函数,并且在字符输入参数方面有问题?genlouvain不是一个原生的MATLAB函数,我不得不用谷歌搜索它。

我试图使用genlouvain函数在矩阵中查找社区结构。我在说一个错误 类型为“char”的输入参数的未定义函数“group_handler”

genlouvain中的错误(第272行) 组处理程序(“分配”,y);
不知道问题出在哪里。我的工作区中没有任何字符,我给函数的矩阵是对称的……我想知道我是否需要在某个地方定义一个字符变量来给它另一个输入?有没有其他人使用过genlouvain函数,并且在字符输入参数方面有问题?

genlouvain
不是一个原生的MATLAB函数,我不得不用谷歌搜索它。我在这里找到的:

如果您查看自述文件,它会说代码是用MEX编写的,并且是为64位Mac OS、Windows和Linux预编译的

您的操作系统可能不是这些,自述文件说,如果您的操作系统不是64位的,那么在运行代码之前,您需要编译MEX代码。具体来说,您的操作系统没有预编译的函数,
group\u handler
是编译代码后生成的函数(请检查.zip文件中的
private
文件夹)。因为没有特定于您的操作系统的
group\u处理程序
函数,MATLAB会抱怨,因为它找不到该文件

要为您的操作系统生成正确的编译函数以便您可以运行此代码,请进入
MEX\u SRC
目录并运行
compile\u MEX.m
脚本


但是,您需要确保安装了
mex
。因此,在运行
compile\u mex.m
之前,在命令提示符中键入
mex-setup
,并确保选择适合您的操作系统的编译器。在Windows,这很可能是Visual C++编译器,Mac OS将有自己的代码< >代码> GCC < /> >(实际上,代码> CLAN< /COD>),Linux很可能是<>代码> GCC 。 完成此操作后,您的函数现在应该可以工作了


FWIW,如果您真的阅读了自述文件,或者访问了网站并查看了常见问题解答,您可能已经从那里得到了答案。

我为这个问题提供了第二个答案,因为尽管我运行的是64位MATLAB,但我得到了相同的错误:

genlouvain.m
脚本有几个依赖项,保存为C代码,而不是也应该下载的.m脚本(例如
group\u handler
);确保它们都在运行
genlouvain
脚本的同一文件夹中