Matrix SUB2查找矩阵的所有x和y坐标

Matrix SUB2查找矩阵的所有x和y坐标,matrix,matlab,Matrix,Matlab,我是一个matlab新手,我有一个简单的问题困扰着我 我想知道是否有可能将矩阵的所有下标都转换成线性索引 当使用SUB2IND时,我必须通知dex和y坐标,但我想同时转换所有坐标 我可以使用函数FIND返回两个向量x和y,这样我可以成功地使用SUB2IND,但是FIND只返回非零元素的x和y坐标 有没有一个聪明的方法可以做到这一点 访问矩阵元素时,无需转换,只需使用单个数字\1-D向量即可。例如,给定一个5x5矩阵M M=magic(5); 您可以使用M(5,5)或使用M(25)访问最后一个元

我是一个matlab新手,我有一个简单的问题困扰着我

我想知道是否有可能将矩阵的所有下标都转换成线性索引

当使用SUB2IND时,我必须通知dex和y坐标,但我想同时转换所有坐标

我可以使用函数FIND返回两个向量x和y,这样我可以成功地使用SUB2IND,但是FIND只返回非零元素的x和y坐标

有没有一个聪明的方法可以做到这一点

访问矩阵元素时,无需转换,只需使用单个数字\1-D向量即可。例如,给定一个5x5矩阵
M

M=magic(5);
您可以使用
M(5,5)
或使用
M(25)
访问最后一个元素


类似地,
M(21:25)
将为您提供
M(1,5)
M(2,5)
,…
M(5,5)
,如果您希望数组
A
的所有元素都作为线性下标,则可以通过以下方式简单实现:

IND = 1:numel(A);
这适用于任何大小或维度的数组


更多信息,包括线性索引和逻辑索引之间的区别。当您使用
find
时,实际上是在使用逻辑索引来获得线性索引。
find
函数可用于通过
IND=find(A==A)可靠地获得所有线性指数,但这是非常低效的。

@horchler它在哪里说“逻辑下标”?@EitanT:问题是指线性索引-这就是重点。natan后来完全重写了他的答案,最初使用的是
ones
来获得一组逻辑索引。@horchler啊,没有看到。事实上,我一写答案就改变了这一点。。。这里的人的反应时间是惊人的…我已经删除了这个评论,因为它不再有意义或是有帮助。