[英]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.