gnuplot.tex 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590
  1. \ifx\undefined\selectfont
  2. \documentstyle[11pt,reduce,epsfig,twoside]{article}
  3. \newcommand{\dotitlepage}{%
  4. \vspace*{\fill}
  5. \nopagebreak
  6. \begin{center}
  7. \Huge
  8. REDUCE \\
  9. \huge
  10. GNUPLOT Interface\\
  11. Version 4\\[40mm]
  12. \LARGE
  13. Herbert Melenk\\[45mm]
  14. \Large
  15. Konrad-Zuse-Zentrum Berlin 1996
  16. \end{center}
  17. }
  18. \newcommand{\VERYLARGE}{\Huge}
  19. \else
  20. \documentstyle[11pt,epsfig,reduce,nfltxsym,twoside]{article}
  21. \makeatletter
  22. \define@nomathsize{70}
  23. \define@nomathsize{40}
  24. \makeatother
  25. \renewcommand{\encodingdefault}{T1}
  26. \renewcommand{\familydefault}{ptm}
  27. \renewcommand{\rmdefault}{ptm}
  28. \renewcommand{\sfdefault}{phv}
  29. \renewcommand{\ttdefault}{pcr}
  30. \renewcommand{\bfdefault}{b}
  31. \newcommand{\dotitlepage}{%
  32. \vspace*{\fill}
  33. \nopagebreak
  34. \begin{center}
  35. \fontsize{70}{75pt}\selectfont
  36. REDUCE \\
  37. \fontsize{40}{65pt}\selectfont
  38. GNUPLOT Interface\\
  39. Version 4\\[40mm]
  40. \LARGE
  41. Herbert Melenk\\[45mm]
  42. \mbox{\epsfig{file=ziblogo.eps,width=21mm}}\\[10mm]
  43. \Large
  44. Konrad-Zuse-Zentrum Berlin 1996
  45. \end{center}
  46. }
  47. \newcommand{\VERYLARGE}{\fontsize{40}{65pt}\selectfont}
  48. \fi
  49. \def\xr{{\tt XR}}
  50. \setlength{\oddsidemargin}{5mm}
  51. \setlength{\evensidemargin}{-5mm}
  52. \setlength{\textwidth}{159.2mm}
  53. \setlength{\textheight}{235mm}
  54. \addtolength{\topmargin}{-18mm}
  55. \date{}
  56. \sloppy
  57. \begin{document}
  58. \pagestyle{empty}
  59. \begin{titlepage}
  60. \dotitlepage
  61. \end{titlepage}
  62. \newpage
  63. Gnuplot
  64. \newpage
  65. \title{GNUPLOT Interface for REDUCE\\Version 4}
  66. \author{Herbert Melenk \\
  67. Konrad--Zuse--Zentrum f\"ur Informationstechnik Berlin \\
  68. E--mail: Melenk@zib.de}
  69. \maketitle
  70. \index{GNUPLOT package}
  71. \markboth{APPENDIX}{GNUPLOT Interface for REDUCE}
  72. \section{APPENDIX: GNUPLOT Interface for REDUCE}
  73. \subsection{Introduction}
  74. The GNUPLOT system provides easy to use graphics output
  75. for curves or surfaces which are defined by
  76. formulas and/or data sets. GNUPLOT supports
  77. a variety of output devices such as
  78. \verb+VGA screen+, \verb+postscript+, \verb+pic+ \TeX,
  79. \verb+MS Windows+.
  80. The {\small REDUCE} GNUPLOT package lets one use the GNUPLOT
  81. graphical output directly from inside {\small REDUCE}, either for
  82. the interactive display of curves/surfaces or for the production
  83. of pictures on paper.
  84. {\small REDUCE} supports GNUPLOT 3.4 (or higher).
  85. For DOS, Windows, Windows 95, Windows NT, OS/2
  86. and Unix versions of {\small REDUCE}
  87. GNUPLOT binaries are delivered together with {\small REDUCE}
  88. \footnote{The GNUPLOT developers have agreed that GNUPLOT
  89. binaries can be distributed together with {\small REDUCE}.
  90. As GNUPLOT is a package distributed without cost,
  91. the GNUPLOT support of {\small REDUCE} also is an
  92. add-on to the {\small REDUCE} kernel system without charge.
  93. We recommend fetching the full GNUPLOT system
  94. by anonymous FTP from a file server.
  95. } % end of footnote
  96. . However, this is a basic set only.
  97. If you intend to use more facilities of the GNUPLOT
  98. system you should pick up the full GNUPLOT file tree
  99. from a server, e.g.
  100. \begin{itemize}
  101. \item dartmouth.edu (129.170.16.4)
  102. \item monu1.cc.monash.edu.au (130.194.1.101)
  103. \item irisa.irisa.fr (131.254.2.3)
  104. \end{itemize}
  105. \subsection{Command PLOT}
  106. Under {\small REDUCE} GNUPLOT is used as graphical output
  107. server, invoked by the command \verb+PLOT(...)+.
  108. This command can have a variable number of
  109. parameters:
  110. \begin{itemize}
  111. \item A functions to plot; a function can be
  112. \begin{itemize}
  113. \item an expression with one unknown, e.g. $u*sin(u)**2$
  114. \item a list of expressions with one (identical) unknown,
  115. e.g. $\{sin(u),cos(u)\}$
  116. \item an expression with two unknowns, e.g.
  117. $u*sin(u)**2+sqrt(v)$
  118. \item a parametic expression of the form $point(<u>,<v>)$ or
  119. $point(<u>,<v>,<w>)$ where $<u>$, $<v>$ and $<w>$ are
  120. expressions which depend of one or two parameters;
  121. if there is one parameter, the object describes a curve
  122. in the plane (only $<u>$ and $<v>$) or in the 3D space;
  123. if there are two parameters, the object describes a
  124. surface in 3D. The parameters are treated as independent
  125. variables. Example:\\
  126. $ point(sin t,cos t,t/10)$
  127. \item an equation with a symbol on the left-hand side
  128. and an expression with one or two unknowns on the
  129. right-hand side, e.g.\\ $dome=1/(x**2+y**2)$
  130. \item an equation with an expression on the
  131. left--hand side and a zero on right--hand side
  132. describing implicitly a one dimensional
  133. variety in the plane (implicitly given curve), e.g.
  134. \\ $x{\verb+^+}3 + x*y{\verb+^+}2 -9x = 0$, or a two dimensional
  135. surface in the 3 dimensional Euclidean space,
  136. \item an equation with an expression in two variables on the
  137. left--hand side and a list of numbers on the
  138. right--hand side; the contour lines corresponding
  139. to the given values are drawn, e.g.
  140. \\ $x{\verb+^+}3 - y{\verb+^+}2 + x*y= \{-2,-1,0,1,2\}$,
  141. \item a list of points in 2 or 3 dimensions
  142. e.g. \\ $\{\{0,0\},\{0,1\},\{1,1\}\}$ representing
  143. a curve,
  144. \item a list of lists of points in 2 or 3 dimensions
  145. e.g.\\ $\{\{\{0,0\},\{0,1\},\{1,1\}\},
  146. \{\{0,0\},\{0,1\},\{1,1\}\}\}$
  147. representing a family of curves.
  148. \end{itemize}
  149. \item A range for a variable; this has the form\\
  150. $variable=(lower\_bound\, . . \, upper\_bound)$ where
  151. $lower\_bound$ and $upper\_bound$ must be expressions which
  152. evaluate to numbers. If no range is specified the
  153. default ranges for independent variables are $(-10\,\,..\,\,10)$
  154. and the range for the dependent variable is set to
  155. maximum number of the GNUPLOT executable (using double
  156. floats on most IEEE machines and single floats under DOS).
  157. Additionally the number of interval subdivisions can be
  158. assigned as a formal quotient\\
  159. $variable=(lower\_bound\, . . \, upper\_bound)/<it>$
  160. where $<it>$ is a positive integer. E.g.
  161. $(1 .. 5)/30$ means the interval from $1$ to $5$
  162. subdivided into $30$ pieces of equal size. A subdivision
  163. parameter overrides the value of the variable $points$
  164. for this variable.
  165. \item A plot option, either as fixed keyword,
  166. e.g. \verb$hidden3d$ or as equation e.g. \verb$term=pictex$;
  167. free texts such as titles and labels should be enclosed in
  168. string quotes.
  169. \end{itemize}
  170. Please note that a blank has to be inserted between a number
  171. and a dot - otherwise the REDUCE translator will be mislead.
  172. If a function is given as an equation the left-hand side
  173. is mainly used as a label for the axis of the dependent variable.
  174. In two dimensions, \verb+PLOT+ can be called with
  175. more than one explicit function; all curves
  176. are drawn in one picture. However,
  177. all these must use the same independent variable name.
  178. One of the functions can be a point set or a point set list.
  179. Normally all functions and point sets are plotted by
  180. lines. A point set is drawn by points only if functions and
  181. the point set are drawn in one picture.
  182. In three dimensions only one surface can be shown per call.
  183. Also an implicilty given curve must be the sole object for one
  184. picture.
  185. The functional expressions are evaluated in \verb$rounded$ mode.
  186. This is done automatically - it is not necessary to turn
  187. on rounded mode explicitly.
  188. \newpage
  189. Examples:
  190. \begin{verbatim}
  191. plot(cos x);
  192. plot(s=sin phi,phi=(-3 .. 3));
  193. plot(sin phi,cos phi,phi=(-3 .. 3));
  194. plot (cos sqrt(x**2 + y**2),x=(-3 .. 3),y=(-3 .. 3),hidden3d);
  195. plot {{0,0},{0,1},{1,1},{0,0},{1,0},{0,1},{0.5,1.5},{1,1},{1,0}};
  196. % parametric: screw
  197. on rounded;
  198. w:=for j:=1:200 collect {1/j*sin j,1/j*cos j,j/200}$
  199. plot w;
  200. % parametric: globe
  201. dd:=pi/15$
  202. w:=for u:=dd step dd until pi-dd collect
  203. for v:=0 step dd until 2pi collect
  204. {sin(u)*cos(v), sin(u)*sin(v), cos(u)}$
  205. plot w;
  206. % implicit: superposition of polynomials
  207. plot((x^2+y^2-9)*x*y=0);
  208. \end{verbatim}
  209. Piecewise defined functions:
  210. A composed graph can be defined by a rule--based operator.
  211. In that case each rule must contain a clause which restricts
  212. the rule application to numeric arguments, e.g.
  213. \begin{verbatim}
  214. operator my_step1;
  215. let {my_step1(~x) => -1 when numberp x and x<-pi/2,
  216. my_step1(~x) => 1 when numberp x and x>pi/2,
  217. my_step1(~x) => sin x
  218. when numberp x and -pi/2<=x and x<=pi/2};
  219. plot(my_step2(x));
  220. \end{verbatim}
  221. Of course, such a rule may call a procedure:
  222. \begin{verbatim}
  223. procedure my_step3(x);
  224. if x<-1 then -1 else if x>1 then 1 else x;
  225. operator my_step2;
  226. let my_step2(~x) => my_step3(x) when numberp x;
  227. plot(my_step2(x));
  228. \end{verbatim}
  229. The direct use of a produre with a numeric $if$ clause
  230. is impossible.
  231. Plot options:
  232. The following plot options are supported in the \verb+PLOT+ command:
  233. \begin{itemize}
  234. \item $points=<integer>$: the number of unconditionally computed
  235. data points; for a grid $points^2$ grid points are used.
  236. The default value is 20. The value of $points$ is used
  237. only for variables for which no individual interval
  238. subdivision has been specified in the range specification.
  239. \item $refine=<integer>$: the maximum depth of adaptive
  240. interval intersections. The default is 8. A value 0 switches
  241. any refinement off. Note that a high value may increase the
  242. computing time significantly.
  243. \end{itemize}
  244. The following additional GNUPLOT options are supported in the \verb+PLOT+ command:
  245. \begin{itemize}
  246. \item $title=name$: the title (string) is put on top
  247. of the picture.
  248. \item axes labels: $xlabel="text1"$, $ylabel="text2"$, and for
  249. surfaces $zlabel="text3"$. If omitted the axes are labeled
  250. by the independent and dependent variable names from the
  251. expression. Note that the axes names $x$label, $y$label and
  252. $z$label here are used in the usual sense, $x$ for the
  253. horizontal and $y$ for the vertical axis under 2-d and
  254. $z$ for the perpendicular axis under 3-d -- these names
  255. do not refer to the variable names used in the expressions.
  256. \begin{verbatim}
  257. plot(1,X,(4*X**2-1)/2,(X*(12*X**2-5))/3,
  258. x=(-1 .. 1), ylabel="L(x,n)",
  259. title="Legendre Polynomials");
  260. \end{verbatim}
  261. \item $terminal=name$: prepare output for device type $name$.
  262. Every installation uses a default terminal as output
  263. device; some installations support additional
  264. devices such as printers; consult the original
  265. GNUPLOT documentation or the GNUPLOT Help for details.
  266. \item $output="filename"$: redirect the output to a file.
  267. \item $size="s_x,s_y"$: rescale the graph (not the
  268. window) where $s_x$ and $s_y$ are scaling
  269. factors for the size in x or y
  270. direction. Defaults are $s_x=1,x_z=1$.
  271. Note that scaling factors greater than one
  272. will often cause the picture to be too big for
  273. the window.
  274. \begin{verbatim}
  275. plot(1/(x**2+y**2),x=(0.1 .. 5),
  276. y=(0.1 .. 5), size="0.7,1");
  277. \end{verbatim}
  278. \item $view="r_x,r_z"$: set viewpoint for 3 dimensions
  279. by turning the object around the x or z axis;
  280. the values are degrees (integers).
  281. Defaults are $r_x=60,r_z=30$.
  282. \begin{verbatim}
  283. plot(1/(x**2+y**2),x=(0.1 .. 5),
  284. y=(0.1 .. 5), view="30,130");
  285. \end{verbatim}
  286. \item $contour$ resp $nocontour$: in 3 dimensions an
  287. additional contour map is drawn (default: $nocontour$)
  288. Note that $contour$ is an option
  289. which is executed by GNUPLOT by interpolating the precomputed
  290. function values. If you want to draw contour lines of a
  291. delicate formula, you better use the contour form of the
  292. REDUCE PLOT command.
  293. \item $surface$ resp $nosurface$: in 3 dimensions the
  294. surface is drawn resp suppressed (default: $surface$).
  295. \item $hidden3d$: hidden line removal in 3 dimensions.
  296. \end{itemize}
  297. \subsection{Paper output}
  298. The following example works for a postscript printer.
  299. If your printer uses a different communication, please find
  300. the correct setting for the $terminal$ variable in the $Gnuplot$
  301. documentation.
  302. For a postscript printer, add the options $terminal=postscript$
  303. and $output="filename"$
  304. to your plot command, e.g.
  305. \begin{verbatim}
  306. plot(sin x,x=(0 .. 10),terminal=postscript,output="sin.ps");
  307. \end{verbatim}
  308. \subsection{Mesh generation for implicit curves}
  309. The basic mesh for finding an implicitly given curve,
  310. the $x,y$ plane is subdivided into an initial set of triangles.
  311. Those triangles which have an explicit zero point or which have
  312. two points with different signs are refined by subdivision.
  313. A further refinement is performed for triangles which do not have
  314. exactly two zero neighbours because such places may represent crossings,
  315. bifurcations, turning points or other difficulties.
  316. The initial subdivision and the refinements are controlled by
  317. the option \verb+points+ which is initially set to 20:
  318. the initial grid is refined unconditionally until approximately
  319. \verb+points+ * \verb+points+ equally distributed
  320. points in the $x,y$ plane have been generated.
  321. The final mesh can be visualized in the picture by setting
  322. \begin{verbatim}
  323. on show_grid;
  324. \end{verbatim}
  325. \subsection{Mesh generation for surfaces}
  326. By default the functions are computed at predefined
  327. mesh points: the ranges are divided by the number
  328. associated with the option \verb$points$ in both
  329. directions.
  330. For two dimensions the given mesh is adaptively
  331. smoothed when the curves are too coarse, especially
  332. if singularities are present. On the other hand
  333. refinement can be rather time consuming if used with
  334. complicated expressions. You can control it with the option
  335. \verb+refine+. At singularities the graph is
  336. interrupted.
  337. In three dimensions no refinement is possible as
  338. GNUPLOT supports surfaces
  339. only with a fixed regular grid. In the case
  340. of a singularity the near neighborhood is
  341. tested; if a point there allows a function evaluation, its
  342. clipped value is used instead, otherwise a zero is inserted.
  343. When plotting surfaces in three dimensions you have the
  344. option of hidden line removal. Because of an error in
  345. Gnuplot 3.2 the axes cannot be labeled
  346. correctly when hidden3d is used ; therefore they aren't labelled at all. Hidden line
  347. removal is not available with point lists.
  348. \subsection{GNUPLOT operation}
  349. The command \verb+PLOTRESET;+ deletes the current GNUPLOT output
  350. window. The next call to \verb+PLOT+ will then open a new one.
  351. If GNUPLOT is invoked directly by an output pipe (UNIX and Windows),
  352. an eventual error in the GNUPLOT data transmission might cause GNUPLOT to
  353. quit. As {\small REDUCE} is unable to detect the broken pipe, you
  354. have to reset the plot system by calling the
  355. command \verb+PLOTRESET;+ explicitly. Afterwards new graphic output
  356. can be produced.
  357. Under Windows 3.1 and Windows NT, GNUPLOT has a text and a graph window.
  358. If you don't want to see the text window, iconify it and
  359. activate the option \verb+update wgnuplot.ini+ from the
  360. graph window system menu - then the present screen layout
  361. (including the graph window size) will be saved and the text
  362. windows will come up iconified in future. You can also select
  363. some more features there and so tailor the graphic output.
  364. Before you terminate {\small REDUCE} you should terminate the
  365. graphic window by calling \verb+PLOTRESET;+.
  366. If you terminate {\small REDUCE} without deleting the
  367. GNUPLOT windows, use the command button from the
  368. GNUPLOT text window - it offers an exit function.
  369. \subsection{Saving GNUPLOT command sequence}
  370. If you want to use the internal GNUPLOT command sequence
  371. more than once (e.g. for producing a picture for a publication),
  372. you may set
  373. \begin{verbatim}
  374. ON TRPLOT,PLOTKEEP;
  375. \end{verbatim}
  376. TRPLOT causes all GNUPLOT commands
  377. to be written additionally to the actual
  378. {\small REDUCE} output. Normally the data files are
  379. erased after calling GNUPLOT, however with PLOTKEEP on
  380. the files are not erased.
  381. \subsection{Direct Call of GNUPLOT}
  382. GNUPLOT has a lot of facilities which are not accessed by
  383. the operators and parameters described above. Therefore
  384. genuine GNUPLOT commands can be sent by {\small REDUCE}.
  385. Please consult the GNUPLOT manual for the available
  386. commands and parameters. The general syntax for a GNUPLOT call
  387. inside {\small REDUCE} is
  388. $gnuplot(<cmd>,<p_1>,<p_2> \cdots)$
  389. where $<cmd>$ is a command name and $<p_1>,<p_2> \cdots$
  390. are the parameters, inside {\small REDUCE} separated by
  391. commas. The parameters are evaluated by
  392. {\small REDUCE} and then transmitted to GNUPLOT in
  393. GNUPLOT syntax. Usually a drawing is built by a
  394. sequence of commands which are buffered
  395. by {\small REDUCE} or the operating
  396. system. For terminating and activating them use the {\small REDUCE}
  397. command \verb+plotshow+. Example:
  398. \begin{verbatim}
  399. gnuplot(set,polar);
  400. gnuplot(set,noparametric);
  401. gnuplot(plot,x*sin x);
  402. plotshow;
  403. \end{verbatim}
  404. In this example the function expression is transferred literally
  405. to GNUPLOT, while {\small REDUCE}
  406. is responsible for computing the function values when \verb+PLOT+ is called.
  407. Note that GNUPLOT restrictions with respect to variable
  408. and function names have to be taken into account when
  409. using this type of operation. {\bf Important}: String quotes are
  410. not transferred to the GNUPLOT executable; if the GNUPLOT syntax
  411. needs string quotes, you must add doubled stringquotes {\bf inside}
  412. the argument string, e.g.
  413. \begin{verbatim}
  414. gnuplot(plot,"""mydata""","using 2:1");
  415. \end{verbatim}
  416. \section{Examples}
  417. The following examples pictures are taken from a collection of sample
  418. plot (gnuplot.tst) and a set of tests for plotting special functions
  419. (will be published in the {\REDUCE} electronic library).
  420. The pictures are taken directly form the X screen by xv or
  421. produced by the $Gnuplot$ postscript driver directly.
  422. A simple plot for sin(1/x) :
  423. \begin{verbatim}
  424. plot(sin(1/x),x=(-1 .. 1),y=(-3 .. 3));
  425. \end{verbatim}
  426. \unitlength=1cm
  427. \begin{picture}(12,10)(0,0)
  428. \put(1,1){\epsfbox{gnuplotex1.ps}}
  429. \end{picture}
  430. Some implicitly defined curves.
  431. \begin{verbatim}
  432. plot(x^3+y^3 -3*x*y ={0,1,2,3},x=(-2.5 .. 2),y=(-5 .. 5));
  433. \end{verbatim}
  434. \unitlength=1cm
  435. \begin{picture}(10,8)(-1,0.5)
  436. \put(1,1){\epsfbox{bild1.ps}}
  437. \end{picture}
  438. \newpage
  439. A test for hidden surfaces:
  440. \begin{verbatim}
  441. plot (cos sqrt(x**2 + y**2),x=(-3 .. 3),y=(-3 .. 3),hidden3d);
  442. \end{verbatim}
  443. \begin{picture}(12,10)(0,0)
  444. \put(1,1){\epsfbox{gnuplotex2.ps}}
  445. \end{picture}
  446. This may be slow on some machines because of a delicate evaluation context.
  447. \begin{verbatim}
  448. plot(sinh(x*y)/sinh(2*x*y),hidden3d);
  449. \end{verbatim}
  450. \begin{picture}(12,10)(0,0)
  451. \put(1,2){\epsfbox{gnuplotex3.ps}}
  452. \end{picture}
  453. \newpage
  454. \begin{verbatim}
  455. on rounded;
  456. w:= {for j:=1 step 0.1 until 20 collect {1/j*sin j,1/j*cos j,j},
  457. for j:=1 step 0.1 until 20 collect
  458. {(0.1+1/j)*sin j,(0.1+1/j)*cos j,j} }$
  459. plot w;
  460. \end{verbatim}
  461. \begin{picture}(12,9)(0,0)
  462. \put(1,1){\epsfbox{gnuplotex4.ps}}
  463. \end{picture}
  464. An example taken from: Cox, Little, O'Shea: Ideals, Varieties and Algorithms
  465. \begin{verbatim}
  466. plot(point(3u+3u*v^2-u^3,3v+3u^2*v-v^3,3u^2-3v^2),hidden3d,title="Enneper Surface");
  467. \end{verbatim}
  468. \begin{picture}(10,7.8)(-1,0.5)
  469. \put(1,1){\epsfbox{bild2.ps}}
  470. \end{picture}
  471. The following examples use the specfn package to draw a
  472. collection of Chebyshev's T polynomials and Bessel Y Functions.
  473. The special function package has to be loaded explicitely
  474. to make the operator ChebyshevT and BesselY available.
  475. \newpage
  476. \begin{verbatim}
  477. load_package specfn;
  478. plot(chebyshevt(1,x),chebyshevt(2,x),chebyshevt(3,x),chebyshevt(4,x),
  479. chebyshevt(5,x),x=(-1 .. 1),title="Chebyshev t Polynomials");
  480. \end{verbatim}
  481. \begin{picture}(12,10)(0,0)
  482. \put(1,2){\epsfbox{gnuplotex5.ps}}
  483. \end{picture}
  484. \begin{verbatim}
  485. plot(bessely(0,x),bessely(1,x),bessely(2,x),x=(0.1 .. 10)
  486. ,y=(-1 .. 1), title="Bessel functions of 2nd kind");
  487. \end{verbatim}
  488. \begin{picture}(12,8)(0,0)
  489. \put(1,-1){\epsfbox{gnuplotex6.ps}}
  490. \end{picture}
  491. \end{document}