【问题标题】:matlab: deleting rows of a matrix given some indexmatlab:删除给定索引的矩阵行
【发布时间】:2017-09-10 22:14:40
【问题描述】:

我有一个大矩阵 A,我想删除其中的一些行,它们的索引在另一个向量 V 中。该向量未排序,因此下面的代码将不起作用

for i=1:length(V)
     A(V(i))=[]
end

问题是当例如第 2 行被删除时,接下来我想删除第 4 行,它将删除第 5 行,因为第 5 行的索引现在是 4。我认为可以对 v 进行降序排序并删除像上面一样,但排序很耗时。还有其他人可以完成这项任务吗?

【问题讨论】:

    标签: matlab matrix


    【解决方案1】:

    您只需要传递整个索引向量即可删除。

    MATLAB 支持非常强大的索引功能,学习它们可以简化代码编写并降低出错率。

    示例代码

    % Delete all rows with row indices as in V
    A(V, :) = []
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-26
      • 1970-01-01
      • 2015-07-10
      • 1970-01-01
      相关资源
      最近更新 更多