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 “错误”;索引超出了矩阵维度”;_Matlab_Visualization - Fatal编程技术网

Matlab “错误”;索引超出了矩阵维度”;

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

我试图读取一个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: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(尽管它与默认标签相同)。