function a=diskont(P,R,beta,n);
% Autor: Stanislav Tvrz
% function a=diskont(P,R,beta,n);
% funkce pocita: 
%        vektory strednich hodnot diskontovanych vynosu po jednom az po n obdobich 
%        limitni vektor strednich hodnot diskontovanych vynosu
%        znazorni prubehy vektoru strednich hodnot pro jednotlive stavy 
%        v zavislosti na poctu obdobi
% vstupni parametry:
% P - matice prechodu
% R -  matice vynosu
% beta - diskontni faktor
% n - pocet obdobi

%clc;

disp('kontrola - matice prechodu P')
P
disp(' ')
disp('kontrola - matice vynosu R')
R
disp(' ')

vel=size(P);
v=zeros(vel(1),n+1);
q=diag(P*R');
for i=2:n+1
    v(:,i)=q+beta*P*v(:,i-1);
end
cas=0:n;
vysledek=[cas;v];
disp('sloupcove vektory strednich hodnot diskontovanych vynosu po n krocich')
disp(num2str(vysledek))
disp(['pri hodnote diskontniho faktoru beta = ',num2str(beta)])
disp('pozn: na prvnim radku hodnoty n')
disp(' ')
disp('limitni vektor v(n)')
v_n=inv(eye(vel(1))-beta*P)*q;
disp(num2str(v_n))

%generovani popisu stavu
max_ind=size(num2str(vel(1)),2);
legenda=zeros(vel(1),5+max_ind);
for i=1:vel(1)
    legenda(i,1:5+size(num2str(i),2))=[['stav '],num2str(i)];
end       
legenda=char(legenda);

%graf diskontovanych vynosu
figure
plot([0:n],v);
legend(legenda)
end