On Fri, 6 Sep 2002 willisb@unk.edu wrote:
> I don't read sloop code, but I speculate that draw2d (defined in plot.lisp)
> does a adaptive evaluation of the function -- presumably where the function
> changes rapidly, it is evaluated on a finer (and finer) grid. Does
> plot2d (or friends) get stuck in a loop taking too fine a grid?
Interestingly, and all of you may already know this, but:
1. Maxima takes a super-long time to plot this function regardless of
whether you use the native TCL grapher or external gnuplot, i.e.
plot2d(f(x), [x, .008, .012], [y, 2, 16], [plot_format, gnuplot]);
and:
plot2d(f(x), [x, .008, .012], [y, 2, 16]);
both take the same pathologically long time. This makes sense because
presumably the long step is Maxima's composing the table of values that is
then passed to the plot engine.
2. Gnuplot *on its own* plots the function instantaneously, i.e.::
gnuplot> plot((7-500*x)/(25*x));
comes up quickly and with good labels on the axes.
Perhaps there should at least be an option to pass the function directly
to gnuplot rather than attempting to compute a table of values to be
passed to it? This may sacrifice some flexibility in specifying
plotting options. Just a thought.
Rich