hypothetical matlab's limit

3 visualizaciones (últimos 30 días)
Bio_Ing_Sapienza
Bio_Ing_Sapienza el 9 de Feb. de 2019
Comentada: John D'Errico el 9 de Feb. de 2019
Hi everyone. I have to calculate a sumof a vector of doubles of 1x4884 components. When I use this function i get as ans=nan. I there a limit to the maximum number that matlab is able to calculate? If yes how can i change this cobstraint?
Thank you in advance
  1 comentario
madhan ravi
madhan ravi el 9 de Feb. de 2019
Without knowing what your data is , it's hard to answer.

Iniciar sesión para comentar.

Respuestas (1)

Adam Danz
Adam Danz el 9 de Feb. de 2019
Editada: Adam Danz el 9 de Feb. de 2019
I'm sure there is such a limit in Matlab but it's nowhere near a vector length of 4884.
The problem is that you have at least 1 NaN value in your data.
sum([1, NaN])
ans =
NaN
Use the 'omitnan' flag to ignore NaN values.
sum([1,NaN], 'omitnan')
ans =
1
To confirm that you have at least one NaN value in your data, if this next line returns True (1), you have NaN value(s).
any(isnan(yourData)) % to find where the NaNs are: find(isnan(yourData))
And here's a test to confirm that Matlab can handle vector lengths of 4884 (or even 4884000 for that matter).
sum(rand(1, 4884))
  7 comentarios
Adam Danz
Adam Danz el 9 de Feb. de 2019
This Matlab summary covers most of your examples and also mentions rem(x,y) when x is inf or y is 0.
John D'Errico
John D'Errico el 9 de Feb. de 2019
Yes. rem also makes sense.

Iniciar sesión para comentar.

Categorías

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

Community Treasure Hunt

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

Start Hunting!

Translated by