Poissrnd throwing Warning: Colon operands must be real scalars...

26 visualizaciones (últimos 30 días)
MikeStein
MikeStein el 11 de Sept. de 2011
Respondida: Kazem el 10 de Jul. de 2024
Hello all, I am using poissrnd on a 49x49 array of some detector photocounts (on the order of 10^6), and I keep getting the following warnings each time I run the command. I've picked and chosen a few random numbers from the matrix, and I can't seem to replicate the warning. I'm trying to figure out why it's being thrown and what I can do to stop it.
K>> poissrnd(round(I1));
Warning: Colon operands must be real scalars.
> In binornd at 62
In poissrnd at 66
In poissrnd at 61
In poissrnd at 61
In poissrnd at 61
In poissrnd at 61
In poissrnd at 61
In poissrnd at 61
In poissrnd at 61
In spatialSRI4 at 105
Warning: Colon operands must be real scalars.
> In binornd at 62
In poissrnd at 66
In poissrnd at 61
In poissrnd at 61
In spatialSRI4 at 105
Warning: Colon operands must be real scalars.
> In binornd at 62
In poissrnd at 66
In poissrnd at 61
In spatialSRI4 at 105
Warning: Colon operands must be real scalars.
> In binornd at 62
In poissrnd at 66
In spatialSRI4 at 105
Note that this happens even if I do round(abs(I1)) as the input to poissrnd.
Thanks all, -Mike

Respuestas (4)

Walter Roberson
Walter Roberson el 11 de Sept. de 2011
I suggest you invoke
dbstop if warning
and then when the warning pops up, you would be able to examine the statement binornd at 62 and see what values it has and what the problem is with those values.
  1 comentario
MikeStein
MikeStein el 11 de Sept. de 2011
Well I haven't done that, but this may tell you what you're looking for:
I did a little debugging, and it seems like poissrnd has some sort of a recursive process over the array that I pass in. While the numbers I pass in are all real scalars, as this recursive process whittles down the input array, it somehow winds up turning them into decimal numbers that it recursively then operates over...

Iniciar sesión para comentar.


MikeStein
MikeStein el 14 de Sept. de 2011
anyone?

Michael
Michael el 6 de Nov. de 2012
I just experienced this problem when I used an array of type single, but it stopped when I changed it to double. So that's a workaround.
Still, this seems like a big ol' bug that Mathworks should really get fixed after more than a year. Submit support requests to get their butts in gear.

Kazem
Kazem el 10 de Jul. de 2024
I had similar warning and the problem was from
the index of array had length more than one.
It means that
val = A (x)
x was [6, 9]

Categorías

Más información sobre Calendar en Help Center y File Exchange.

Etiquetas

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by