Why i get the out of bound error in this code?
1 次查看(过去 30 天)
显示 更早的评论
myset=[1 2 3 4 6]; capacity=6; passedall=[] passed=[] for q = 1:5
q=q+1 capacity=6; passedall = [passedall passed]; myset= setdiff(myset,passedall);
for b= 1:5 if (myset(b) < capacity);
capacity= capacity - myset(b) passed(b) = myset(b) end end end
i get this error:
error: myset(4): out of bound 3 error: called from deneme at line 13 column 5
2 个评论
采纳的回答
Guillaume
2018-10-21
Why i get the out of bound error in this code
Because by the time b equals 4, you've removed enough elements from myset that there are only 3 left and myset(b) is no longer valid. Have you tried debugging your program?
I have no idea what you're trying to do with your code since it's not commented at all. As it is, it doesn't make any sense and probably your loops are not needed. Without an explanation of what you're trying to achieve we can't tell you how to fix it.
Note that
for q = 1:5
q=q+1
has exactly the same effect as
for q=2:6
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Logical 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!