![](/img/trans.png)
[英]Octave/MATLAB: Using a matrix to access elements in a matrix without loops
[英]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中,数据按列优先顺序存储,这意味着对于您的矩阵,索引和元素如下所示:
您需要对原始矩阵进行转置以按照您所说的方式访问它们。 在Octave中,您可以使用A.'(1)
, A.'(2)
, A.'(3)
等直接访问它们。在MATLAB中,您无法像Octave那样访问它们。 因此,请将它们保存在新矩阵中或替换先前矩阵的内容。 即A = A.'
然后您可以使用A(1)
, A(2)
, A(3)
等访问所需的元素。
A.'
或给定A
transpose(A)
实际上给出:
所以,现在按照列主顺序,第一,第二和第三元件是-1
, 1
和-2
分别等。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.