Error 'Array indices must be positive integers or logical values.' when the number of indices is large
1 次查看(过去 30 天)
显示 更早的评论
Hi all,
I have two vectors:
- p of size 32x1,
- b of size 300000x1. Value range of elements of b is [1, 32].
I want to assign
a = p(b)
And I got error: Array indices must be positive integers or logical values.
It was fine when I tried
a = p(b(1:40000)
However, MATLAB releases the error again with
a = p(b(1:50000)
Do you have any ideas on what problem that I encounted? Any help you have to offer would be greatly appreciated.
0 个评论
采纳的回答
madhan ravi
2020-8-5
编辑:madhan ravi
2020-8-5
In this case it’s probable that b has elements less than 1 and greater than 32.
Outside_bounds = nnz((b < 1) | (b > 32)) % to check
更多回答(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!