% Funktionsytor

x=-2.5:0.1:2.5;    % Skapa (endimensionella) vektorer x och y
y=-2.5:0.1:2.5;

[X,Y]=meshgrid(x,y);  % Skapa motsvarande matriser

Z = sin(X+Y);         % Beräkna en funktion f(x,y)

mesh(X,Y,Z);          % Plotta ytan i 3D

pause

Z = X.^2 + 2*Y.^2;    % Beräkna en ny funktion
                      % Notera att alla operationer ska göras
                      % _elementvis_ så punkt behövs.

mesh(X,Y,Z);          % Plotta ytan i 3D

pause

% Nivåkurvor

contour(X,Y,Z);       % Visar nivåkurvor till funktionen
axis equal            % I detta fall en ellips
                      
pause

contour(X,Y,Z,[1 1],'k'); % Visar nivåkruvan för f = 1, i svart
axis equal                % (Se help contour för förklaring
                          % av den konstiga syntaxen med två
                          % ettor...)
                      
pause


% Nivåytor (överkurs)

x=-2:0.1:2; % Skapa (endimensionella) vektorer x, y och z
y=-3:0.1:3;
z=-4:0.1:4;

[X,Y,Z]=meshgrid(x,y,z); % Skapa motsvarande 3D-arrayer

G = X.^2 + Y.^2/4 + Z.^2/9; % Beräkna nivåfunktionen för
                            % en ellipsoid

clf % Nollställ grafiken

isosurface(X,Y,Z,G,1)  % Plotta nivåytan G = 1
axis equal




