Индекс в позиции 1 недействителен;предыдущая версия кода работает - PullRequest
0 голосов
/ 20 февраля 2019

Вот первая итерация моего кода, которая правильно заполняет матрицу laseridx записями матрицы Data, которые соответствуют индексам pulsestart и pulseend:

Camel = numel(pulsestart)-1;
CCamel = cell(1,Camel);
for ni = 1:Camel 
    Ccamel{ni} = pulsestart(ni):pulseend(ni);
end
laseridx = [];
laseridx(:,2) = [Ccamel{:}];

laseridx(:,1) = Data(laseridx(:,2),1);
laseridx(:,3) = Data(laseridx(:,2),3);

Здесьэто вторая версия, которая теперь заполняет матрицу snipidx.Единственная разница теперь вместо pulsestart и pulseend, матрица famousdex имеет два столбца, которые соответствуют началу и концу выборки, которую я хочу проанализировать:

for ni = 1:Camel
      Ccamel{ni} = famousdex(ni,1):famousdex(ni,2);
end
snipidx = [];
snipidx(:,2) = [Ccamel{:}]; 

snipidx(:,1) = Data(snipidx(:,2),1); % line with issue
snipidx(:,3) = Data(snipidx(:,2),3);

Однако, когда я запускаю вторую версию, я получаю следующую ошибку:

Указатель в позиции 1 недействителен.Индексы массива должны быть положительными целыми числами или логическими значениями.

Ошибка в Analyze2 (строка 74) snipidx (:, 1) = Данные (snipidx (:, 2), 1);

Как мне устранить эту ошибку?

Вот ссылка на snipidx(:,2).

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