У меня есть структура, содержащая как матрицу ECoG
, так и вложенную структуру TextMark
.MATLAB: поиск номера строки определенного значения в большом векторе с использованием функции поиска
ECoG
имеет 2 колонки и много рядов (10798910x2 double). Первый столбец представляет значения сигнала, а второй столбец представляет время.
TextMark
содержит 2 единицы: times
и text
. times
(26x1 double) содержит значения времени, соответствующие событиям, представленным в text
, массиве символов 26x80.
Я пишу скрипт, который находит индекс определенной строки в text
и принимает значение времени x
с тем же индексом в times
.
Я хочу, чтобы он нашел x
во втором столбце ECoG
и вернул индекс значения.
x = strmatch('example',output.TextMark.text)
[y] = find(output.ECoG(:,2) == output.TextMark.times(x,:))
Когда я запускаю это, возвращенное значение
Пустая матрица: 0-на-1
однако, когда я вхожу известное значение output.TextMark.times(x,:)
x = strmatch('example',output.TextMark.text)
[y] = find(output.ECoG(:,2) == 1.0219e+03)
Возвращаемое значение - это правильный индекс в ECoG
.
Учитывая, что output.Textmark.times(x,:) = 1.0219e+03
Я не знаю, почему первая команда не работает.