2014-10-29 44 views
0

道歉,如果這是一個相對基本的問題 - 我對編程還有點新意,特別是Matlab。我有一個4940x4940矩陣,由19026x26矩陣組成。在每個這些較小的矩陣中,我想刪除每個8th行和列(因此刪除整個矩陣的行和列8,34,60 ...)。刪除從第8行開始的矩陣的第26行

最簡單的方法是什麼?

謝謝!

+0

雖然你有一些答案,我想澄清一些事情。你說你有更小的26 * 26矩陣。那麼你是否想要刪除這些較小矩陣的每第8行,或整個矩陣中的每第8行?這將有所不同,在第一種情況下,您將刪除第一個較小矩陣中的行8,16,24,再次刪除第二個較小矩陣中的第8,16,24行(這將是第34,42,48行中的行號)整個矩陣)。 – 2014-10-29 20:47:43

回答

4

您的標題與您的問題的主體相沖突,但我會回答兩者。通過使用帶有步長值的冒號運算符,您可以定位要刪除的特定行。如果要刪除矩陣x的每第15行,請使用以下代碼。

x(15:15:end,:) = []; 

一個類似的過程可用於在26間隔刪除行和列處開始的行或列8.

x(8:26:end,:) = []; 
x(:,8:26:end) = []; 

我建議在MathWorks閱讀了關於冒號運算符。

+1

+1,看起來答案是一樣的!我會刪除我的,祝你好運。 @Parag S. Chandakkar建議您也可以準備一個完整的答案。 – Rashid 2014-10-29 20:54:18