Index in position 1 exceeds array bounds

1 次查看(过去 30 天)
Hello, I am trying to estimate confidence intervals, but I keep getting the following error when I try to run the structural_console.m file (attached is the relevant part of the code):
Index in position 1 exceeds array bounds (must not exceed 5).
Error in VECM_bootstrap (line 22)
resb=resids(bidx(bb,:),:);
Error in Structural_console (line 28)
[Sigmas,PHIs,mis,Xs]=VECM_bootstrap(GAMMA,eps_hat,X,n_boot);
I can't find out what I specified wrong - so I would really appreciate if someone could help me figure this out. Thank you
  2 个评论
Michael Van de Graaff
编辑:Michael Van de Graaff 2021-4-1
So first of all I had to change dif to diff in VECM. not sure if that's important.
Also, you aren't passing beta_ml to VECM_bootstrap.
Jerry M.
Jerry M. 2021-4-2
Thank you very much! I just realized I forgot to upload dif.m file; I will add beta_ml and see if it works now

请先登录,再进行评论。

回答(1 个)

Christopher McCausland
In your code in line 22 you have resb=resids(bidx(bb,:),:); where as with any index resb=resids(A,B). MATLAB is trying to tell you that the array only has five rows but you are trying to call a non-exsistant row greater than or equal to 6. Try using a breakpoint to assess the value of bidx(bb,:) that makes this happen.
In short if I have array; myarray = zeros(5,4)
myarray =
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
you try and call myarray(6,1);
Index in position 1 exceeds array bounds (must not exceed 5)
as you are trying to call 'X' which doesn't exsist
myarray =
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
X - - - <- Row 6 does not exsist

类别

Help CenterFile Exchange 中查找有关 Big Data Processing 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by