错误:“索引超出矩阵尺寸”

时间:2013-05-09 16:12:47

标签: matlab for-loop dimensions

以下代码在我自己运行时起作用:

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

如何修复它以及发生了什么?

1 个答案:

答案 0 :(得分:3)

首先,我认为您想要遍历neurons中的元素数量,因此请更正for行:

for ncell=1:numel(neurons)

然后根据您的需要在循环中使用ncellneurons(ncell)

其次,range是一个标量,它在最后一个元素中查找multi_sptime行#100,显然它吐出的数字大于元素数signal。尝试size(signal)看看你有什么。