%%%%%%%% Numerisk løsning av Laplace' likning i 2d %%%%%%%%

nIterasjoner=100;
N=40;               % antall punkter i hver retning
V=zeros(N,N);       % matrise med potensialverdier, initiert til V=0 overalt

% Grenseverdier for potensialet:
linfun=linspace(0,1,N).';
topp=1-cos(linfun*(3*pi+pi/2));
V(1,:)=0;
V(N,:)=10;
V(:,1)=10*linfun;
V(:,N)=10*topp;

figure(1), mesh(V)
xlabel('x'), ylabel('y'), zlabel('V(x,y)')

% Iterasjoner for å regne ut potensialet i området:
for it=1:nIterasjoner
    for x=2:N-1
        for y=2:N-1
            V(y,x)=1/4*(V(y+1,x)+V(y,x+1)+V(y-1,x)+V(y,x-1));
        end;
    end;
figure(1), mesh(V), xlabel('x'), ylabel('y'), zlabel('V(x,y)')
pause(.001)
end;

[Ex,Ey]=gradient(-V);
figure(2), quiver(Ex,Ey), xlabel('x'), ylabel('y');
