Error 'Array indices must be positive integers or logical values.' when the number of indices is large

1 visualizzazione (ultimi 30 giorni)
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.

Risposta accettata

madhan ravi
madhan ravi il 5 Ago 2020
Modificato: madhan ravi il 5 Ago 2020
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

Più risposte (0)

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by