%pkg load nan
%pkg load communications

clear all;
clc
clf

N = 100000;  % Αριθμός δειγμάτων
m = 4;      % Η μέση τιμή της κατανομής
s = sqrt(0.9);      % Η τυπική απόκλιση της κατανομής

X = randn(1,N);  % Gaussian δείγματα
Y = s * X + m ; % Γραμμικός μετασχηματισμός

figure(1);  % Συνάρτηση Πυκνότητας Πιθανότητας
bins = 25;
[u,t]=hist(Y,bins);  % Γράφημα από τυχαία νούμερα της ΤΜ Y
bar(t, u/(N*(max(t)-min(t))/bins), 0.5); %δημιουργία μπαρών κανονικοποιημένων
hold on
x = 0:0.1:8;
f = exp(- (m - x).^2 / (2 * s.^2) ) / sqrt(2 * pi * s.^2);    % θεωρητική
plot(x, f, 'm', 'Linewidth', 2)
legend('Πειραματική','Θεωρητική', 'location', 'northeast')
xlabel('\it x') %italic
ylabel('{\it f_Y}({\itx})')
title('Συνάρτηση Πυκνότητας Πιθανότητας')
%axis([-max(t) max(t) 0 0.6*max(u)/(N*max(t)/bins)])
axis([0 8 0 0.5]) % oria tou ka8e aksona
set(gca, 'fontsize', 16, 'xminortick', 'on'); %xminortick : x minor tick : vazei upodiaireseis ston aksona x
%to gca kanei to grafhma stoys prhgoymenous aksones
grid on
hold off

%print -dpng "-S450,450" pdf.png

figure(2);  % Αθροιστική Συνάρτηση Κατανομής της ΤΜ Y
cdfplot(Y, '*');  % Γράφημα από τυχαία νούμερα της ΤΜ Y, to * einai gia na valei tetoio symvolo
hold on
x = 0:0.1:8;
F = qfunc( (m-x)/s );   % θεωρητική
plot(x, F, 'm', 'Linewidth', 2)
legend('Πειραματική','Θεωρητική', 'location', 'southeast')
xlabel('\it x')
ylabel('{\it F_Y}({\itx})')
title('Αθροιστική Συνάρτηση Κατανομής')
axis([0 8 0 1])
set(gca, 'fontsize', 16, 'xminortick', 'on');
grid on
hold off

%print -dpng "-S450,450" cdf.png