MATLAB: Как использовать индексный номер в векторном фильтре - PullRequest
0 голосов
/ 18 октября 2011

У меня есть векторный фильтр, и мне нужно использовать индексный номер векторного элемента в фильтре.Какой будет синтаксис для INDEXNUMBER в приведенном ниже примере?

myVector(myVector < 0.05*(INDEXNUMBER/(120-INDEXNUMBER)));

Спасибо,

1 Ответ

2 голосов
/ 18 октября 2011

Если я понимаю, что вы пытаетесь сделать, вы просто замените myVector на INDEXNUMBER:

myVector  = rand(1,10);
selection = myVector(myVector < 0.05*(myVector/(120-myVector)));

Логическое индексирование (часть внутри самой внешней круглой скобки, вторая строка) просто выполняет логическое сравнение всех элементов myVector, возвращая вектор равной длины 0 и 1 и выбор элементы myVector, которые соответствуют 1. Если это не то, что вы делаете, просто убедитесь, что ваши измерения работают правильно (размер неравенства левой руки == размер неравенства правой руки == размер выбранной переменной) и все должно быть хорошо.


Чтобы использовать позицию каждого номера, вы можете использовать следующее:

myVector  = rand(1,10);
indices   = 1:length(myVector);
selection = myVector(myVector < 0.05*(indices/(120-indices)));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...