Matlab “错误”;索引超出了矩阵维度”;
我试图读取一个excel 2003文件,该文件由62列和2000行组成,然后从2类数据的2000个模式中绘制二维树状图,作为我在matlab中的绘图。当我运行脚本时,它给出了上面的错误。我不知道为什么。有人知道我为什么会犯上述错误吗 我的数据如下: 如果要使用数据进行测试,请删除2001列 我的代码在这里:Matlab “错误”;索引超出了矩阵维度”;,matlab,visualization,Matlab,Visualization,我试图读取一个excel 2003文件,该文件由62列和2000行组成,然后从2类数据的2000个模式中绘制二维树状图,作为我在matlab中的绘图。当我运行脚本时,它给出了上面的错误。我不知道为什么。有人知道我为什么会犯上述错误吗 我的数据如下: 如果要使用数据进行测试,请删除2001列 我的代码在这里: % Script file: cluster_2d_data.m d=2000; n1=22; n2=40; N=62 Data=xlsread('data.xls','A1:B
% 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})
在
xlsread
语句之后,您应该得到一个2000x62双精度
矩阵数据
。然后将其转置并分配给X
,因此X
是62x2000
矩阵。在clustergram
中,属性行标签
和列标签
的向量应该与数据
的大小相匹配,但传递2000长度的向量作为行标签
,传递2长度的向量作为列标签
。这可能会导致错误
您使用的是什么版本的MATLAB?它看起来很旧,因为你有clustergram
作为函数,但在以后版本的生物信息工具箱中,它被重新设计为对象。在R2010a中,您的代码将生成
“行标签
大小与数据不匹配”
但我不确定旧版本会是什么
尝试删除
行标签
和列标签
,以及其他属性。您仍然收到错误吗?在xlsread
语句之后,您应该得到一个2000x62双精度
矩阵数据
。然后将其转置并分配给X
,因此X
是62x2000
矩阵。在clustergram
中,属性行标签
和列标签
的向量应该与数据
的大小相匹配,但传递2000长度的向量作为行标签
,传递2长度的向量作为列标签
。这可能会导致错误
您使用的是什么版本的MATLAB?它看起来很旧,因为你有clustergram
作为函数,但在以后版本的生物信息工具箱中,它被重新设计为对象。在R2010a中,您的代码将生成
“行标签
大小与数据不匹配”
但我不确定旧版本会是什么
尝试删除
行标签
和列标签
,以及其他属性。您仍然收到错误吗?错误发生在哪一行?你试过调试它吗?包含此代码的行:clustergram(X,'Pdist','euclidean','Linkage','complete','Dimension',2,'ROWLABELS',R,'COLUMNLABELS',C,'Dendrogram',{'color',5})代码中的最后一行当你得到错误时,键入“whos”查看变量的大小。这将有助于调试。是的,我尝试过调试它,我认为错误在于一个名为“clustergram。如果错误在clustergram中,您是否尝试过编辑clustergram
——许多Matlab函数都是用Matlab编写的,这可能会揭示问题的根源。错误发生在哪一行?你试过调试它吗?包含此代码的行:clustergram(X,'Pdist','euclidean','Linkage','complete','Dimension',2,'ROWLABELS',R,'COLUMNLABELS',C,'Dendrogram',{'color',5})代码中的最后一行当你得到错误时,键入“whos”查看变量的大小。这将有助于调试。是的,我尝试过调试它,我认为错误在于一个名为“clustergram.如果错误在clustergram中,您是否尝试过编辑clustergram
——许多Matlab函数都是用Matlab编写的,这可能会揭示问题的根源。我还对树状图
的属性值表示怀疑。我已经删除了行标签和列标签,错误消失了。”。谢谢你的建议。但是为什么我不能有这些标签呢?有标签和没有标签会有什么区别吗?谢谢,您当然可以拥有这些标签,但它们的大小应该与数据矩阵中的行数和列数相匹配。尝试R=1:62;C=1:2000
(虽然与默认标签相同)。我还对树状图
的属性值表示怀疑。我已删除行标签和列标签,错误消失。谢谢你的建议。但是为什么我不能有这些标签呢?有标签和没有标签会有什么区别吗?谢谢,您当然可以拥有这些标签,但它们的大小应该与数据矩阵中的行数和列数相匹配。尝试R=1:62;C=1:2000代码>(尽管它与默认标签相同)。