hypothetical matlab's limit

5 views (last 30 days)
Bio_Ing_Sapienza
Bio_Ing_Sapienza on 9 Feb 2019
Commented: John D'Errico on 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 Comment
madhan ravi
madhan ravi on 9 Feb 2019
Without knowing what your data is , it's hard to answer.

Sign in to comment.

Answers (1)

Adam Danz
Adam Danz on 9 Feb 2019
Edited: Adam Danz on 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 Comments
Adam Danz
Adam Danz on 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 on 9 Feb 2019
Yes. rem also makes sense.

Sign in to comment.

Categories

Find more on Creating and Concatenating Matrices in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!