Plotting a function
gnuplot can be used as a tool to interactively explore the structure of mathematical functions, as well as to create illustrations for publication or education. It has built-in knowledge of both elementary functions, such as sine and cosine, and some special functions, such as Bessel functions and elliptic integrals. The following figure shows the plotting of the besj0(x)
function:
Getting ready
Start up an interactive gnuplot session and make sure that your graphic terminal of choice is selected, and working, using the set term
command (for example, at the console you simply type gnuplot
, and, to change the default terminal to X Windows, type set term x11
).
How to do it…
Type plot besj0(x)
at the console. The plot in the figure should pop up immediately.
There's more…
Gnuplot understands a big handful of mathematical functions, listed in Section 13.1 of the official manual (the official gnuplot documentation can be found at gnuplot's home, http://gnuplot.info/). It also understands all the basic mathematical operators, with a syntax similar to Fortran or C, so you can combine functions into expressions, as shown in the following command:
plot [-5:5] (sin(1/x) - cos(x))*erfc(x)
In the previous command, we have also shown how to use the [a:b] notation to limit the plot to a specified range on the x-axis.