├── README.md ├── LargeP.jpg ├── LargeP_F1.jpg ├── LargeP_F2.jpg ├── SmallP_F2.jpg ├── smallP_F1.jpg ├── Small_initialP.jpg ├── ADP_FP.m └── Discreet_linear_regulator.m /README.md: -------------------------------------------------------------------------------- 1 | Adaptive-Dynamic-Programming - Toy Dataset 2 | -------------------------------------------------------------------------------- /LargeP.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nehachy/Adaptive-Dynamic-Programming/HEAD/LargeP.jpg -------------------------------------------------------------------------------- /LargeP_F1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nehachy/Adaptive-Dynamic-Programming/HEAD/LargeP_F1.jpg -------------------------------------------------------------------------------- /LargeP_F2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nehachy/Adaptive-Dynamic-Programming/HEAD/LargeP_F2.jpg -------------------------------------------------------------------------------- /SmallP_F2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nehachy/Adaptive-Dynamic-Programming/HEAD/SmallP_F2.jpg -------------------------------------------------------------------------------- /smallP_F1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nehachy/Adaptive-Dynamic-Programming/HEAD/smallP_F1.jpg -------------------------------------------------------------------------------- /Small_initialP.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nehachy/Adaptive-Dynamic-Programming/HEAD/Small_initialP.jpg -------------------------------------------------------------------------------- /ADP_FP.m: -------------------------------------------------------------------------------- 1 | A=[0.9974 0.0539; -0.1078 1.1591]; 2 | B=[0.0013; 0.0539]; 3 | H=0; 4 | Q=[0.25 0.00;0.00 0.05]; 5 | R=0.05; 6 | N=200; 7 | p=ones(2,2); 8 | Pmult = 50; 9 | P= Pmult*p; 10 | Pc = P ; 11 | X=[]; 12 | X(:,1)=[2;1]; 13 | F=[]; 14 | U=[]; 15 | 16 | for k = 1:N 17 | 18 | F(k,:) = -inv(R+transpose(B)*Pc(:,end-1:end)*B).*(transpose(B)*Pc(:,end-1:end)*A); 19 | U(k,1) = F(k,:)*X(:,k); 20 | X(:,k+1) = A*X(:,k)+B*U(k,1); 21 | P = transpose(A+B*F(k,:))*Pc(:,end-1:end)*(A+B*F(k,:)) + transpose(F(k,:))*R*F(k,:) + Q; 22 | Pc = [Pc P] ; 23 | 24 | end 25 | 26 | plot(U) 27 | plot(X(1,:)) 28 | plot(X(2,:)) 29 | plot(F(:,1)) 30 | plot(F(:,2)) 31 | 32 | 33 | -------------------------------------------------------------------------------- /Discreet_linear_regulator.m: -------------------------------------------------------------------------------- 1 | A=[0.9974 0.0539; -0.1078 1.1591]; 2 | B=[0.0013; 0.0539]; 3 | H=0; 4 | Q=[0.25 0.00;0.00 0.05]; 5 | R=0.05; 6 | N=200; 7 | P=zeros(2,2); 8 | Pc = P ; 9 | X=[]; 10 | X(:,1)=[2;1]; 11 | F=[]; 12 | U=[]; 13 | 14 | for k = 1:N-1 15 | 16 | F(N-k,:) = -inv(R+transpose(B)*Pc(:,end-1:end)*B).*(transpose(B)*Pc(:,end-1:end)*A); 17 | 18 | P = transpose(A+B*F(N-k,:))*Pc(:,end-1:end)*(A+B*F(N-k,:)) + transpose(F(N-k,:))*R*F(N-k,:) + Q; 19 | Pc = [Pc P] ; 20 | 21 | end 22 | 23 | for k = 1:N-1 24 | 25 | U(k,1) = F(k,:)*X(:,k); 26 | X(:,k+1) = A*X(:,k)+B*U(k,1); 27 | 28 | end 29 | 30 | U(N,1)=0; 31 | 32 | plot(U) 33 | plot(X(1,:)) 34 | plot(X(2,:)) 35 | plot(F(:,1)) 36 | plot(F(:,2)) 37 | 38 | --------------------------------------------------------------------------------