function [Z,x,T]=lampocos(L,c,b,T,M)
% HA 29.11.04 
% Lasketaan lämpöyhtälön u_t = c^2 u_xx sinisarjaratkaisu korkeusmatriisina
%
% Input: L:   jakso/2
%        c:   c (Lämpöyhtälön c)  
%        b:   kosinisarjan kerroinvektori (nollat mukana)
%        T:   aikapisteet
%        M:   x-diskrertointi (oletus 50)
%        
% Output: [Z,x,t] -  lämpötilamatriisi, x-vektori, t-vektori
%
% Esim:
% ...
% ...
% surfc(x,t,U);  % Pintapiirros
% figure
% plot(x,U)      % Lämpötilaprofiilit t-vektorin 
%                %  ilmaisemilla ajanhetkillä.
%
N=length(T);
if nargin==4, M=50; end
na=length(a);
x=linspace(0,L,M);
Z=a(1)*ones(M,N);
for n=1:na-1;
   Z=Z+(a(n+1)*cos(n*pi*x./L))'*exp(-((n*pi*c/L)^2)*T);
end;
Z=Z';

