使用其他矩阵中的列值替换matlab矩阵中的值

时间:2018-08-02 21:49:31

标签: matlab matrix

我有一个大矩阵(8656x25960),其中有一些斑点噪声。我使用findpeaks工具来查找在哪些列中我确实具有超过某个阈值的峰。 findspeaks工具的输出是一个包含所有不良列的矩阵,例如-

loc =

  Columns 1 through 6

          30          51         155         307         333         338

  Columns 7 through 12

         642         955        1409        1567        1728        1730

  Columns 13 through 18

        2332        2546        2615        2685        2806        2995

  Columns 19 through 24

        3002        3122        3124        3164        3690        4176

  Columns 25 through 30

        4430        4475        4539        5142        5155        5244

  Columns 31 through 36

        5246        5941        5943        6114        6486        6922

  Columns 37 through 42

        7165        7169        7460        7587        7647        8944

  Columns 43 through 44

       12754       13693

如何将这些列号与原始矩阵一起使用,并将此“不良”列的值替换为值0(例如)。 希望我足够清楚。

1 个答案:

答案 0 :(得分:1)

对于行向量Ioc,只需使用索引:

yourmatrix(:,Ioc) = 0;