Matemaatika ja statistika instituut
Logi sisse
  • English
  • Kursused
  • 2025/26 sügis
  • Matemaatilise teksti küljendamine (MTMM.00.328)

Matemaatilise teksti küljendamine 2025/26 sügis

  • Üldandmed
  • Korraldus
  • Praktikumid
  • Viited

Praktikum 10

  1. Graafikud Pythonis. Võtke fail graafikud_python.tex ja lisage sinna Python+Matplotlib abil tehtud graafikud PDF-failidena. Abiks on
  • \begin{verbatim} . . . \end{verbatim}
  • \verbatiminput{graafik.py} (toob verbatim-režiimis välja kogu graafik.py sisu, vajab \usepackage{verbatim})
  • \begin{comment} . . . \end{comment} (vajab \usepackage{comment})
  • \includegraphics[width=0.7\textwidth]{graafik.pdf} (vajab \usepackage[pdftex]{graphicx})
  • kompileerimise käsk: pdflatex

Arvutiklassis python tuleb käivitada kujul: "c:\Program Files\Anaconda3\python.exe" fail.py

või kujul: c:\ProgramData\Anaconda3\python.exe fail.py

või kujul: "c:\Program Files\Python39\python.exe" fail.py.

Paketid saab installida käsuga "c:\Program Files\Python39\Scripts\pip.exe" install numpy matplotlib

Kui osutub, et Windowsi arvutis pole python'it eelinstaleeritud numpy ja matplpotlibiga, siis võib kasutada pythonit newmath.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:

  • Vajalikke pakette lisamine:
    • import numpy as np edaspidi saab paketi numpy käske kasutada
    • import matplotlib.pyplot as plt edaspidi saab kasutada plottimiskäske
  • Funktsiooni defineerimine:
    • def f(x): return x**2 defineerib funktsiooni {$f(x) = x^2$}
    • f = lambda x : x**2 defineerib funktsiooni {$f(x) = x^2$}
    • def f(D): return [x**2 if x<=0 else np.cos(x) for x in D], kus D on järjend
  • x = np.arange(-3, 3, 0.01) järjend {$(-3;-2{,}99;-2{,}98;\ldots;3)$}
    • len(z) järjendi z elementide arv
    • x = np.zeros(15) järjend, mis koosneb 15 nullist
    • x = np.ones(15) järjend, mis koosneb 15 ühest
  • xv, yv = np.meshgrid(x, y) - xv on len(x)×len(y) maatriks, mille read on kõik x; yv on len(x)×len(y) maatriks, mille veerud on kõik y.
  • x = np.sin(t) järjend, mille elemendid on t elementide siinused
  • plt.ylim([-5, 5]) y-telje piirid
  • teljed nullpunkti:
    axes = plt.gca()
    axes.spines['left'].set_position('zero')
    axes.spines['bottom'].set_position('zero')
    axes.spines['right'].set_color('none')
    axes.spines['top'].set_color('none')
    axes.xaxis.set_ticks_position('bottom')
    axes.yaxis.set_ticks_position('left')
  • graafiku joonistamine:
    • plt.plot(x(t), y(t)) parameetriline joonistamine (x(t) ja y(t) peavad olema sama pikad järjendid)
    • plt.contour(xv, yv, F(xv, yv), [0]) punktihulk {$\{(x,y)\colon F(x,y) = 0\}$} (funktsioon ilmutamata kujul)
  • 3d jooniste jaoks:
    • from mpl_toolkits.mplot3d import Axes3D
    • fig = plt.figure()
    • ax = fig.add_subplot(projection='3d')
    • ax.plot_surface(x(xv,yv),y(xv,yv),z(xv, yv)) pinna {$z = f(x,y)$} joonistamine
    • ax.view_init(azim=245,elev=30)
  • plt.show() näitab graafikut aknas
  • plt.close() sulgeb graafiku akna
  • plt.savefig("gr5.pdf") salvestab graafiku
import numpy as np                        #edaspidi saab paketi numpy käske kasutada
import matplotlib.pyplot as plt           #edaspidi saab kasutada plottimiskäske
def f1(x): return np.abs(x)               #defineerib funktsiooni f1(x)=|x|
plt.title("Kahemõõtmelised")              #joonise tiitel
plt.xlabel('x-telg')                      #teljede pealkirjad
plt.ylabel('y-telg')
plt.xlim([-2,2])                          #graafikute akna suurus
plt.ylim([-0.5,1.5])
x=np.arange(-3,3,0.01)                    #defineerib määramispiirkonna x=[-3,3] sammuga 0.01
plt.plot(x,np.sin(f1(x)),                 #parameetriline joonistamine,joone värv, paksus, legend
	'r',linewidth=3,label=r"$\sin|x|^3$")
plt.plot(x,1-x**2,'b--',label=r"$1-x^2$")
plt.legend(loc=0)                         #näitab legendi 
plt.savefig("joon1.pdf")                  #määrab väljundfaili
plt.show()                                #näitab graafikut aknas

Abiks on: PDF

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.

  • Matemaatika ja statistika instituut
  • Loodus- ja täppisteaduste valdkond
  • Tartu Ülikool
Tehniliste probleemide või küsimuste korral kirjuta:

Kursuse sisu ja korralduslike küsimustega pöörduge kursuse korraldajate poole.