ui-1,j+ui,j-1-4 ui,j+ui,j+1+ui+1,j= h2 fi,j
y1 | y2 | y3 | y4 | ||
v4 | u4,1 | u4,2 | u4,3 | u4,4 | o4 |
v3 | u3,1 | u3,2 | u3,3 | u3,4 | o3 |
v2 u2,1 u2,2 u2,3 u2,4 o2 v1 | u1,1 u1,2 u1,3 u1,4 o1 a1 a2 a3 a4
50 20 10 0 |-----|-----|-----|------|-----| | | 80 | u[4,1] u[4,2] u[4,3] u[4,4] | 20 | | | | 60 | u[3,1] u[3,2] u[3,3] u[3,4] | 20 | | | | 40 | u[2,1] u[2,2] u[2,3] u[2,4] | 20 | | | | 20 | u[1,1] u[1,2] u[1,3] u[1,4] | 20 | | |-----|-----|-----|------|-----| 0 0 0 0
[-4 , 1 , 0 , 0 , 1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0] [ ] [1 , -4 , 1 , 0 , 0 , 1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0] [ ] [0 , 1 , -4 , 1 , 0 , 0 , 1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0] [ ] [0 , 0 , 1 , -4 , 0 , 0 , 0 , 1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0] [ ] [1 , 0 , 0 , 0 , -4 , 1 , 0 , 0 , 1 , 0 , 0 , 0 , 0 , 0 , 0 , 0] [ ] [0 , 1 , 0 , 0 , 1 , -4 , 1 , 0 , 0 , 1 , 0 , 0 , 0 , 0 , 0 , 0] [ ] [0 , 0 , 1 , 0 , 0 , 1 , -4 , 1 , 0 , 0 , 1 , 0 , 0 , 0 , 0 , 0] [ ] [0 , 0 , 0 , 1 , 0 , 0 , 1 , -4 , 0 , 0 , 0 , 1 , 0 , 0 , 0 , 0] [ ] [0 , 0 , 0 , 0 , 1 , 0 , 0 , 0 , -4 , 1 , 0 , 0 , 1 , 0 , 0 , 0] [ ] [0 , 0 , 0 , 0 , 0 , 1 , 0 , 0 , 1 , -4 , 1 , 0 , 0 , 1 , 0 , 0] [ ] [0 , 0 , 0 , 0 , 0 , 0 , 1 , 0 , 0 , 1 , -4 , 1 , 0 , 0 , 1 , 0] [ ] [0 , 0 , 0 , 0 , 0 , 0 , 0 , 1 , 0 , 0 , 1 , -4 , 0 , 0 , 0 , 1] [ ] [0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 1 , 0 , 0 , 0 , -4 , 1 , 0 , 0] [ ] [0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 1 , 0 , 0 , 1 , -4 , 1 , 0] [ ] [0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 1 , 0 , 0 , 1 , -4 , 1] [ ] [0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 1 , 0 , 0 , 1 , -4]Yksityiskohtia seuraavissa: Skannatuja kalvoja (epäesteettisiä)
function A=lapmatr(n) % LAPMATR A=lapmatr(n) % This function forms matrix A for the numerical % approximation of the solution of Laplace equation. % The desired dimension n i.e the number of grid points % is given as a parameter. % N=n^2; maind=ones(1,N); fardiag=ones(1,N-n); j=1:N-1; neardiag=rem(j,n)~=0; A=4*diag(maind)-diag(neardiag,1)-diag(neardiag,-1)- ... diag(fardiag,n)-diag(fardiag,-n); function u=lapsolve(bot,right,top,left) % % LAPSOLVE u=lapsolve(bot,right,top,left) % Solve Laplace equation on square. Parameters bot,right,top, % left are vectors of boundary values. The vertical boundaries % are given from bottom to top and the horizontal boundaries % from left to right. n=length(bot); A=lapmatr(n); B=[top;zeros((n-2),n);bot]+[fliplr(left)',zeros(n,(n-2)),fliplr(right)']; B2=B'; Tvek=A\B2(:); T=reshape(Tvek,n,n)'; NW=0.5*(left(n)+top(1));NE=0.5*(top(n)+right(n)); SE=0.5*(bot(n)+right(1));SW=0.5*(bot(1)+left(1)); T2=zeros(n+2,n+2); T2(:,1)=[0; fliplr(left)'; 0]; T2(:,n+2)=[0; fliplr(right)'; 0]; T2(1,:)=[NW top NE]; T2(n+2,:)=[SW bot SE]; T2([2:n+1],[2:n+1])=T; u=T2; function [bot,right,top,left]=bound(n) %% %%BOUND [bot,right,top,left]=bound(n) %% %% p3=polyfit([0,0.25,0.5 0.75],[50 20 10 0],3); p1=polyfit([0 0.25 0.5 0.75],[20 40 60 80],1); x=0:(0.75/n):0.75; y=x; top=polyval(p3,x);bot=zeros(1,length(top)); right=polyval(p1,y); left=right; >> [bot,right,top,left]=bound(30); >> T=lapsolve(bot,right,top,left); >> subplot(2,2,1);mesh(u);view(-37.5,20); >> subplot(2,2,2);mesh(u);view(-37.5+90,20); >> subplot(2,2,3);mesh(u);view(-37.5+180,20); >> subplot(2,2,4);mesh(u);view(-37.5+270,20);