我正在尝试访问 matlab 中数组的某些元素。考虑以下场景:
a = [1 2 3;4 5 6;7 8 9]
b = [1 2;2 1]
我想从 a 访问具有索引 (1,2) 和 (2,1) 的元素。我尝试使用 a(b) 等。但我尝试的方法都没有奏效。
如何在不使用循环的情况下在 matlab 中完成?
如果您可以为matlab中的此类基础知识推荐一些好书,那也会很有帮助。
我正在尝试访问 matlab 中数组的某些元素。考虑以下场景:
a = [1 2 3;4 5 6;7 8 9]
b = [1 2;2 1]
我想从 a 访问具有索引 (1,2) 和 (2,1) 的元素。我尝试使用 a(b) 等。但我尝试的方法都没有奏效。
如何在不使用循环的情况下在 matlab 中完成?
如果您可以为matlab中的此类基础知识推荐一些好书,那也会很有帮助。
Matlab 允许您访问具有线性索引的矩阵,该索引扫描矩阵的所有列。因此,在您的情况下(使用 3x3)a(2,1)=a(2)
和a(1,2)=a(4)
. @HebeleHododo 提供的答案采用您的行和列索引并将它们转换为矩阵的线性索引a
。请记住,如果要索引不同大小的矩阵,则需要为其设置不同的线性索引。
此外,在http://www.mathworks.com/help/matlab/index.html#language-fundamentals有很多在线信息可帮助您学习 matlab,或者您可以doc help
在命令窗口中输入