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