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}} ]

**References**:**more plotting peculiarities***From:*Richard Fateman <fateman@cs.berkeley.edu>