function [ztrata u y b P]=ps(regulator_parameters,system,apriori,seed) horizont=regulator_parameters.horizont; prvni_faze=1; druha_faze=horizont-prvni_faze; y=zeros(1,horizont); b=zeros(1,prvni_faze+1); P=zeros(1,prvni_faze+1); u=zeros(1,horizont-1); ztrata=0; y(1)=apriori(1); b(1)=apriori(2); P(1)=apriori(3); for i=1:prvni_faze % u(i)=10*system.sigma/sqrt(P(i)); u(i)=sqrt(abs(100-1/P(i)))*system.sigma; [y(i+1) b(i+1) P(i+1)]=get_next([y(i) b(i) P(i)],u(i),system,seed(i)); ztrata=ztrata+(y(i+1)-system.yr(i+1))^2; end b_1=b(end); for i=1:druha_faze-1 u(i+prvni_faze)=(system.yr(i+prvni_faze)-y(i+prvni_faze))/b_1; y(i+1+prvni_faze)=y(i+prvni_faze)+system.b*u(i+prvni_faze)+system.sigma*seed(i+prvni_faze); ztrata=ztrata+(y(i+1+prvni_faze)-system.yr(i+1+prvni_faze))^2; end end