function [summa,osasummat] = cossarja(L,x,a)
%  matlab/cossarja.m   
% Kutsu: [summa,osasummat] = cossarja(L,x,a)
% a voidaan jättää pois, jolloin se luetaan tiedostosta.
%  Tarkemmin:
% 1) Maplessa: ns05.mpl-funktio Fourkertf(f,L,N);
% Esim: (A,B):=Fourkert(x->x^2,1,10);
% 2) Matlab:ssa: 
% x=linspace(-2,2); 
% [summa,osasummat]=cossarja(1,x);
% plot(x,summa); figure; plot(x,osasummat)
%
% Lisäkehitys: Jakson puolikas L voidaan myös välittää
% suoraan Maplesta. Minimaalinen Matlab-kutsu olisi:
% [su,osa]=cossarja(x);
% Suunnittele tämä.

if nargin==2
  a=load('/tmp/Fa.txt');
end;
N=length(a)-1;

kertoimet=a*ones(size(x)); % Eräs monista tavoista tehdä matriisi, jonka
                            % 1. rivi on vakio a0
                            % 2. rivi on vakio a1,
                            % ...

termit=kertoimet.*cos(pi/L*(0:N)'*x);                        summa=sum(termit);
osasummat=cumsum(termit);
