• 大小: 2KB
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2021-06-11
  • 语言: Matlab
  • 标签:

资源简介

预测控制下的参数模型--受控自回归滑动积分平均模型--广义预测控制求解丢番图方程

资源截图

代码片段和文件信息

%-构造CARIMA模型。
%A(z_1)*y(t)=B(z_1)*u(t-1)+C(z_1)/Δ*epslu(t)

%diophantine方程
%1=Ej(z_1)*A(z_1)*Δ+z_j*Fj(z_1);
%Ej*B(z_1)=Gj(z_1)+z_j*Hj(z_1)
%y~(t+j)=Gj(z_1)Δu(t+j-1)+Fj(z_1)y(t)+Hj(z_1)Δu(t-1)
%       =G~(z_1)Δu(t+j-1)+Fj(z_1)y(t)

%G~(z_1)=Ej*B(z_1)=Gj(z_1)+z_j*Hj(z_1)
%G~1=E1*B+z_1*H1G~2=E2*B+z_2*H2 


A=[1 -0.7];
B=[0.9 -0.6];
a=A(2:end);    %a=-0.7
b=B;

%-控制参数。
N1=3;
Nu=3;
lanbt=0.1;  %lamda  控制加权系数

na=length(a);  %na=1
nb=length(b)-1;%nb=1

%-初始化向量。
aa(1)=a(1)-1;    %aa(1)=-1.7
if na>=2
   for i=2:na
     aa(i)=a(i)-a(i-1);
   end
end
aa(na+1)=-a(na);  %aa(2)=0.7

F=zeros(N1na+1);  %F=zero(32);3x2
F(1:)=-aa;%F(11)=-aa(1)=0.7F(12)=-aa(2)=0.7
e=zeros(1N1);%1x3
e(1)=1;
f=zeros(1na+1);%1x2
H=zeros(N1nb);%3x1
H(1:)=b(2:end);%H(1:)=-0.6
g=zeros(1N1);%1x3
g(1)=e(1)*b(1);%g(1)=0.9    G_=Ej*B

%-求解diophantine方程。
for j=1:N1-1   %j=1:2

    for i=1:na  %i=1:1
       F(j+1i)=F(ji+1)-aa(i)*F(j1);%F[]3x2
    end
    F(j+1na+1) =-aa(na+1)*F(j1); 
    e(j+1)=F(j1);
    if nb>1
      for i=1:nb-1
         H(j+1i)=e(j+1)*b(i+1)+H(ji+1);%H[]3x1
      end
    end
      H(j+1nb)=e(j+1)*b(nb+1);
      g(j+

评论

共有 条评论