Matlab 使用数组元素作为索引

Matlab 使用数组元素作为索引,matlab,matrix,Matlab,Matrix,假设我们在矩阵中有以下数组声明 a=[1 2 3;4 5 6;7 8 9] 在matlab中,它看起来像通常的矩阵形式 a= 我对下面的代码如何工作很感兴趣 [a(a)] 这里给出的当然是一本书的答案 ans = 1 2 3 1 4 7 4 5 6 2 5 8 7 8 9 3 6 9 正如我所理解的,第一个括号中的a只是显示原始的a,或者从1到9的数字,因为第二种情况是使用数组元素作为数组的索引,所以它意味着例如数字 1 2 3 4 5 6 7 8

假设我们在矩阵中有以下数组声明

a=[1 2 3;4 5 6;7 8 9]
在matlab中,它看起来像通常的矩阵形式

a=

我对下面的代码如何工作很感兴趣

[a(a)]

这里给出的当然是一本书的答案

 ans =
    1 2 3 1 4 7
    4 5 6 2 5 8
    7 8 9 3 6 9
正如我所理解的,第一个括号中的a只是显示原始的a,或者从1到9的数字,因为第二种情况是使用数组元素作为数组的索引,所以它意味着例如数字

1   2  3
4   5  6
7   8   9 

这些是数组a的索引,第一个索引
a[1]=1,a{2]=2,a[3]=3….a[9]=9
这是对的吗?但为什么它以转置方式打印?不应该像原始矩阵?非常感谢。

在这种情况下,行在列之前被遍历,因此
a[2]=4
a[3]=7
a[4]=2

那么我如何区分何时第一次遍历行和何时遍历列?这是Matlab中的规则。在二维矩阵中只使用一个索引时,它将始终首先遍历行。
1   2  3
4   5  6
7   8   9