discret.m

来自「commande optimal (langue franche)」· M 代码 · 共 54 行

M
54
字号
clear all;clc;close all;
%Tous les condition initial
A=[0.9974 0.0539; -0.1078 1.1590];
B=[0.0013; 0.0539];
R=0.05;
Q=[0.25 0;0 0.05];
F=[0 0;0 0];

% N=200;                     %l'horizon de minimisation
% 
% x=[2;1];                    %Le valeur initial de l'état x
% 
% kc=F;                       %Le valeur initial de k dans l'équation de Riccati.
% 
% k11=kc(1,1);
% k12=kc(1,2);
% k22=kc(2,2);
% 
% %En utilisant  l'équation de Riccati, on peut obtenir les séquence de matrice k(i) à rebours,
% %i=0,....,N-1
% for i=N-1:-1:1
%     kc=Q+A'*kc*A-A'*kc*B*inv(R+B'*kc*B)*B'*kc*A;
%     k11=[kc(1,1);k11];      %Stocker les matrice k(i)
%     k12=[kc(1,2);k12];
%     k22=[kc(2,2);k22];
% end
% 
% % plot(k11)                           %Tracer les k11 et k 12
% % hold on
% % plot(k12,'r')
% % plot(k22,'g')
% 
% 
% %En résoudrant l'équation de Riccati, on peut obtenir l'évolution de ce
% %système  et le commande optimal u(i), i=1,....,.N
% for ii=1:N-2
%     k=[k11(ii) k12(ii); k12(ii) k22(ii)];
%     x=(A-B*inv(R+B'*k*B)*B'*k*A)*x;
%     u=-inv(R+B'*k*B)*B'*k*A*x;
%  
% %  plot(ii,u)         %Tracer les u et x
% %  hold on 
% %  plot(ii,x,'r')
% % end
% 
% mat=[B A*B];
% det(mat);

D=sqrt(Q)
mat=[D*A]
det(mat)


⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?