在GNU Octave中拆分矩阵和向量以获取未提取的行

时间:2013-01-14 17:45:43

标签: vector matrix octave

在GNU Octave中,我可以使用以下代码获取X的每第5行。

如何获取另一个矩阵X_2,其由X中尚未提取或遗留的行组成?

X = [1;2;3;4;5;6;7;8;9;10;11]
ix = ( 5 : 5 : size(X,1) )
X_1 = X( ix , : )

我希望X_2拥有除了5和10之外的所有内容。这可能吗?

1 个答案:

答案 0 :(得分:3)

Gnu Octave,获取矩阵/向量的每第n行:

X = [1;2;3;4;5;6;7;8;9;10;11]
ix = ( 5 : 5 : size(X,1) )

打印:

ix =
    5   10

现在,从原始矩阵中删除行,这将为您提供未提取的行列表。

示例,从X:

中删除第5行和第10行
X([5,10],:) = []

打印X,丢失5和10:

X =

    1
    2
    3
    4
    6
    7
    8
    9
   11

这证明了概念。使用您的ix变量在指定的列上执行此操作:

X(ix,:) = []

这将使X成为尚未提取的行的列表。如果您不需要打扰原件,请复制X并将其放入另一个变量中,然后再执行此操作。然后分配X_2 = X;

<强>来源:

Remove a column from a matrix in GNU Octave