【问题标题】:Splitting matrices and vectors in GNU Octave to get rows not extracted在 GNU Octave 中拆分矩阵和向量以获取未提取的行
【发布时间】:2012-12-28 17:23:46
【问题描述】:

在 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 之外的所有内容。这可能吗?

【问题讨论】:

  • X 可以是矩阵,例如500 行 50 列,或单列 500 行向量。

标签: vector matrix octave


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2012-02-23
    • 2013-05-17
    • 1970-01-01
    • 2013-04-07
    • 1970-01-01
    • 2016-06-13
    • 2021-03-20
    • 2013-04-13
    • 1970-01-01
    相关资源
    最近更新 更多