2014-10-29 85 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