MathGroup Archive 2012

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: more plotting peculiarities

  • To: mathgroup at smc.vnet.net
  • Subject: [mg124133] Re: more plotting peculiarities
  • From: "Oleksandr Rasputinov" <oleksandr_rasputinov at hmamail.com>
  • Date: Tue, 10 Jan 2012 06:00:41 -0500 (EST)
  • Delivered-to: l-mathgroup@mail-archive0.wolfram.com
  • References: <201201080922.EAA01272@smc.vnet.net>

On Mon, 09 Jan 2012 08:21:22 -0000, Richard Fateman  
<fateman at eecs.berkeley.edu> wrote:

> On 1/8/2012 11:25 AM, Murray Eisenberg wrote:
>> Those results are wholly unsurprising (Version 8). After all, look at
>> some sampled values in the domains, e.g.:
>>
>>   1.0 + 2.0^-47 Range[-5, 5, .1] // NumberForm[#, 15] &
>>   1.02 + 2.0^-47 Range[-5, 5, .1] // NumberForm[#, 15] &
>>
>> And then take Cos of each list.
>
> OK, then explain why 1.0  vs 1.02 makes a huge difference. Do you not
> find that surprising?
>>
>> Actually, the plot from the first expression does NOT look empty to
>> me: I see a thickened horizontal axis located at height y = 0.54.
> Yes, I saw that too.  The plot looks empty, though.  It certainly is
> highly uninformative.
>
>> Using option AxesOrigin -> {0,0} reveals what appears to be a line at
>> that height.
>>
>> And the plot from the second is essentially a linearization, given
>> that its range is from around 0.523365951251619 to 0.52336595125168.
> Yes, actually what I expect from a normal plotting program is steps that
> illustrate the discretization of the function values to
> particular machine floating point numbers.  How do you suggest doing
> that with Mathematica?

I think these problems are due to a bug in the version 6-style graphics  
renderer whereby the plot region is not calculated properly if the range  
of values is too narrow (even if an explicit PlotRange is given). The old  
renderer doesn't exhibit the same issues:

<< Version5`Graphics`;
Plot[
  Cos[1.00 + n*2.0^-47], {n, -1, 1},
  PlotPoints -> 1000, PlotRange -> All
];
Plot[
  Cos[1.02 + n*2.0^-47], {n, -1, 1},
  PlotPoints -> 1000, PlotRange -> All
];

If the bug would be fixed, then one could see the steps due to  
discretization as follows:

<< Version6`Graphics`;
Plot[
  Cos[1.02 + n*2.0^-47], {n, -1, 1},
  Exclusions -> True, PlotPoints -> 1000, MaxRecursion -> 10,
  PlotRange -> {{-1, 1}, {0.52336595125162, 0.52336595125168}}
]



  • Prev by Date: Re: Can't use subscripted variables in function definition?
  • Next by Date: Generalization of Gauss map not plotting all
  • Previous by thread: Re: more plotting peculiarities
  • Next by thread: Re: more plotting peculiarities