Matlab код не работает, пытается отфильтровать 2 массива - PullRequest
0 голосов
/ 12 января 2012

Как я могу построить массив на графике против его порядка в массиве в matlab ??

Пример: x = [6,10,12,20] точка 1 становится 6: 1, а точка 3 =12: 3, например, даже после того, как я удалю некоторые элементы из этого массива, я хочу сохранить тот же порядок

пример того, что я пытаюсь сделать здесь, это удалить все значения ниже среднего, сохраняя порядок, поскольку он представляет времясек (это из кода обработки видео):

m=mean(amp);
for i=totalframes
    if (amp(i) >= m)
        time(i)=i/framerate;
    end
end
amp(amp >= m) = [];
time(time > 0) = [];
figure, plot(time,amp) %% plot my curve

Ps: время и массив усилителей были созданы нулями ранее в моем коде.

Спасибо

Ответы [ 2 ]

2 голосов
/ 12 января 2012

Если вы хотите удалить все значения ниже среднего m, вам нужно сделать:

inds=(amp<m)  %% find where amp is lower than m
amp(inds) = [];  %% remove corresponding amp
time(inds) = []; %% remove corresponding time
figure, plot(time,amp)  
1 голос
/ 12 января 2012

Измените дизайн x с [6; 10; 12; 20] на [1 6; 2 10; 3 12; 4 20] и просмотрите этот массив, удалив ненужные вам строки, тогда у вас будет массив результатов с индексами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...