function [x,t,Z]=LYdiffB(u0,ga,gb,ab,nx,nt,dt)
% [x,t,Z]=LYdiffB(u0,ga,gb,ab,nx,nt,dt)
%  LämpöYhtälö implisiittisellä menetelmällä (B - backward)
%
% u0 - funktio x->alkuarvo
% ga - funktio t->reunaehto kun x=a
% gb - funktio t->reunaehto kun x=b
% ab - 2-vektori, x kuuluu välille [a,b]
% nx - x hilapisteiden lkm
% nt - aika-askelten lkm
% dt - aika-askeleen pituus
%
a=ab(1); b=ab(2);
t=0:dt:nt*dt;
x=linspace(a,b,nx+2);
xs=x(2:end-1)';        % Sisäsolmut.
dx=(b-a)/(nx+1);
r=dt/dx^2;
e=ones(nx,1);
A=spdiags(..)
M=speye(..)+..
U=zeros(nx,nt+1);
U(:,1)=u0(xs);
for m=1:nt
..
end
Z=[ga(t); U ;gb(t)]';  % Liitetään reunat ja transponoidaan
                      % (Oltais voitu rakentaa riveittäin)


