y1=f1(x)
When the graph screen is displayed, both x^2 and x^3 will be plotted as separate plots.
[4.9] Faster plots of slow functions
The built-in 89/92+ function plotter can be very slow to plot complicated or time-consuming
user-functions when the ZoomFit menu item is used. It seems that the plotter evaluates the function
twice at each plot point, perhaps to determine the window limit system variables. Plotting time can be
substantially reduced by graphing the function as a data plot instead of a function graph. This program
does the plotting:
plotxy(fname,xl,xh,pn,res)
Prgm
©("f(x)",xlow,xhigh,plot#,xres) plot function using data plot
©leaves global variables xx and yy
©1jul00/dburkett@infinet.com
local dxx,k
©Find x-step and make x-, y-lists
©Change all 239 to 159 for TI89
res*((xh-xl)/239)→dxx
seq((k-1)*dxx+xl,k,1,ceiling(239/res))→xx
seq(expr(fname)|x=xx[k],k,1,ceiling(239/res))→yy
©Set graph window limits
xl→xmin
xh→xmax
min(yy)→ymin
max(yy)→ymax
©Create plot; display graph
fnoff
plotsoff
newplot pn,2,xx,yy,,,,5
dispg
EndPrgm
The function arguments are:
fname Name of function to be plotted, as a string, with an independent variable of x
xl Lower limit for independent variable x
xh Upper limit for independent variable x
pn Number of data plot to use (1 to 9)
res Plot resolution. Set to 1 to plot every pixel, 2 for every other pixel, etc.
The call to plot the function si(x), from 0 to 12, at every pixel, using plot number 2, is
plotxy("si(x)",0,12,2,1)
After executing this call, the graph is displayed. You may perform all the usual operations on data
graphs.
4 - 8