在Matlab中删除矩阵中两个边界之间的列?

时间:2015-07-15 22:26:45

标签: arrays matlab matrix

我将基于脚本生成大型矩阵,而这些矩阵有时可能会变得非常大。我想知道是否有可能指定两个边界b1和b2,并删除这两个边界之外的所有列。

所以说我有

 0.1  0.2  0.3   0.24  0.11  0.09  0.12  0.2
 0.7  0.3  0.03  0.43  0.15  0.19  0.99  0.04
 0.9  0.2  0.32  0.14  0.15  0.01  0.91  0.12

我想保留第3和第5列之间的所有内容,我需要

  0.3   0.24  0.11
  0.03  0.43  0.15
  0.32  0.14  0.15

1 个答案:

答案 0 :(得分:2)

这就是冒号(:)运算符的用途(参见documentation)。您可以通过指定冒号两侧的边界来选择特定维度的索引范围。在您的情况下,如果您想要b1b2之间的列,则可以执行

subMat = mat(:, b1:b2);

如果您没有指定任何边界,那么它将选择该维度上的所有内容。因此,直观地说,这将选择b1b2

之间的所有行和所有列