[英]How to get selective rows from a matrix and form a new matrix in octave?
假設我有一個八度的矩陣
A = [2 3 5;
5 6 7;
8 9 10;
1 2 5]
現在,我只想獲取最后一列等於5的那些行。我想知道是否有內置函數可以這樣做,因為現在正在這樣做。
collection = [];
for i = 1 : size(matrix,1),
if(matrix(i,3) == 5),
collection = [collection; matrix(i,:)];
end
end
如果有用於單列矩陣的方法,我會很好。
您可以使用最后一列上的邏輯索引進行操作,例如
A(:,end) == 5
返回一個邏輯矩陣,該邏輯矩陣對所需的行為true,否則為false。 我們可以像這樣選擇行
ind = A(:,end) == 5;
A(ind,:);
您甚至可以內聯:
A(A(:,end)==5,:)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.