[英]How can I discard some unwanted rows from a matrix in Matlab?
我有一個矩陣
A= [1 2 3 4; 5 6 7 8; 9 10 11 12; 13 14 15 16; 17 18 19 20]
我想對此矩陣進行一些計算。 但是實際上我不需要所有行。 因此,在進行計算之前,我必須丟棄上述矩陣中的某些行。 丟棄3行后,我們將得到一個新矩陣。
B= [1 2 3 4; 9 10 11 12; 17 18 19 20];
現在,我必須使用B進行其他一些計算。 那么如何在Matlab中從矩陣中丟棄一些不需要的行呢? 任何建議都會有所幫助。 謝謝。
嘗試以下操作:(當要保留的行數較少時使用)
%// Input A
A = [1 2 3 4; 5 6 7 8; 9 10 11 12; 13 14 15 16; 17 18 19 20];
%// Rows (1-3,5) you wanted to keep
B = A([1:3, 5],:)
輸出:
B =
1 2 3 4
5 6 7 8
9 10 11 12
17 18 19 20
替代方法:(當要丟棄的行數較少時使用)
%// rows 2 and 3 discarded
A([2,3],:) = [];
輸出:
>> A
A =
1 2 3 4
13 14 15 16
17 18 19 20
注意:此處(在替代方法中)輸出替換了原始A
因此,如果以后需要它,則需要備份A
您可以在放棄對備份輸入矩陣的操作之前執行此操作
%// Input A is backed up in B
B = A;
您可以選擇要保留的行的索引:
A([1,3,5],:)
ans =
1 2 3 4
9 10 11 12
17 18 19 20
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.