% Diskretisointi kuten tehtävässä 1

m=5;n=m-1;
B=4*diag(ones(1,n))-diag(ones(1,n-1),1)-diag(ones(1,n-1),-1);
O=zeros(n);
mI=diag(ones(n,1));
A=[B mI O O;mI B mI O;O mI B mI;O O mI B];

% Asennetaan RHS...

vasen=[0,20,40,60,80,0];
yla=[50,20,10,0];
ala=zeros(1,4);
oikea=vasen;
T=[vasen(2:n-1)' zeros(n-2,n-2) oikea(2:n-1)'];
T=[ala;T;yla];
T(1,1)=T(1,1)+vasen(1);
T(1,n)=T(1,n)+oikea(1);
T(n,1)=T(n,1)+vasen(n);
T(n,n)=T(n,n)+oikea(n);

% Tulostetaan T 
T=T'

% Muotoillaan ratkaisumatriisi uudelleen...
RHS=T(:);
rat=inv(A)*RHS;
ratkmat=reshape(rat,n,n);

% ...ja lisätään reunalämpötilat.
ratkmat=ratkmat'
ratkmat=[ala;ratkmat;yla];
ratkmat=[vasen' ratkmat oikea']

% Visualisointi...
surf(ratkmat)
xlabel('x')
ylabel('y')
zlabel('Lämpötila')
