Strange behavior of diff()
    4 vues (au cours des 30 derniers jours)
  
       Afficher commentaires plus anciens
    
Hi all,
I'm using 2012b and I'm trying to find the difference between successive elements of a vector of uint64 numbers. Here's some of them, but I get very puzzling results form diff(). For instance:
a =       [4648759972
           4648759972
           4651621722
           4652352784
           4652733003
           4653926753]
Then diff(a) gives the wrong result:
               [5166781
                5166781
                2305031
                1573969
                1193750]
However diff(a(1:2)) gives the correct result: 0. Also diff(a(2:3)) gives the correct result: 2861750
I've been searching for an explanation but I did not find a similar problem ever reported, and I don't understand what is happening. Can anybody explain to me what is going on here?
Thanks a lot!
Paul
8 commentaires
  Walter Roberson
      
      
 le 27 Fév 2016
				And to ask more directly,
which diff(uint64(0))
that will ensure you get the correct function shown for whatever uint64 is resolving to for you.
Réponse acceptée
Plus de réponses (0)
Voir également
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!




