错误“索引超出Matrix尺寸”

时间:2010-05-05 20:22:42

标签: matlab visualization

我正在尝试读取包含62列和2000行的excel 2003文件,然后从2个数据类型的2000模式中绘制2d树形图作为我在matlab中的绘图。当我运行脚本时,它给了我上面的错误。我不知道为什么。任何人都知道我为什么会遇到上述错误?

我的数据在这里: http://rapidshare.com/files/383549074/data.xls

如果您想使用数据进行测试,请删除2001专栏。

我的代码在这里:

% Script file: cluster_2d_data.m

d=2000;  n1=22;  n2=40;  N=62

Data=xlsread('data.xls','A1:BJ2000');

X=Data';

R=1:2000;

C=1:2;

clustergram(X,'Pdist','euclidean','Linkage','complete','Dimension',2,...

'ROWLABELS',R,'COLUMNLABELS',C,'Dendrogram',{'color',5})

1 个答案:

答案 0 :(得分:1)

xlsread语句后,您应该获得2000x62 double矩阵Data。然后转置它并分配到X,因此X62x2000矩阵。在属性clustergramRowLabels的{​​{1}}向量中应该与ColumnLabels的大小相匹配,但是将{2000}长度向量作为Data传递和2长度向量为RowLabels。这可能会导致错误。

您使用的是哪个版本的MATLAB?它看起来很旧,因为你有ColumnLabels作为函数,但在更高版本的Bioinformatic Toolbox中,它被重新设计为对象。在R2010a中,您的代码将生成

  

clustergram尺寸与数据”

不匹配

但我不确定旧版本会是什么。

尝试删除ROWLABELSRowLabels以及其他属性。你还得错误吗?