按行八度访问矩阵的元素
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
实际上给出:
所以现在按照列的主要顺序,第一、第二和第三个元素分别是 -1
、1
和 -2
,依此类推。
我做了一个这样的矩阵:
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
实际上给出:
所以现在按照列的主要顺序,第一、第二和第三个元素分别是 -1
、1
和 -2
,依此类推。