Index in position 1 exceeds array bounds
1 view (last 30 days)
Show older comments
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 Comments
Michael Van de Graaff
on 1 Apr 2021
Edited: Michael Van de Graaff
on 1 Apr 2021
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.
Answers (1)
Christopher McCausland
on 2 Apr 2021
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
See Also
Categories
Find more on Matrix Indexing in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!