Re: HISTOGRAM, binsize, and max [message #76092] |
Wed, 18 May 2011 11:41  |
pgrigis
Messages: 436 Registered: September 2007
|
Senior Member |
|
|
On May 18, 2:33 pm, Paolo <pgri...@gmail.com> wrote:
> On May 18, 1:08 pm, andry <andry_will...@hotmail.com> wrote:
>
>> Hi Paolo,
>
>> I guess this has to do with the fact that different computers don't
>> behave the same way. What OS and which version of IDL are you with?
>
>> Mine is actually a
>> { x86 linux unix linux 8.0 Jun 18 2010 32 64}
>
> Maybe you have conversion to doubles enabled by default?
>
> With floats you always get 7+1 bins:
>
> IDL> print,1.4/0.2,format='(f20.15)'
> 7.000000000000000
> IDL> print,140.0/20.0,format='(f20.15)'
> 7.000000000000000
>
> With doubles you will get different numbers of bins:
>
> IDL> print,1.4d/0.2d,format='(f20.15)'
> 6.999999999999999
> IDL> print,140d/20d,format='(f20.15)'
> 7.000000000000000
>
> Ciao,
> Paolo
>
>
>
>
>
>
>
>
>
>>> When I try that I always get 8 bins no matter what.
>>> I don't see how you could get 7 bins in that situation...
>
>>> IDL> hist_spd= HISTOGRAM(randomn(seed,10)*200,binsize= .
>>> 20,min=0.,max=1.40) & help,hist_spd
>>> HIST_SPD LONG = Array[8]
>
>>> IDL> hist_spd= HISTOGRAM(randomn(seed,10)*200,binsize=
>>> 20.0,min=0.,max=140.0) & help,hist_spd
>>> HIST_SPD LONG = Array[8]
to clarify:
IDL> hist_spd= HISTOGRAM(float(randomn(seed,
10)*200),binsize=20.0,min=0.0,max=140.0) & help,hist_spd
HIST_SPD LONG = Array[8]
IDL> hist_spd= HISTOGRAM(double(randomn(seed,
10)*200),binsize=20d,min=0d,max=140d) & help,hist_spd
HIST_SPD LONG = Array[8]
IDL> hist_spd= HISTOGRAM(float(randomn(seed,10)*200),binsize=.
20,min=0.,max=1.40) & help,hist_spd
HIST_SPD LONG = Array[8]
IDL> hist_spd= HISTOGRAM(double(randomn(seed,10)*200),binsize=.
20d,min=0.d,max=1.40d) & help,hist_spd
HIST_SPD LONG = Array[7]
Float is consistent, double not.
The reason seems to be the different value you get when dividing
max-min by binsize, caused by the well known issues with floating
representation of numbers.
Ciao,
Paolo
>
>>> Ciao,
>>> Paolo
>
>>>> Cheers,
>
>>>> David
>
>>>> --
>>>> David Fanning, Ph.D.
>>>> Fanning Software Consulting, Inc.
>>>> Coyote's Guide to IDL Programming:http://www.idlcoyote.com/
>>>> Sepore ma de ni thui. ("Perhaps thou speakest truth.")
|
|
|