簡體   English   中英

如何在Matlab中從矩陣中丟棄一些不需要的行?

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM