
apl>" <-APL2-------------------- sam297.txt ---------------------------->


apl>)run cap2/sample/graph.inc


apl>" <-APL2-------------------- graph.txt ----------------------------->


apl>" Legend describing various global values:


apl>"


apl>" World coordinates(wc) are those of the real data.


apl>" Graph coordinates(gc) are those of the graph.


apl>"


apl>" caption - Override to text for graph caption.  If null, a caption


apl>"           will be generated.  The graph function resets the global


apl>"           caption variable to null at the end of its processing.


apl>"


apl>" hk ------ Constant coefficient of input.  If xr=1 (see below) then


apl>"           hk becomes the constant imaginary coefficient for all


apl>"           values of x on the graph.  If xr=0, hk will be the constant


apl>"           real coefficient.


apl>"


apl>" htl ----- 0 = both, 1 = headers, 2 = trailers, 3 = neither.


apl>"


apl>" maxx ---- Maximum x axis value in world coordinates.


apl>"


apl>" maxy ---- Maximum y axis value in world coordinates.


apl>"


apl>" minx ---- Minimum x axis value in world coordinates.


apl>"


apl>" miny ---- Minimum y axis value in world coordinates.


apl>"


apl>" mgc ----- Vertical margin in graphic coordinates.


apl>"


apl>" n ------- Synonymous with hk (see above).  The x values to which


apl>"           the function is applied to obtain y values are derived


apl>"           by first creating xwc as a vector of integers uniformly


apl>"           distributed between minx and maxx inclusive.  Then, either


apl>"           'x#(nX0j1)+xwc' or 'x#n+0j1Xxwc' is evaluated.


apl>"


apl>" nlb ----- 1 = Label the curve with the n value.


apl>"


apl>" points -- Number of points to generate.


apl>"


apl>" xgc ----- Array of x values for data points in graph coordinates.


apl>"


apl>" xiv ----- x axis marker interval in world coordinates.


apl>"


apl>" xlin ---- Width of graph in inches.


apl>"


apl>" xpg ----- Divide xwc by xpg to get xgc.


apl>"


apl>" xpi ----- Array of three values for minx, maxx, and xiv, used when


apl>"           invoking the graph function and the array of x values


apl>"           spans -pi to +pi.


apl>"


apl>" xr ------ 1=vary real x coefficient, 0=vary imaginary coefficient,


apl>"           holding the other coefficient to the constant hk (see above.).


apl>"


apl>" xt ------ Used in a variety of places to temporarily generate


apl>"           graphics coordinates.


apl>"


apl>" xwc ----- Array of x values in world coordinates.


apl>"


apl>" yadj ---- Adjustment down to print text below a line.


apl>"


apl>" yabm ---- Maximum absolute value (|y) to appear on graph.


apl>"


apl>" ygc ----- Array of y values for data points in graph coordinates.


apl>"


apl>" ylin ---- Height of graph in inches.


apl>"


apl>" ymgn ---- Margin in inches at top and bottom of y axis.


apl>"


apl>" ypg ----- Divide ywc by ypg to get ygc.


apl>"


apl>" yt ------ Used in a variety of places to temporarily generate


apl>"           graphics coordinates.


apl>"


apl>" ywc ----- Array of y values for data points in world coordinates.


apl>"


apl>" Set global values. -------------------------------------------->


apl>"


apl>caption#'' " Empty caption causes one to be generated.


apl>i#11 " Circle function code to extract imag. coef. of complex number.


apl>points#200 " Number of data points to generate on graph.


apl>r#9 " Circle function code to extract real coef. of complex number.


apl>xlin#4.5 " Width of graph in inches.


apl>"  minx = -3.14159....


apl>"  |     maxx = 3.14159....


apl>"  |     |     xiv


apl>"  |     |     |


apl>"  V     V     V


apl>xpi#(O-1),(O1),O.25


apl>ylin#6 " Height of graph in inches.


apl>ymgn#.2 " Margin in inches at top and bottom of y axis.


apl>"


apl>" <----------------------------------------------------------------->


apl>" Generates the LaTeX \put statements for the data points to appear


apl>" on the graph.


apl>"


apl>Lex 'dodata'

1

apl>Gdodata


[1]       xgc#(xwc_minx)%xpg " xgc=x graphic coordinates for data points.


[2]       ygc#mgc+(ywc_miny)%ypg " ygc=y graphic coordinates for data points.


[3]       $bylabXI0=nlb " Branch if the curve is not to be labelled.


[4]       '%Label the curve'


[5]       xt#1Y(u=S/u#|ywc)/xgc " x coord where maximum/mininum occurs


[6]       yt#(_yadjX0>vs/ywc)+(vs#xt=xgc)/ygc " y coord of maximum/minimum


[7]       " Note: Calculation for yt works only if all minima occur below


[8]       " y axis, and all maxima occur above.


[9]       pcon,(xt,',',[1.5]yt),`Z'){n\#',(Fhk),'}'


[10]      bylab:'%Draw the data points'


[11]      pcon,((xgc#-1U1Uxgc),',',[1.5](ygc#-1U1Uygc)),circon


[12]      G


apl>" <----------------------------------------------------------------->


apl>" Generate xwc and ywc, the arrays of x/y coordinates for the data


apl>" points to appear on the graph.


apl>"


apl>Lex 'genxy'

1

apl>Ggenxy


[1]       xwc#minx+(xlwc#maxx_minx)X(-1+Ipoints+1)%points


[2]       $varyrealXIxr


[3]       x#hk+0j1Xxwc " real part is constant, imaginary varies.


[4]       $calcy " Branch to compute values of y for data points.


[5]       varyreal:x#(hkX0j1)+xwc " Imaginary is constant, real varies.


[6]       calcy:ywc#eOCfun " Compute values of y for data points


[7]       ywcm#yabm>|ywc " Mask of keepers, magnitudes of y < yabm.


[8]       xwc#ywcm/xwc " Pick the keepers.


[9]       ywc#ywcm/ywc " Pick the keepers.


[10]      G


apl>"


apl>" <----------------------------------------------------------------->


apl>" Main graph routine.


apl>"


apl>Lex 'graph'

1

apl>Gfun graph a


[1]       "Graphs the imaginary or real coefficient of result of fun.


[2]       " fun = expression to evaluate.


[3]       (htl nlb xr e yabm minx maxx xiv hk yiv yca)#a


[4]       genxy " Generate the data points.


[5]       $dataXIhtl>1 " Branch if htl greater than 1.


[6]       scale " Calculate global scaling values.


[7]       headers " Generate LaTeX figure headers.


[8]       data:dodata " Process and graph data points.


[9]       trailers " Generate Latex figure trailers, maybe.


[10]      G


apl>"


apl>" <----------------------------------------------------------------->


apl>" Generates the LaTeX statements to begin the graph.


apl>"


apl>Lex 'headers'

1

apl>Gheaders


[1]       '\begin{figure}[tbh]'


[2]       $gencapXI0=Rcaption " Branch if no caption override.


[3]       '\caption{',caption,'}'


[4]       $begin


[5]       gencap:$realcapXI(xr=1)&hk=0 " Branch if x data are not complex.


[6]       $ncaptionXInlb=0 " Branch if curves are not labelled with n value.


[7]       '\caption{Graph of y\#',(Fe),'O',fun,'+nX0j1}'


[8]       $begin


[9]       ncaption:$cplxcapXIxr " Branch if varying real coefficient.


[10]      '\caption{Graph of y\#',(Fe),'O',(-1Ufun),(Fhk),'+xX0j1}'


[11]      $begin


[12]      cplxcap:'\caption{Graph of y\#',(Fe),'O',fun,'+(n\#',(Fhk),')X0j1}'


[13]      $begin


[14]      realcap:'\caption{Graph of y\#',fun,'}'


[15]      begin:'\begin{center}'


[16]      '\setlength{\unitlength}{',(Flin),'in}'


[17]      '\begin{picture}(',(Fxlin%lin),',',(Fylin%lin),')'


[18]      '%Draw a frame around the picture'


[19]      ' \put(0,0){\line(1,0){',(Fxlgc),'}}% bottom'


[20]      ' \put(0,0){\line(0,1){',(Fylgc),'}}% left'


[21]      ' \put(0,',(Fylgc),'){\line(1,0){',(Fxlgc),'}}% top'


[22]      ' \put(',(Fxlgc),',0){\line(0,1){',(Fylgc),'}}% right'


[23]      '%Draw the x axis'


[24]      ' \put(0,',(Fxax),'){\line(1,0){',(Fxlgc),'}}%x axis'


[25]      xt#xoff%xpg


[26]      pcon,((xt,[1.5]','),xax),circon " Draw the x axis markers.


[27]      xt#xt_xpgX.1Xxmk<0


[28]      yt#xax+((.05%lin)Xxax=mgc)_yadjXxax>mgc


[29]      $dopaxXIpix


[30]      '%Draw the x axis marker values'


[31]      pcon,xt,',',yt,econ,xmk,[1.5]scon


[32]      $doyax


[33]      dopax:'%Draw the x axis marker values in pi'


[34]      picon#(`Z'\frac{') ,`1 '\pi}{4}' '\pi}{2}' '3\pi}{4}'


[35]      picon#('-',`1`Rpicon),'0',picon


[36]      pcon,xt,',',yt,econ,picon,[1.5]scon


[37]      doyax:'%Draw the y axis'


[38]      $putymkXI(yax=0)


[39]      ' \put(',(Fyax),',0){\line(0,1){',(Fylgc),'}}%y axis'


[40]      putymk:'%Draw the y axis markers'


[41]      ymask#ymk^=0


[42]      yt#ymask/mgc+(ymk_miny)%ypg


[43]      pcon,yax,',',yt,[1.5]circon


[44]      '%Draw the y axis marker values'


[45]      xt#yax+.05%lin


[46]      yt#yt_ypgX.1X(ymask/ymk)<0


[47]      pcon,xt,',',yt,econ,(ymask/ymk),[1.5]scon


[48]      G


apl>"


apl>" <----------------------------------------------------------------->


apl>" Calculates a variety of values needed to produce the graph.


apl>"


apl>Lex 'scale'

1

apl>Gscale


[1]       $byyXIyca " Branch if ylwc, maxy, miny are precalculated.


[2]       ylwc#(maxy#S/ywc)_miny#D/ywc


[3]       byy:ylap#ylin_2Xymgn " ylap=height allowed for data points.


[4]       lin#(xlin%xlwc)Dylap%ylwc " unitlength in inches.


[5]       yadj#.14%lin " y graphic coordinate adjustment to print text below line.


[6]       mgc#ymgn%lin " Margin in graph coordinates.


[7]       xpg#xlwc%xlgc#xlin%lin " Divide xwc by xpg to get gc.


[8]       ypg#ylwc%(_2Xymgn%lin)+ylgc#ylin%lin " Divide ywc by ypg to get gc.


[9]       xax#(yz#(minyK0)&maxyZ0)Xmgc+(|miny)%ypg " xaxis in graph coordinates.


[10]      yax#(xz#(minx<0)&maxx>0)X(|minx)%xpg " yaxis in graph coordinates.


[11]      $piaxisXIpix#(minx=O-1)&maxx=O1 " branch if pi units on x axis.


[12]      xic#(yax=0)+Dxlwc%xiv


[13]      $doyiv


[14]      piaxis:xic#Dxlwc%xiv#O.25


[15]      doyiv:$doyicXIyiv^=0


[16]      yiv#10*D10@ylwc


[17]      doyic:yic#yic+0=2|yic#Dylwc%yiv


[18]      xoff#(I-1+xic)Xxiv " Offset from minx in world coord. of x markers.


[19]      yoff#(_yiv)+(Iyic)Xyiv " Offset from miny in world coord. of y markers.


[20]      $yoffplusXIminy>0


[21]      ymk#yoff+miny+yiv||miny


[22]      $yoffdone


[23]      yoffplus:ymk#yoff+miny_yiv|miny " y for y axis markers in world coord.


[24]      yoffdone:xmk#minx+xoff " x for x axis markers in world coord.


[25]      circon#`Z'){\circle*{',(F.0205%lin),'}}'


[26]      scon#`Z'$}'


[27]      econ#`Z'){$'


[28]      pcon#`Z' \put('


[29]      G


apl>"


apl>" <----------------------------------------------------------------->


apl>" Generates the LaTeX statements to finish the graph.


apl>"


apl>Lex 'trailers'

1

apl>Gtrailers


[1]       $epicXIhtl=0 " Branch if both headers and trailers.


[2]       $eojckXInlb " Branch if graph already labelled.


[3]       pcon,(1Yxgc+xpgX.1),',',(1Yygc),'){',fun,'}' " Label the graph.


[4]       eojck:$eojXI(htl=1)+htl=3 " br if headers only, or neither.


[5]       epic:'\end{picture}'


[6]       '\end{center}'


[7]       eoj:'%Finis.'


[8]       caption#'' " Reset global caption


[9]       G


apl>"            htl: 0=both, 1=headers, 2=trailers, 3=neither.


apl>"            | nlb 1 = Label the curve.


apl>"            | | xr = 1=vary real x coeff, 0=vary imaginary coeff.


apl>"            | | | e = i(11) or r(9) to select coefficient to graph.


apl>"            | | | | yabm = maximum |y printed on graph.


apl>"            | | | | |   minx = minimum value of x.


apl>"            | | | | |   |   maxx = maximum value of x.


apl>"            | | | | |   |   |  xiv = x axis marker interval.


apl>"            | | | | |   |   |  | hk = Constant coefficient of input.


apl>"            | | | | |   |   |  | |     yiv = y axis marker interval, or 0.


apl>"            | | | | |   |   |  | |     |   yca = ylwc, maxy, miny are precalculated.


apl>"            | | | | |   |   |  | |     |   |


apl>"            V V V V V   V   V  V V     V   V


apl> caption#'Graphs of 5Ox and 6Ox'


apl> '5Ox' graph 1,0,1,r,5  ,xpi     ,0   , 1  ,0 " sinhdata.tex

\begin{figure}[tbh]
\caption{Graphs of 5Ox and 6Ox}
\begin{center}
\setlength{\unitlength}{ .571005in}
\begin{picture}(7.880844,10.50779)
%Draw a frame around the picture
 \put(0,0){\line(1,0){7.880844}}% bottom
 \put(0,0){\line(0,1){10.50779}}% left
 \put(0,10.50779){\line(1,0){7.880844}}% top
 \put(7.880844,0){\line(0,1){10.50779}}% right
%Draw the x axis
 \put(0,5.253896){\line(1,0){7.880844}}%x axis
  \put(  .985106 , 5.253896 ){\circle*{ .03590162}} 
  \put( 1.970211 , 5.253896 ){\circle*{ .03590162}} 
  \put( 2.955317 , 5.253896 ){\circle*{ .03590162}} 
  \put( 3.940422 , 5.253896 ){\circle*{ .03590162}} 
  \put( 4.925528 , 5.253896 ){\circle*{ .03590162}} 
  \put( 5.910633 , 5.253896 ){\circle*{ .03590162}} 
  \put( 6.895739 , 5.253896 ){\circle*{ .03590162}} 
%Draw the x axis marker values in pi
  \put(  .905378 , 5.008714 ){$ -\frac{3\pi}{4} $} 
  \put( 1.890484 , 5.008714 ){$  -\frac{\pi}{2} $} 
  \put( 2.875589 , 5.008714 ){$  -\frac{\pi}{4} $} 
  \put( 3.940422 , 5.008714 ){$               0 $} 
  \put( 4.925528 , 5.008714 ){$   \frac{\pi}{4} $} 
  \put( 5.910633 , 5.008714 ){$   \frac{\pi}{2} $} 
  \put( 6.895739 , 5.008714 ){$  \frac{3\pi}{4} $} 
%Draw the y axis
 \put(3.940422,0){\line(0,1){10.50779}}%y axis
%Draw the y axis markers
  \put( 3.940422 , 1.253896 ){\circle*{ .03590162}} 
  \put( 3.940422 , 2.253896 ){\circle*{ .03590162}} 
  \put( 3.940422 , 3.253896 ){\circle*{ .03590162}} 
  \put( 3.940422 , 4.253896 ){\circle*{ .03590162}} 
  \put( 3.940422 , 6.253896 ){\circle*{ .03590162}} 
  \put( 3.940422 , 7.253896 ){\circle*{ .03590162}} 
  \put( 3.940422 , 8.253896 ){\circle*{ .03590162}} 
  \put( 3.940422 , 9.253896 ){\circle*{ .03590162}} 
%Draw the y axis marker values
  \put( 4.027987 , 1.153896 ){$ -4 $} 
  \put( 4.027987 , 2.153896 ){$ -3 $} 
  \put( 4.027987 , 3.153896 ){$ -2 $} 
  \put( 4.027987 , 4.153896 ){$ -1 $} 
  \put( 4.027987 , 6.253896 ){$  1 $} 
  \put( 4.027987 , 7.253896 ){$  2 $} 
  \put( 4.027987 , 8.253896 ){$  3 $} 
  \put( 4.027987 , 9.253896 ){$  4 $} 
%Draw the data points
  \put( 1.103318 , .505089    ){\circle*{ .03590162}} 
  \put( 1.142722 ,  .65523    ){\circle*{ .03590162}} 
  \put( 1.182127 , .800833    ){\circle*{ .03590162}} 
  \put(  1.22153 , .942040    ){\circle*{ .03590162}} 
  \put( 1.260935 ,  1.07899   ){\circle*{ .03590162}} 
  \put( 1.300339 , 1.211821   ){\circle*{ .03590162}} 
  \put( 1.339744 , 1.340662   ){\circle*{ .03590162}} 
  \put( 1.379148 , 1.465640   ){\circle*{ .03590162}} 
  \put( 1.418552 , 1.586879   ){\circle*{ .03590162}} 
  \put( 1.457956 , 1.704498   ){\circle*{ .03590162}} 
  \put(  1.49736 , 1.818614   ){\circle*{ .03590162}} 
  \put( 1.536765 , 1.929339   ){\circle*{ .03590162}} 
  \put( 1.576169 , 2.036783   ){\circle*{ .03590162}} 
  \put( 1.615573 , 2.141051   ){\circle*{ .03590162}} 
  \put( 1.654977 , 2.242247   ){\circle*{ .03590162}} 
  \put( 1.694382 ,  2.34047   ){\circle*{ .03590162}} 
  \put( 1.733786 , 2.435818   ){\circle*{ .03590162}} 
  \put(  1.77319 , 2.528384   ){\circle*{ .03590162}} 
  \put( 1.812594 , 2.618260   ){\circle*{ .03590162}} 
  \put( 1.851998 , 2.705534   ){\circle*{ .03590162}} 
  \put( 1.891403 , 2.790293   ){\circle*{ .03590162}} 
  \put( 1.930807 ,  2.87262   ){\circle*{ .03590162}} 
  \put( 1.970211 , 2.952597   ){\circle*{ .03590162}} 
  \put( 2.009615 , 3.030303   ){\circle*{ .03590162}} 
  \put( 2.049020 , 3.105813   ){\circle*{ .03590162}} 
  \put( 2.088424 , 3.179204   ){\circle*{ .03590162}} 
  \put( 2.127828 , 3.250546   ){\circle*{ .03590162}} 
  \put( 2.167232 , 3.319911   ){\circle*{ .03590162}} 
  \put( 2.206636 , 3.387368   ){\circle*{ .03590162}} 
  \put(  2.24604 , 3.452982   ){\circle*{ .03590162}} 
  \put( 2.285445 , 3.516818   ){\circle*{ .03590162}} 
  \put( 2.324849 , 3.578940   ){\circle*{ .03590162}} 
  \put( 2.364253 , 3.639408   ){\circle*{ .03590162}} 
  \put( 2.403658 , 3.698283   ){\circle*{ .03590162}} 
  \put( 2.443062 , 3.755623   ){\circle*{ .03590162}} 
  \put( 2.482466 , 3.811483   ){\circle*{ .03590162}} 
  \put(  2.52187 ,  3.86592   ){\circle*{ .03590162}} 
  \put( 2.561274 , 3.918987   ){\circle*{ .03590162}} 
  \put( 2.600679 , 3.970736   ){\circle*{ .03590162}} 
  \put( 2.640083 , 4.021219   ){\circle*{ .03590162}} 
  \put( 2.679487 , 4.070485   ){\circle*{ .03590162}} 
  \put( 2.718891 , 4.118583   ){\circle*{ .03590162}} 
  \put( 2.758296 ,  4.16556   ){\circle*{ .03590162}} 
  \put( 2.797700 , 4.211464   ){\circle*{ .03590162}} 
  \put( 2.837104 , 4.256338   ){\circle*{ .03590162}} 
  \put( 2.876508 , 4.300228   ){\circle*{ .03590162}} 
  \put( 2.915912 , 4.343176   ){\circle*{ .03590162}} 
  \put( 2.955317 , 4.385225   ){\circle*{ .03590162}} 
  \put(  2.99472 , 4.426417   ){\circle*{ .03590162}} 
  \put( 3.034125 , 4.466792   ){\circle*{ .03590162}} 
  \put( 3.073529 ,  4.50639   ){\circle*{ .03590162}} 
  \put( 3.112933 , 4.545251   ){\circle*{ .03590162}} 
  \put( 3.152338 , 4.583412   ){\circle*{ .03590162}} 
  \put( 3.191742 , 4.620911   ){\circle*{ .03590162}} 
  \put( 3.231146 , 4.657786   ){\circle*{ .03590162}} 
  \put(  3.27055 , 4.694072   ){\circle*{ .03590162}} 
  \put( 3.309955 , 4.729805   ){\circle*{ .03590162}} 
  \put( 3.349359 , 4.765022   ){\circle*{ .03590162}} 
  \put( 3.388763 , 4.799755   ){\circle*{ .03590162}} 
  \put( 3.428167 ,  4.83404   ){\circle*{ .03590162}} 
  \put( 3.467571 , 4.867912   ){\circle*{ .03590162}} 
  \put( 3.506976 , 4.901402   ){\circle*{ .03590162}} 
  \put(  3.54638 , 4.934544   ){\circle*{ .03590162}} 
  \put( 3.585784 ,  4.96737   ){\circle*{ .03590162}} 
  \put( 3.625188 , 4.999915   ){\circle*{ .03590162}} 
  \put( 3.664593 , 5.032208   ){\circle*{ .03590162}} 
  \put( 3.703997 , 5.064282   ){\circle*{ .03590162}} 
  \put( 3.743401 , 5.096170   ){\circle*{ .03590162}} 
  \put( 3.782805 , 5.127901   ){\circle*{ .03590162}} 
  \put( 3.822209 , 5.159509   ){\circle*{ .03590162}} 
  \put( 3.861614 , 5.191023   ){\circle*{ .03590162}} 
  \put( 3.901018 , 5.222475   ){\circle*{ .03590162}} 
  \put( 3.940422 , 5.253896   ){\circle*{ .03590162}} 
  \put( 3.979826 , 5.285317   ){\circle*{ .03590162}} 
  \put(  4.01923 , 5.316769   ){\circle*{ .03590162}} 
  \put( 4.058635 , 5.348284   ){\circle*{ .03590162}} 
  \put( 4.098039 ,  5.37989   ){\circle*{ .03590162}} 
  \put( 4.137443 , 5.411623   ){\circle*{ .03590162}} 
  \put( 4.176847 ,  5.44351   ){\circle*{ .03590162}} 
  \put( 4.216252 , 5.475584   ){\circle*{ .03590162}} 
  \put( 4.255656 , 5.507878   ){\circle*{ .03590162}} 
  \put(  4.29506 , 5.540422   ){\circle*{ .03590162}} 
  \put( 4.334464 , 5.573249   ){\circle*{ .03590162}} 
  \put( 4.373869 ,  5.60639   ){\circle*{ .03590162}} 
  \put( 4.413273 ,  5.63988   ){\circle*{ .03590162}} 
  \put( 4.452677 , 5.673752   ){\circle*{ .03590162}} 
  \put( 4.492081 , 5.708037   ){\circle*{ .03590162}} 
  \put( 4.531485 ,  5.74277   ){\circle*{ .03590162}} 
  \put( 4.570890 , 5.777987   ){\circle*{ .03590162}} 
  \put( 4.610294 ,  5.81372   ){\circle*{ .03590162}} 
  \put( 4.649698 , 5.850007   ){\circle*{ .03590162}} 
  \put( 4.689102 , 5.886881   ){\circle*{ .03590162}} 
  \put( 4.728507 ,  5.92438   ){\circle*{ .03590162}} 
  \put(  4.76791 , 5.962541   ){\circle*{ .03590162}} 
  \put( 4.807315 , 6.001402   ){\circle*{ .03590162}} 
  \put( 4.846719 ,    6.041   ){\circle*{ .03590162}} 
  \put( 4.886123 , 6.081375   ){\circle*{ .03590162}} 
  \put( 4.925528 , 6.122567   ){\circle*{ .03590162}} 
  \put( 4.964932 , 6.164617   ){\circle*{ .03590162}} 
  \put( 5.004336 , 6.207565   ){\circle*{ .03590162}} 
  \put(  5.04374 , 6.251454   ){\circle*{ .03590162}} 
  \put( 5.083145 , 6.296329   ){\circle*{ .03590162}} 
  \put( 5.122549 , 6.342232   ){\circle*{ .03590162}} 
  \put( 5.161953 , 6.389209   ){\circle*{ .03590162}} 
  \put( 5.201357 , 6.437307   ){\circle*{ .03590162}} 
  \put( 5.240761 , 6.486573   ){\circle*{ .03590162}} 
  \put( 5.280166 , 6.537056   ){\circle*{ .03590162}} 
  \put( 5.319570 , 6.588805   ){\circle*{ .03590162}} 
  \put( 5.358974 , 6.641872   ){\circle*{ .03590162}} 
  \put( 5.398378 , 6.696309   ){\circle*{ .03590162}} 
  \put( 5.437783 , 6.752170   ){\circle*{ .03590162}} 
  \put( 5.477187 , 6.809509   ){\circle*{ .03590162}} 
  \put( 5.516591 , 6.868384   ){\circle*{ .03590162}} 
  \put( 5.555995 , 6.928853   ){\circle*{ .03590162}} 
  \put( 5.595399 , 6.990975   ){\circle*{ .03590162}} 
  \put( 5.634804 ,  7.05481   ){\circle*{ .03590162}} 
  \put( 5.674208 , 7.120425   ){\circle*{ .03590162}} 
  \put( 5.713612 , 7.187881   ){\circle*{ .03590162}} 
  \put( 5.753016 , 7.257246   ){\circle*{ .03590162}} 
  \put(  5.79242 , 7.328589   ){\circle*{ .03590162}} 
  \put( 5.831825 , 7.401979   ){\circle*{ .03590162}} 
  \put( 5.871229 , 7.477490   ){\circle*{ .03590162}} 
  \put( 5.910633 , 7.555195   ){\circle*{ .03590162}} 
  \put( 5.950037 , 7.635172   ){\circle*{ .03590162}} 
  \put( 5.989442 , 7.717499   ){\circle*{ .03590162}} 
  \put( 6.028846 , 7.802258   ){\circle*{ .03590162}} 
  \put(  6.06825 , 7.889533   ){\circle*{ .03590162}} 
  \put( 6.107654 , 7.979408   ){\circle*{ .03590162}} 
  \put( 6.147059 , 8.071974   ){\circle*{ .03590162}} 
  \put( 6.186463 , 8.167322   ){\circle*{ .03590162}} 
  \put( 6.225867 , 8.265545   ){\circle*{ .03590162}} 
  \put( 6.265271 , 8.366741   ){\circle*{ .03590162}} 
  \put( 6.304675 , 8.471009   ){\circle*{ .03590162}} 
  \put( 6.344080 , 8.578453   ){\circle*{ .03590162}} 
  \put( 6.383484 , 8.689178   ){\circle*{ .03590162}} 
  \put( 6.422888 , 8.803294   ){\circle*{ .03590162}} 
  \put( 6.462292 , 8.920914   ){\circle*{ .03590162}} 
  \put( 6.501697 , 9.042153   ){\circle*{ .03590162}} 
  \put(   6.5411 ,  9.16713   ){\circle*{ .03590162}} 
  \put( 6.580505 , 9.295971   ){\circle*{ .03590162}} 
  \put( 6.619909 , 9.428802   ){\circle*{ .03590162}} 
  \put( 6.659313 , 9.56575    ){\circle*{ .03590162}} 
  \put( 6.698718 , 9.70696    ){\circle*{ .03590162}} 
  \put( 6.738122 , 9.85256    ){\circle*{ .03590162}} 
  \put( 6.777526 ,  10.0027   ){\circle*{ .03590162}} 
  \put( 1.183046 , .505089    ){5Ox} 
%Finis.

apl> '6Ox' graph 2,0,1,r,5  ,xpi     ,0   , 0.1,0 " coshdata.tex

%Draw the data points
  \put( 1.142722 , 9.96003    ){\circle*{ .03590162}} 
  \put( 1.182127 , 9.81786    ){\circle*{ .03590162}} 
  \put(  1.22153 , 9.68019    ){\circle*{ .03590162}} 
  \put( 1.260935 , 9.54689    ){\circle*{ .03590162}} 
  \put( 1.300339 , 9.417833   ){\circle*{ .03590162}} 
  \put( 1.339744 , 9.292882   ){\circle*{ .03590162}} 
  \put( 1.379148 , 9.171917   ){\circle*{ .03590162}} 
  \put( 1.418552 , 9.054819   ){\circle*{ .03590162}} 
  \put( 1.457956 , 8.941474   ){\circle*{ .03590162}} 
  \put(  1.49736 , 8.831768   ){\circle*{ .03590162}} 
  \put( 1.536765 , 8.725593   ){\circle*{ .03590162}} 
  \put( 1.576169 , 8.622845   ){\circle*{ .03590162}} 
  \put( 1.615573 , 8.523423   ){\circle*{ .03590162}} 
  \put( 1.654977 , 8.427227   ){\circle*{ .03590162}} 
  \put( 1.694382 , 8.334164   ){\circle*{ .03590162}} 
  \put( 1.733786 , 8.244141   ){\circle*{ .03590162}} 
  \put(  1.77319 , 8.157070   ){\circle*{ .03590162}} 
  \put( 1.812594 , 8.072864   ){\circle*{ .03590162}} 
  \put( 1.851998 ,  7.99144   ){\circle*{ .03590162}} 
  \put( 1.891403 , 7.912719   ){\circle*{ .03590162}} 
  \put( 1.930807 , 7.836622   ){\circle*{ .03590162}} 
  \put( 1.970211 , 7.763075   ){\circle*{ .03590162}} 
  \put( 2.009615 , 7.692004   ){\circle*{ .03590162}} 
  \put( 2.049020 , 7.623339   ){\circle*{ .03590162}} 
  \put( 2.088424 , 7.557013   ){\circle*{ .03590162}} 
  \put( 2.127828 , 7.492961   ){\circle*{ .03590162}} 
  \put( 2.167232 , 7.431119   ){\circle*{ .03590162}} 
  \put( 2.206636 , 7.371425   ){\circle*{ .03590162}} 
  \put(  2.24604 , 7.313822   ){\circle*{ .03590162}} 
  \put( 2.285445 , 7.258252   ){\circle*{ .03590162}} 
  \put( 2.324849 ,  7.20466   ){\circle*{ .03590162}} 
  \put( 2.364253 , 7.152994   ){\circle*{ .03590162}} 
  \put( 2.403658 , 7.103202   ){\circle*{ .03590162}} 
  \put( 2.443062 , 7.055236   ){\circle*{ .03590162}} 
  \put( 2.482466 , 7.009047   ){\circle*{ .03590162}} 
  \put(  2.52187 , 6.964591   ){\circle*{ .03590162}} 
  \put( 2.561274 , 6.921824   ){\circle*{ .03590162}} 
  \put( 2.600679 , 6.880703   ){\circle*{ .03590162}} 
  \put( 2.640083 , 6.841187   ){\circle*{ .03590162}} 
  \put( 2.679487 , 6.803239   ){\circle*{ .03590162}} 
  \put( 2.718891 , 6.766819   ){\circle*{ .03590162}} 
  \put( 2.758296 , 6.731893   ){\circle*{ .03590162}} 
  \put( 2.797700 , 6.698426   ){\circle*{ .03590162}} 
  \put( 2.837104 , 6.666384   ){\circle*{ .03590162}} 
  \put( 2.876508 , 6.635737   ){\circle*{ .03590162}} 
  \put( 2.915912 , 6.606454   ){\circle*{ .03590162}} 
  \put( 2.955317 , 6.578505   ){\circle*{ .03590162}} 
  \put(  2.99472 , 6.551864   ){\circle*{ .03590162}} 
  \put( 3.034125 , 6.526505   ){\circle*{ .03590162}} 
  \put( 3.073529 , 6.502401   ){\circle*{ .03590162}} 
  \put( 3.112933 , 6.479530   ){\circle*{ .03590162}} 
  \put( 3.152338 , 6.457868   ){\circle*{ .03590162}} 
  \put( 3.191742 , 6.437395   ){\circle*{ .03590162}} 
  \put( 3.231146 ,  6.41809   ){\circle*{ .03590162}} 
  \put(  3.27055 , 6.399934   ){\circle*{ .03590162}} 
  \put( 3.309955 , 6.382910   ){\circle*{ .03590162}} 
  \put( 3.349359 , 6.366999   ){\circle*{ .03590162}} 
  \put( 3.388763 , 6.352188   ){\circle*{ .03590162}} 
  \put( 3.428167 ,  6.33846   ){\circle*{ .03590162}} 
  \put( 3.467571 , 6.325803   ){\circle*{ .03590162}} 
  \put( 3.506976 , 6.314204   ){\circle*{ .03590162}} 
  \put(  3.54638 , 6.303651   ){\circle*{ .03590162}} 
  \put( 3.585784 , 6.294135   ){\circle*{ .03590162}} 
  \put( 3.625188 , 6.285646   ){\circle*{ .03590162}} 
  \put( 3.664593 , 6.278174   ){\circle*{ .03590162}} 
  \put( 3.703997 , 6.271714   ){\circle*{ .03590162}} 
  \put( 3.743401 , 6.266259   ){\circle*{ .03590162}} 
  \put( 3.782805 , 6.261802   ){\circle*{ .03590162}} 
  \put( 3.822209 ,  6.25834   ){\circle*{ .03590162}} 
  \put( 3.861614 ,  6.25587   ){\circle*{ .03590162}} 
  \put( 3.901018 , 6.254390   ){\circle*{ .03590162}} 
  \put( 3.940422 , 6.253896   ){\circle*{ .03590162}} 
  \put( 3.979826 , 6.254390   ){\circle*{ .03590162}} 
  \put(  4.01923 ,  6.25587   ){\circle*{ .03590162}} 
  \put( 4.058635 ,  6.25834   ){\circle*{ .03590162}} 
  \put( 4.098039 , 6.261802   ){\circle*{ .03590162}} 
  \put( 4.137443 , 6.266259   ){\circle*{ .03590162}} 
  \put( 4.176847 , 6.271714   ){\circle*{ .03590162}} 
  \put( 4.216252 , 6.278174   ){\circle*{ .03590162}} 
  \put( 4.255656 , 6.285646   ){\circle*{ .03590162}} 
  \put(  4.29506 , 6.294135   ){\circle*{ .03590162}} 
  \put( 4.334464 , 6.303651   ){\circle*{ .03590162}} 
  \put( 4.373869 , 6.314204   ){\circle*{ .03590162}} 
  \put( 4.413273 , 6.325803   ){\circle*{ .03590162}} 
  \put( 4.452677 ,  6.33846   ){\circle*{ .03590162}} 
  \put( 4.492081 , 6.352188   ){\circle*{ .03590162}} 
  \put( 4.531485 , 6.366999   ){\circle*{ .03590162}} 
  \put( 4.570890 , 6.382910   ){\circle*{ .03590162}} 
  \put( 4.610294 , 6.399934   ){\circle*{ .03590162}} 
  \put( 4.649698 ,  6.41809   ){\circle*{ .03590162}} 
  \put( 4.689102 , 6.437395   ){\circle*{ .03590162}} 
  \put( 4.728507 , 6.457868   ){\circle*{ .03590162}} 
  \put(  4.76791 , 6.479530   ){\circle*{ .03590162}} 
  \put( 4.807315 , 6.502401   ){\circle*{ .03590162}} 
  \put( 4.846719 , 6.526505   ){\circle*{ .03590162}} 
  \put( 4.886123 , 6.551864   ){\circle*{ .03590162}} 
  \put( 4.925528 , 6.578505   ){\circle*{ .03590162}} 
  \put( 4.964932 , 6.606454   ){\circle*{ .03590162}} 
  \put( 5.004336 , 6.635737   ){\circle*{ .03590162}} 
  \put(  5.04374 , 6.666384   ){\circle*{ .03590162}} 
  \put( 5.083145 , 6.698426   ){\circle*{ .03590162}} 
  \put( 5.122549 , 6.731893   ){\circle*{ .03590162}} 
  \put( 5.161953 , 6.766819   ){\circle*{ .03590162}} 
  \put( 5.201357 , 6.803239   ){\circle*{ .03590162}} 
  \put( 5.240761 , 6.841187   ){\circle*{ .03590162}} 
  \put( 5.280166 , 6.880703   ){\circle*{ .03590162}} 
  \put( 5.319570 , 6.921824   ){\circle*{ .03590162}} 
  \put( 5.358974 , 6.964591   ){\circle*{ .03590162}} 
  \put( 5.398378 , 7.009047   ){\circle*{ .03590162}} 
  \put( 5.437783 , 7.055236   ){\circle*{ .03590162}} 
  \put( 5.477187 , 7.103202   ){\circle*{ .03590162}} 
  \put( 5.516591 , 7.152994   ){\circle*{ .03590162}} 
  \put( 5.555995 ,  7.20466   ){\circle*{ .03590162}} 
  \put( 5.595399 , 7.258252   ){\circle*{ .03590162}} 
  \put( 5.634804 , 7.313822   ){\circle*{ .03590162}} 
  \put( 5.674208 , 7.371425   ){\circle*{ .03590162}} 
  \put( 5.713612 , 7.431119   ){\circle*{ .03590162}} 
  \put( 5.753016 , 7.492961   ){\circle*{ .03590162}} 
  \put(  5.79242 , 7.557013   ){\circle*{ .03590162}} 
  \put( 5.831825 , 7.623339   ){\circle*{ .03590162}} 
  \put( 5.871229 , 7.692004   ){\circle*{ .03590162}} 
  \put( 5.910633 , 7.763075   ){\circle*{ .03590162}} 
  \put( 5.950037 , 7.836622   ){\circle*{ .03590162}} 
  \put( 5.989442 , 7.912719   ){\circle*{ .03590162}} 
  \put( 6.028846 ,  7.99144   ){\circle*{ .03590162}} 
  \put(  6.06825 , 8.072864   ){\circle*{ .03590162}} 
  \put( 6.107654 , 8.157070   ){\circle*{ .03590162}} 
  \put( 6.147059 , 8.244141   ){\circle*{ .03590162}} 
  \put( 6.186463 , 8.334164   ){\circle*{ .03590162}} 
  \put( 6.225867 , 8.427227   ){\circle*{ .03590162}} 
  \put( 6.265271 , 8.523423   ){\circle*{ .03590162}} 
  \put( 6.304675 , 8.622845   ){\circle*{ .03590162}} 
  \put( 6.344080 , 8.725593   ){\circle*{ .03590162}} 
  \put( 6.383484 , 8.831768   ){\circle*{ .03590162}} 
  \put( 6.422888 , 8.941474   ){\circle*{ .03590162}} 
  \put( 6.462292 , 9.054819   ){\circle*{ .03590162}} 
  \put( 6.501697 , 9.171917   ){\circle*{ .03590162}} 
  \put(   6.5411 , 9.292882   ){\circle*{ .03590162}} 
  \put( 6.580505 , 9.417833   ){\circle*{ .03590162}} 
  \put( 6.619909 , 9.54689    ){\circle*{ .03590162}} 
  \put( 6.659313 , 9.68019    ){\circle*{ .03590162}} 
  \put( 6.698718 , 9.81786    ){\circle*{ .03590162}} 
  \put( 6.738122 , 9.96003    ){\circle*{ .03590162}} 
  \put( 1.222450 , 9.96003    ){6Ox} 
\end{picture}
\end{center}
%Finis.

apl>)off

