hypothetical matlab's limit

3 Ansichten (letzte 30 Tage)
Bio_Ing_Sapienza
Bio_Ing_Sapienza am 9 Feb. 2019
Kommentiert: John D'Errico am 9 Feb. 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 Kommentar
madhan ravi
madhan ravi am 9 Feb. 2019
Without knowing what your data is , it's hard to answer.

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Adam Danz
Adam Danz am 9 Feb. 2019
Bearbeitet: Adam Danz am 9 Feb. 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 Kommentare
Adam Danz
Adam Danz am 9 Feb. 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 am 9 Feb. 2019
Yes. rem also makes sense.

Melden Sie sich an, um zu kommentieren.

Community Treasure Hunt

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

Start Hunting!

Translated by