我正在尝试读取包含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})
答案 0 :(得分:1)
在xlsread
语句后,您应该获得2000x62 double
矩阵Data
。然后转置它并分配到X
,因此X
是62x2000
矩阵。在属性clustergram
和RowLabels
的{{1}}向量中应该与ColumnLabels
的大小相匹配,但是将{2000}长度向量作为Data
传递和2长度向量为RowLabels
。这可能会导致错误。
您使用的是哪个版本的MATLAB?它看起来很旧,因为你有ColumnLabels
作为函数,但在更高版本的Bioinformatic Toolbox中,它被重新设计为对象。在R2010a中,您的代码将生成
“
不匹配clustergram
尺寸与数据”
但我不确定旧版本会是什么。
尝试删除ROWLABELS
和RowLabels
以及其他属性。你还得错误吗?