2013-05-09 134 views
0

下面的代码时,我对自己的运行它的工作原理:错误:“指数超过矩阵尺寸”

range = multi_sptime(100,end); 
binary_input = binary_input2(1:range); 
ssignal = signal(1:range); 
signal = ssignal;% input current 
clear input2 
clear binary_input2 
dbstop if error 

然而,当我加入这个for循环:

neurons=[1,2,4,6,8,10,15,20,25,30,35,40,50,100,200]; 
for ncell=neurons 
... 

我得到的错误如下:

??? Index exceeds matrix dimensions.
Error in int_idc20 (line 8)
ssignal = signal(1:range);

我该如何解决它,发生了什么?

+0

您能否缩小代码范围?此外,错误发生在循环之前,所以你有一个外部循环? – 2013-05-09 16:16:08

回答

3

首先,我想你想循环遍历neurons元素#,因此与纠正你for行:

for ncell=1:numel(neurons) 

,然后根据您要在循环使用ncellneurons(ncell)什么。

二,range是寻找multi_sptime第100行最后一个元素的标量,显然它所吐出的数字大于#元素的数量是signal。尝试到size(signal)看看你有什么。