Matlab集群工具箱

时间:2015-04-30 13:46:35

标签: matlab cluster-analysis

我刚刚下载并安装了matlab集群工具箱(http://www.mathworks.com/matlabcentral/fileexchange/7486-clustering-toolbox) 但是,当我运行摩托罗拉聚类示例的第一个演示文件时,我收到以下错误。

Undefined function 'isnan' for input arguments of type 'struct'.

Error in internal.stats.removenan (line 54) wasnan = wasnan | any(isnan(y),2);

Error in statremovenan (line 7) [badin,wasnan,varargout{1:nargout-2}] = internal.stats.removenan(varargin{:});

Error in kmeans (line 141) [~,wasnan,X] = statremovenan(X);

Error in Kmeanscall (line 21) result=kmeans(data,param);

有没有人使用过这个工具箱?如果是这样,我该如何处理这个问题?

1 个答案:

答案 0 :(得分:3)

问题与名称冲突有关。群集工具箱具有Kmeans功能。但是,MATLAB统计工具箱有自己的kmeans函数。可能只是聚类工具箱目录在路径中比MATLAB内置的低。因此,首先要确保集群工具箱目录位于路径的顶部,或者至少高于内置的MATLAB目录。

如果这不起作用,您可能遇到了MATLAB中主要向后兼容性中断的问题。回到编写该工具箱时,MATLAB名称不区分大小写,因此Kmeanskmeans被认为是相同的。因此,如果您将聚类工具箱放在路径的顶部,则首选其版本。

然而,从那时起,MATLAB已经变为区分大小写(在某些情况下,取决于平台)。这意味着,在您的情况下,它更喜欢内置kmeans函数而不是工具箱提供的Kmeans函数。这些功能不同,导致演示无法正常工作。

因此,如果路径更改无法解决问题,那么您需要做的就是浏览工具箱中的所有代码(包括函数和演示),并确保所有函数都使用正确的大小写。