function [summa,osasummat] = Msinsarja(x,LtaiFile,b)
%  matlab/Msinsarja.m   
% Kutsut: 
% 1) [summa,osasummat] = Msinsarja(x,tiedosto)
%    Tiedostosta luetaan L ja b
% 2) [summa,osasummat] = Msinsarja(x,L,b)
%    Kerroinvektori annetaan Matlabissa.
% Koko suoritus:
% 1) Maplessa: ns05.mpl-funktio siniSkertoimet(f,L,N,tiedosto);
% Esim: B:=siniSkertoimet(x->x^2,1,10,"bkert");
% 2) Matlab:ssa: 
% x=linspace(-2,2); 
% [summa,osasummat]=Msinsarja(x,'bkert');
% plot(x,summa); figure; plot(x,osasummat)

polku='/tmp/';         % UNIX  % Muuta tarpeen mukaan.
%polku='C:\MATLAB6p1\work\';   % WIN  % Muuta tarpeen mukaan.

if nargin==2
    tiedosto=[polku LtaiFile];
    Lb=load(tiedosto);    
    L=Lb(1);
    b=Lb(2:end);
else
    L=LtaiFile;
end;

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

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