错误”索引超过矩阵维度”

发布于 2024-08-31 03:27:41 字数 626 浏览 7 评论 0原文

我正在尝试读取一个由 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})

I am trying to read an excel 2003 file which consist of 62 columns and 2000 rows and then draw 2d dendrogram from 2000 pattern of 2 categories of a data as my plot in matlab. When I run the script, it gives me the above error. I don't know why. Anybody has any idea why I have the above error?

My data is here:
http://rapidshare.com/files/383549074/data.xls

Please delete the 2001 column if you want to use the data for testing.

and my code is here:

% 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})

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

贱贱哒 2024-09-07 03:27:41

xlsread 语句之后,您应该得到一个 2000x62 double 矩阵 Data。然后将其转置并分配给 X,因此 X62x2000 矩阵。在 clustergram 中,属性 RowLabelsColumnLabels 的向量应该与您的 Data 的大小相匹配,但是您将 2000 长度的向量作为 RowLabels 传递,将 2 长度的向量作为 ColumnLabels 传递。这可能会导致错误。

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

ROWLABELS 大小与数据不匹配”

但我不确定旧版本中的情况。

尝试删除 RowLabelsColumnLabels 以及其他属性。您仍然收到错误吗?

After the xlsread statement you should get a 2000x62 double matrix Data. Then you transpose it and assign to X, so X is 62x2000 matrix. In the clustergram vectors for the properties RowLabels and ColumnLabels are supposed to match the size of your Data, but you pass a 2000-length vector as RowLabels and 2-length vector as ColumnLabels. This might cause the error.

What version of MATLAB are you using? It looks like pretty old, since you have clustergram as function, but in later versions of Bioinformatic Toolbox it was redesigned as object. In R2010a your code would generate

"ROWLABELS size does not match data"

but I'm not sure what it would be in old version.

Try to remove RowLabels and ColumnLabels, as well as other properties. Do you still get the error?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文