% control design for p(y(t+1)|y(t),u(t+1)) function c=condes(sita,IS,IC,my,H) dis=1; fil=1; m=3; gamma=ones(1,my); alpha=zeros(my,my); % computing alpha for j=1:my % j=u(t+1) for i=1:my % i=y(t) k=i+my*(j-1); % k=y(t) & u(t+1) for i0=1:my % i0=y(t+1) i1=i0+my*(dis-1)+my*(fil-1)*(m-2); alpha(j,i)=alpha(j,i)+sita(i1,k)*log(sita(i1,k)/IS(i0,k)); end end end % computing beta and gamma for t=H-1:-1:1 % computing beta beta=zeros(my,my); for j=1:my % j=u(t+1) for i=1:my % i=y(t) k=i+my*(j-1); % k=y(t)&u(t+1) for i0=1:my % i0=y(t+1) i1=i0+my*(dis-1)+my*(fil-1)*(m-2); beta(j,i)=beta(j,i)-sita(i1,k)*log(gamma(i0)); end end end % computing gamma gamma=zeros(1,my); for i=1:my % i=y(t) for j=1:my % j=u(t+1) gamma(i)=gamma(i)+IC(j,i)*exp(-alpha(j,i)-beta(j,i)); end end end % optimal controller for j=1:my % j=u(t+1) for i=1:my % i=y(t) c(j,i)=(gamma(i))^(-1)*IC(j,i)*exp(-alpha(j,i)-beta(j,i)); end end