У меня есть строка кода в Matlab, которая гласит:
output = find(input);
, где вектор столбца "output" содержит все индексы в векторе столбца "input", чьи элементы отличны от нуля.Например, если:
input = [1 3 4 0 0 2 0];
, то результат: output = find (input);будет:
output =
1
2
3
6
, соответствующий 1-му ("1"), 2-му ("3"), 3-му ("4") и 6-му ("2") индексам массива "input", которыеотличны от нуля.
Поскольку мой «входной» массив очень большой, эта строка кода потребляет всю мою локальную оперативную память плюс огромную часть виртуальной памяти, что приводит к замедлению работы системы.
Кто-нибудь знает хороший способ (или каким-либо образом) уменьшить требования к памяти для такой операции?Я думал о том, чтобы поместить код "find" в цикл, но поскольку размер "output" массива (и, следовательно, индексация этого массива) зависит от результата операции "find", я не понимаю, как это возможноСделай так.Закончились идеи.
Заранее спасибо за любые комментарии / предложения.-gkk