第1位的索引无效;先前版本的代码有效

时间:2019-02-20 12:43:49

标签: matlab

这是我的代码的第一次迭代,它正确地用与laseridxpulsestart的索引相对应的矩阵Data条目填充矩阵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代替了pulseendfamousdex,而有两列对应于我要分析的样本的开始和结束:

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);

如何解决此错误?

这里是linksnipidx(:,2)

0 个答案:

没有答案