按行八度访问矩阵的元素

Octave access elements of matrix by lines

我做了一个这样的矩阵:

A = randi([-10, 10], 3, 3);

哪个可以有这样的结果:

-1    1   -2
2    2    8
5    3   10

我怎样才能将它转换成 A(1) = -1, A(2) = 1 和 A(3) = -2 (访问第 1、2、3 项的第一行)

目前,A(1) = -1,A(2) = 2 和 A(3) = 5(列)

注意:不仅是第一行,我还想访问按行排序的所有元素

谢谢!

在 Octave 和 MATLAB 中,数据按列优先顺序存储,这意味着您的矩阵、索引和元素如下所示:

您需要使用原始矩阵的 transpose 才能按照您所说的方式访问它们。在 Octave 中,您可以使用 A.'(1)A.'(2)A.'(3) 等直接访问它们。在 MATLAB 中,您不能像 Octave 那样访问它们。所以将它们保存在一个新的矩阵中或者替换掉之前矩阵的内容。即 A = A.' 然后您可以使用 A(1)A(2)A(3) 等来访问所需的元素。

A.'transpose(A) 对于给定的 A 实际上给出:

所以现在按照列的主要顺序,第一、第二和第三个元素分别是 -11-2,依此类推。