【问题标题】:Error: "Index exceeds matrix dimensions"错误:“索引超出矩阵维度”
【发布时间】:2013-05-09 16:12:47
【问题描述】:

以下代码在我自己运行时有效:

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

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

【问题讨论】:

  • 能否缩小代码范围?另外,错误发生在循环之前,那么你有外循环吗?

标签: matlab for-loop dimensions


【解决方案1】:

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

for ncell=1:numel(neurons)

然后根据您想要在循环中使用 ncellneurons(ncell) 的内容。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-05
    • 1970-01-01
    相关资源
    最近更新 更多