Mathematikorientierte Computernutzung

Vorlesung 1: Beispiel zu LaTeX und GnuPlot

Grafik mit GnuPlot

Steuerdatei fourier.gnuplot

#!/usr/bin/gnuplot

#Die zu approximierende Rechteckfunktion
f(x)=pi/4*(1-2*(((floor(x)%2)+2)%2))

#Die auftretenden Sinus-Summanden 
#mit ungeradem Index
c(k,x)=sin((2*k-1)*pi*x)/(2*k-1)

#Rekursive Definition der Partialsummen
#der Fourier-Reihe
fr(k,x)=(k==0)?0:fr(k-1,x)+c(k,x)

#Koordinatenkreuz und andere Einstellungen
set zeroaxis
set samples 500
set key below
set lmargin screen 0.07

#Stelle Ausgabe in EPS 
#(Encapsulated PostScipt)
#ein und zeichne 4 Funktionen
set term push
set term post enh color lw 2 20 
set output "fourier.eps"
plot [-0.5:2.5] f(x) wi li lw 3,\
        fr(1,x) ti "f_1(x)",\
        fr(3,x) ti "f_3(x)",\
        fr(7,x) ti "f_7(x)"
unset output
set term pop

Ausführen der Datei auf der Kommandozeile mit

gnuplot fourier.gnuplot
oder durch Kopieren der einzelnen Befehle in einer laufenden GnuPlot-Sitzung. Wandle (das Vektorformat) EPS in (das Vektorformat) PDF
epstopdf fourier.eps

LaTeX

Quelltext latex-beispiel.tex

%Dokumententyp und Papierformat
\documentclass[a5paper,landscape]{article}

\usepackage[scale=0.9]{geometry}

%Deutsch mit Umlauten und TrueType-Schrift
\usepackage[latin1]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage{lmodern}

%Erweiterte Mathematikunterstützung
\usepackage{amsmath}

%Formatierung von Quellcode
\usepackage{listings}

%Einbinden von Bildern
\usepackage{graphicx}

%Mehrspaltiger Satz
\usepackage{multicol}

\begin{document}

%Überschrift fett und etwas größer

\textbf{\large Ein Beispiel zur Fourier--Reihe mit einem durch gnuplot erzeugten Graph.}

%Obere Hälfte Formeln

\begin{multicols}{2}
Die Funktion
\[
  f(x)=\frac\pi4\cdot
      \begin{cases}
         \phantom{-}1&\text{ für }x\in(0,1],\\
                   -1&\text{ für }x\in(-1,0].
      \end{cases}
\]
hat Periode $T=2$ und die Fourier--Reihe
\[
  r(x)=\frac{a_0}2
      +\sum_{n=1}^\infty 
          \left(
	     a_n\,\cos(\pi n\,x)
	    +b_n\,\sin(\pi n\,x)
	  \right)
\]
mit Koeffizienten
\begin{align*}
  a_n&=\int_{-1}^{1} f(x)\,\cos(\pi n\,x)\;d\!x=0,\\
  b_n&=\int_{-1}^{1} f(x)\,\sin(\pi n\,x)\;d\!x
  = \begin{cases}
      \frac1n & n \text{ ungerade}\\
      0       & n \text{ gerade}
    \end{cases}
\end{align*}
\end{multicols}

%Untere Hälfte Grafik

\begin{minipage}{0.4\linewidth}
  \lstset{language=Gnuplot,frame=single,basicstyle=\scriptsize}
  \footnotesize
  \lstinputlisting{fourier.gnuplot}
\end{minipage}%
\begin{minipage}{0.6\linewidth}
  \includegraphics[angle=270,width=\the\textwidth]{fourier}
\end{minipage}

\end{document}

Übersetzen der Datei auf der Kommandozeile mit

latex latex-beispiel.tex
dvips latex-beispiel.dvi
ps2pdf latex-beispiel.ps
in PostScript und Portable Document Format oder direkter ohne Zwischenschritte
pdflatex latex-beispiel.tex