function p_summaplot(p,n)
% p_summaplot(p,n)
% Ritar upp fördelningen för summan av n stycken X_i där
% X_i är oberoende med en sannolikhetsfunktion
% som ges av vektorn p med definitionsområde 1,...,length(p)
%
% Exempel pn=p_faltning([1 1 1 1 1 1]/6,8)
% ger fördelningen för summan av 8 tärningskast.
%
% Anna Lindgren 25/10-2011

if n<=0 | floor(n)~=n
    disp('n måste vara ett positivt heltal!')
    return
end

xmax=length(p);
% Väntevärde och standardavvikelse för X_i:
mu=(1:xmax)*p';
sigma=sqrt((1:xmax).^2*p' - mu^2);

% Faltning:
pn=p;
for k=2:n
    pn=conv(pn,p);
end
% Definitionsområdet för summan:
kk=n+(1:length(pn))-1;
bar(kk,pn)
hold on
% Lämpligt område för den approximerande normalfördelningen:
xx=linspace(n*mu-4*sqrt(n)*sigma,n*mu+4*sqrt(n)*sigma,200);
plot(xx,normpdf(xx,n*mu,sqrt(n)*sigma),'r')
xlabel('totalt antal ögon (k)')
ylabel('p(k)')
title(['Fördelning för summan av ' num2str(n) ' kast'...
    ' samt N(' num2str(n*mu) ', ' num2str(sqrt(n)*sigma) ')'])
hold off
