首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MATLAB中数组元素的存取

MATLAB中数组元素的存取
EN

Stack Overflow用户
提问于 2013-01-24 23:35:26
回答 2查看 2.5K关注 0票数 1

我正在尝试在matlab中访问数组的一些元素。考虑下面的场景:

代码语言:javascript
复制
a = [1 2 3;4 5 6;7 8 9]

b = [1 2;2 1]

我想从a访问索引为(1,2)和(2,1)的元素。我尝试使用a(b)等,但我尝试的方法都不起作用。

在不使用循环的情况下,如何在matlab中做到这一点?

此外,如果你能推荐一些关于matlab基础知识的好书,那将是很有帮助的。

EN

回答 2

Stack Overflow用户

发布于 2013-01-24 23:46:53

首先,使用sub2ind将下标转换为索引

代码语言:javascript
复制
dim1sub = b(:,1);
dim2sub = b(:,2);

ind = sub2ind(size(a), dim1sub, dim2sub)

在有了索引之后

代码语言:javascript
复制
a(ind)

将为您提供:

代码语言:javascript
复制
ans =

     2
     4

有关矩阵索引的详细信息,请参阅here

票数 1
EN

Stack Overflow用户

发布于 2013-01-25 00:42:22

Matlab允许您访问具有线性索引的矩阵,该索引扫描矩阵的所有列。因此,在您的示例中(使用3x3) a(2,1)=a(2)a(1,2)=a(4)。@HebeleHododo提供的答案采用行和列索引,并将它们转换为矩阵a的线性索引。只要记住,如果你想索引一个不同大小的矩阵,你将需要一个不同的线性索引。

此外,在http://www.mathworks.com/help/matlab/index.html#language-fundamentals或您可以在命令窗口中键入doc help,可以在线获得许多信息来帮助学习matlab

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14505019

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档