我得到'错误:指数超过矩阵维度'尽管指数不超过维度

时间:2017-06-12 12:29:44

标签: arrays matlab function oop

我知道类似的问题已被问过一百万次,但我检查了很多页面,仍然无法找到解决问题的正确方法。所以这是我的问题:

(我在MATLAB中编写代码。我没有提供整个代码,因为它超长,复杂且无关紧要。)

我在主文件中的某个类中创建了一个名为OpO的对象。在该类中有一个零的二维数组,即TotMargin。假设它有A和B的维度。后来,我创建了一个函数,它将此对象作为输入并在以下等式中使用它:

Half = OpO.Margin(t,1) + OpO.TotMargin(t+1,Next) - StartUpCost(t);

t+1<ANext<B都成立,当我在命令窗口(OpO.TotMargin(8761,5))中写出这些变量的实际值时,我得到答案'0',这正是我期待看到的。我确信该问题与该数组有关,因为当我从等式中删除该数组时,我不会在此行中出现任何错误。此外,当我用大于1的任何数字替换Next时,我仍然会得到相同的错误。然而,值为1,我没有任何错误。

我检查了是否有另一个具有相同名称的数组或类可能会导致MATLAB混淆。但是,再一次,没有。

有没有人知道我的代码可能有什么问题?提前致谢。

0 个答案:

没有答案