指数在位置1超出数组边界(不得超过1)。
20视图(30天)
显示旧的评论
你好,我通过了其他查询下同样的错误。我得到它是什么意思,但还是不明白为什么它出现在我的情况。
是否有任何其他原因或我还犯同样的错误。可能有人请检查以下代码,帮助我吗?
%一些代码产生数组WCM早些时候,WBM, KSM,移动,BTM,个子。这些数组转换为矩阵的大小10 X 86400。
%但是在输入文件——如果任何输入变量(WM WC,世行,KS, BT, OT)缺席那么相应的变量,例如WCM WBM等设置为零。
% NumWC, NumWB等默认设置为1的价值。
如果isempty (WCM)
WCM = 0;
结束
如果isempty (WBM)
WBM = 0;
结束
如果KSM isempty ()
KSM = 0;
结束
如果isempty (BTM)
BTM = 0;
结束
如果isempty(移动)
移动= 0;
结束
如果isempty(个子
个子= 0;
结束
为i = 1:10
(我:)= NumWC。* WCM(我:)+ NumWB。* WBM(我:)+ NumKS。* KSM(我:)+ NumBT。* BTM(我:)+ NumOT。*移动+ NumWM。*个子;
结束
%当任何我输入文件第一次四个变量(WC,世行、BT、KS),没有问题。我得到了所有的价值。
%,但是当我输入文件只有两个变量(WC和世行)或只有一个变量(WC),我得到错误”指数在位置1超出数组边界(不得超过1)。”
所有的变量(WCM WBM…等)应该是大小10 x 86400。和NumWC NumWB ....等标量值。
当我只有WC WC和世行作为输入变量,得到误差。你能帮我了解我失踪吗?
0评论
接受的答案
Harikrishnan Balachandran Nair
2021年9月24日
编辑:Harikrishnan Balachandran Nair
2021年9月24日
你好,
我明白,你是遇到一个错误说”指数在位置1超出数组边界”,在运行代码。
在你提供的代码,您的输入变量设置为' 0 '如果这是一个空数组。这集的输入一个1 * 1双数组。当你试图访问“i”在相应的输入行,你将面临一个索引错误,当我是大于1。
如果isempty (WCM)
WCM = 0 (86400);
结束