Praktikum 9
- Graafikud Pythonis. Võtke fail graafikud_python.tex ja lisage sinna Python+Matplotlib abil tehtud graafikud PDF-failidena. Hoolitsege, et Pythoni lähtekood kaduma ei läheks. Abiks on
-
\begin{verbatim} . . . \end{verbatim} -
\begin{comment} . . . \end{comment}(vajab\usepackage{comment}) -
\begin{lstlisting}[frame=single] . . . \end{lstlisting}(vajab\usepackage{listings})
Python tuleb käivitada kujul: c:\pyzo2015a\python.exe fail.py
või
"c:\Program Files\Anaconda3\python.exe" fail.py
Kui osutub, et Windowsi arvutis pole python'it eelinstaleeritud numpy ja matplpotlibiga, siis võib kasutada pythonit math.ut.ee serveril (logige Putty'ga sinna sisse). Selle serveri kodukaust ongi teie H: ketas. Siin python'it saab käivitada lihtsalt käsuga python. Kuna server pole seotud teie display'ga, siis matplotlibi peab importima nii:
import matplotlib as mpl
mpl.use('pdf')
import matplotlib.pyplot as plt
Vajalikke Pythoni käske:
f = lambda x : x**2defineerib funktsiooni {$f(x) = x^2$}def f(x):defineerib funktsiooni {$f(x) = x^2$}
return x**2len(z)järjendi z elementide arvimport numpy as npedaspidi saab paketi numpy käske kasutadax = np.arange(-3, 3, 0.01)järjend {$(-3;-2{,}99;-2{,}98;\ldots;3)$}x = np.zeros(15)järjend, mis koosneb 15 nullistx = np.ones(15)järjend, mis koosneb 15 ühestx = np.sin(t)järjend, mille elemendid on t elementide siinusedxv, yv = np.meshgrid(x, y)-xvonlen(x)×len(y)maatriks, mille read on kõikx;yvonlen(x)×len(y)maatriks, mille veerud on kõiky.
import matplotlib.pyplot as pltedaspidi saab kasutada plottimiskäskeplt.plot(x, f(x), label=r"$y=x^2$")parameetriline joonistamine (xjaf(x)peavad olema sama pikad järjendid)plt.legend(loc=’best’)joonte selgitusaxes = plt.gca()teljestikaxes.set_ylim([-5, 5])y-telje piiridplt.ylim([-5, 5])y-telje piiridaxes.spines['left'].set_position('center')axes.spines['bottom'].set_position('center')axes.spines['right'].set_color('none')axes.spines['top'].set_color('none')axes.xaxis.set_ticks_position('bottom')axes.yaxis.set_ticks_position('left')teljed keskeleplt.contour(xv, yv, F(xv, yv), [0])punktihulk {$\{(x,y)\colon F(x,y) = 0\}$}plt.show()näitab graafikut aknasplt.savefig("gr5.pdf")salvestab graafikufrom mpl_toolkits.mplot3d import Axes3Dfig = plt.figure()ax = fig.gca(projection=’3d’)ax.view_init(elev=30, azim=245)ax.set_xlabel(’x’)kolmemõõtmelise joonise parameetridax.plot_surface(x, y, f(x, y))pind {$z = f(x,y)$}
Kodus
Pythonis joonistamiseks on vaja tõmmata paketid numpy ja matplotlib.
Võimalused selleks:
1. Tõmmata selline Pythoni distributsioon, kus on kõik see olemas.
http://www.scipy.org/install.html
siin on need loetletud, klassi arvutites on Anaconda.
või
2. Tõmmata vajalikud paketid (numpy ja matplotlib) siit:
http://www.lfd.uci.edu/~gohlke/pythonlibs/
ning installida nad PIP abil. (Seal lehel on kirjeldatud.)
PIP on pythoni pakettide (laiend on .whl) installimisprogramm.