добавить элемент в массив для цикла цикла - PullRequest
0 голосов
/ 05 декабря 2018

У меня есть матрица 10x500, и я хочу отбросить каждую строку, которая содержит в первых 100 элементах значение выше 6. Сначала я пытаюсь создать массив со всеми индексами строки, которые нужно отбросить.Вот мой код

idx_discard_trials = [];

for i = 1:size(data_matrix,1)
    if any(data_matrix(i,1:100)>6)   
        idx_discard_trials = i;
    end
end

Однако в конце цикла я получаю только последний индекс, а не список.Кто-нибудь знает, как добавлять элементы в массив, используя цикл for?

1 Ответ

0 голосов
/ 05 декабря 2018

Это потому, что вы продолжаете переписывать одно значение, вам нужно добавить значения, например, через idx_discard_trials(end+1) = i.

Однако вам не нужен цикл для этого, попробуйте следующее:

data_matrix(any(data_matrix(:,1:100) > 6, 2),:) = []

...