function Plosny_graf_4
% vykresleni prubehu funkci z1 = x.^2+0.5*y.^2 a z2 = -x.^2-0.5*y.^2
% trirozmerny graf (plosny), jeho vrstevnice a gradient
x=[-10:5:10];
y=x;
[X,Y]=meshgrid(x,y); % vytvoreni pomocnych matic X, Y

Z1=X.^2+0.5*Y.^2; % vypocet funkcnich hodnot maticovymi operacemi

subplot(2,2,1); % rozdeleni grafickeho okna na 4 casti (nasledujici graf v 1. casti)
mesh(x,y,Z1) % vykresleni prostoroveho plosneho grafu (drateny model)

subplot(2,2,3); % rozdeleni grafickeho okna na 4 casti (nasledujici graf v 3. casti)
contour(x,y,Z1) % vykresleni vrstevnic 2D
hold on % pridrzeni aktualniho grafu v grafickem okne, moznost nakresleni vice grafu
[P1_X,P1_Y]=gradient(Z1,5,5);  % vytvoreni pomocnych matic P1_X,P1_Y pro zobrazeni gradientu funkce Z1
quiver(x,y,P1_X,P1_Y) % vykresleni gradientu funkce Z1
hold off % vypnuti hold, konec moznosti kreslit vice grafu do jednoho grafickeho okna

Z2=-X.^2-0.5*Y.^2; % vypocet funkcnich hodnot maticovymi operacemi

subplot(2,2,2); % rozdeleni grafickeho okna na 4 casti (nasledujici graf v 2. casti)
mesh(x,y,Z2) % vykresleni prostoroveho plosneho grafu (drateny model)

subplot(2,2,4); % rozdeleni grafickeho okna na 4 casti (nasledujici graf v 4. casti)
contour(x,y,Z2) % vykresleni vrstevnic 2D
hold on % pridrzeni aktualniho grafu v grafickem okne, moznost nakresleni vice grafu
[P2_X,P2_Y]=gradient(Z2,5,5); % vytvoreni pomocnych matic P2_X,P2_Y pro zobrazeni gradientu funkce Z2
quiver(x,y,P2_X,P2_Y) % vykresleni gradientu funkce Z2
hold off % vypnuti hold