2. feladat

Egyszerű kétváltozós függvény - I.

  • Ábrázold pcolor használatával az $$ f(x,y)=e^{-(x-1)^2-(y+1.5)^2}+\cos(x^3-3y^2) $$ függvényt az $x\in[-3,3],\ y\in[-3,3]$ tartományban! A színskála 'magma' legyen és készíts színmagyarázatot (colorbar-t)!

  • Jelöld meg ugyanezen a képen azokat a pontokat az $(x-y)$ síkon, melyekre a fent definiált $f(x,y)$ függvény a $-0.25$ és $0.5$ értékeket veszi fel! Használd a contour függvényt! Legyen a kontúrvonalakra felírva a szintjük is!

  • Az ábrádnak legyen címe, és tengelyfeliratai!

Megoldás

Mivel használni fogjuk a matplotlib modult, töltsük be a pylab-ot

In [1]:
%pylab inline
Populating the interactive namespace from numpy and matplotlib

Majd ezután, készítsük el az ábrát! Az x és y adatsort ezúttal a meshgrid() függvénnyel állítjuk elő, majd ezekből számoljuk ki a függvényértéket. A kétváltozós függvényt a pcolor()-ral ábrázoljuk, és a contour() függvénnyel rajzoljuk rá a szintvonalakat. A többi stíluselemet a függvények paramétereként adjuk meg.

In [2]:
x, y = meshgrid(linspace(-3, 3, 100), linspace(-3, 3, 100))                   # x és y adatsor
fxy = e**(- (x - 1)**2 - (y + 1.5)**2) + cos(x**3 - 3 * y**2)                 # függvényérték

pcolor(x, y, fxy, cmap="magma")                                               # ábrázolás a magma színskéálával
colorbar()                                                                    # A színskála megjelenítése
title("Szintvonalas ábrázolás", fontsize=20, y=1.05)
xlabel("x tengely", size=11)
ylabel("y tengely", size=11)

cs = contour(x, y, fxy, levels=[-0.25, 0.5], colors=("lightgreen", "yellow")) # A kontúrok felrajzolása
clabel(cs)                                                                    # és a szintjük kiírása
Out[2]:
<a list of 49 text.Text objects>