How to solve the error "Index in position 2 exceeds array bounds."
1 次查看(过去 30 天)
显示 更早的评论
Hi, I'm running a code and I keep getting this error
'Index in position 2 exceeds array bounds'
How do i fix it please, The corona virus has really restricted my movement
2 个评论
Walter Roberson
2020-3-19
We would need to see your code. If it reads in files, we would need the files as well.
采纳的回答
Ameer Hamza
2020-3-19
编辑:Ameer Hamza
2020-3-19
It turns out that the error is caused by wrong field names in the function truss2D_readdata. Some field names in the text file are a bit different as compared to the function. Change the line
matprop.yield = fscanf(fid, '\nYIELD_STRESS = %f', 1);
to
matprop.yield = fscanf(fid, '\nYIELD STRESS = %f', 1);
and change the line
npload = fscanf(fid,'\nPOINT_LOADS = %d',1);
to
npload = fscanf(fid,'\nNODES_WITH_POINT_LOAD = %d',1);
3 个评论
Ameer Hamza
2020-3-19
编辑:Ameer Hamza
2020-3-19
Glad to be of help. I would also take this opportunity to point to this resource on debugging the MATLAB program: https://www.mathworks.com/help/matlab/matlab_prog/debugging-process-and-features.html. The error message indicates the line at which the error occurred. Just add a breakpoint at that line and see what might be causing the issue. Most of the time, the problem is caused by a trivial mistake.
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!