%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%                                                                            %
%                Løsningsforslag til oppgave 1a i øving 4                    %
%                                                                            %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Velg området -2 < x < 2 og -2 < z < 2 for plotting, med skrittlengde
% 2/50 langs både x og z, dvs ca 100 x 100 punkter i alt
[x,z] = meshgrid(-2:2/50:2,-2:2/50:2);
% Ve er det eksakte potensialet fra dipolen
Ve = (1./(sqrt(x.^2+(z-1/2).^2))-1./(sqrt(x.^2+(z+1/2).^2)));
% Va er dipolpotensialet til ledende orden i a/r når r >> a
Va = z.*(x.^2.+z.^2).^(-3/2);
% Relavvik er relativ differanse mellom Ve og Va i prosent
Relavvik = 100*abs((Ve-Va)./(Ve));
% Kommandoen figure ber om en ny figur
figure;
% Kommandoen mesh(x,y,z) tegner opp et 3D-plott av z som funksjon
% av x og y
mesh(x,z,Ve);
% Kommandoen axis([a b c d e f]) setter aksene for 3D-plot slik:
% a < x < b, c < y < d, e < z < f
axis([-2 2 -2 2 -10 10]);
% Kommandoen caxis([zmin zmax]) setter fargeskalaen slik at blått
% tilsvarer zmin og rødt tilsvarer zmax
caxis([-10 10]);
% Tekst på aksene
xlabel('x/a');
ylabel('z/a');
zlabel('Ve');
% Ny figur for Va
figure;
mesh(x,z,Va);
axis([-2 2 -2 2 -10 10]);
caxis([-10 10]);
xlabel('x/a');
ylabel('z/a');
zlabel('Va');
figure;
% Ny figur for relativdifferansen
mesh(x,z,Relavvik);
% Kun positive verdier for Relavvik
axis([-2 2 -2 2 0 100]);
% Fargeskala settes for Relavvik mellom 0 og 100
caxis([0 100]);
xlabel('x/a');
ylabel('z/a');
zlabel('|(Ve - Va)/Ve|*100%');