% Bruk kulekoordinater for å parametrisere ei kuleflate med radius 1
R = 1 ;
phi = linspace(0,2*pi, 20);
theta = linspace(0,pi,20) ;
% Lag rutenett
[THETA,PHI] = meshgrid(theta,phi) ;
% Bruk parametriseringen for å regne ut kartesiske koordinater
X = R.*sin(THETA).*cos(PHI) ;
Y = R.*sin(THETA).*sin(PHI) ;
Z = R.*cos(THETA) ;
% Plott kuleoverflata
surf(X,Y,Z)
xlabel('x')
ylabel('y')
zlabel('z')
% De kartesiske komponentene til gradienten til skalarfunksjonen
% brukes for å angi retningen til normalvektorene
dX = 2*X ;
dY = 2*Y ;
dZ = 2*Z ;
hold on
% Kommandoen quiver3 tegner piler i 3D rom.  Pilene starter i punktene gitt
% ved koordinatene X,Y,Z og peker i retningene gitt ved dX,dY,dZ.  Vi har
% angitt en skalering 3 for at pilene skal ta seg bra ut visuelt.  Dessuten
% ber vi om at pilene skal være røde.
quiver3 (X,Y,Z,dX,dY,dZ,3,'r')
hold off
