预测控制DMC算法matlab.txt
- 文档编号:7304833
- 上传时间:2023-05-11
- 格式:TXT
- 页数:3
- 大小:2.23KB
预测控制DMC算法matlab.txt
《预测控制DMC算法matlab.txt》由会员分享,可在线阅读,更多相关《预测控制DMC算法matlab.txt(3页珍藏版)》请在冰点文库上搜索。
%DMC�����㷨
clc;
clearall;
G=input('���봫�ݺ���G=');%���봫�ݺ���
%�ж��Ƿ�Ϊ�ȶ�ϵͳ�����ǿ��Կ��ƣ�����ǣ�������DMC�㷨���п���
den=G.den{1};%ȡ�����ķ�ĸ
p=real(roots(den))%���ļ����ʵ��
fori=1:
length(p)
r=p(i);
ifr>0%����ijһ�������ʵ����ʵ�������㣬��Ϊ���ȶ�ϵͳ��DMC������
p,G%���������ʾ����ʹ���
Error=('��Ҫ���ƵĶ���Ϊ���ȶ�ϵͳ��DMC�㷨ֻ�������ȶ�ϵͳ!
')
return
end
end
%����DMC����
Ts=input('��������Ts=');%����ʱ��
P=input('Ԥ��ʱ��P=');%Ԥ�ⲽ��
M=input('����ʱ��M=');%���Ʋ���
N=80;%�ضϲ���
%�趨�ο�ֵ
yr=10;%ϵͳ�������
%����ϵͳ��Ծ��Ӧģ��
[y0,t0]=step(G,0:
5:
500);
%��ʼ��DMC
A=zeros(P,M);%��̬����
a=zeros(N,1);
fori=1:
N
a(i)=y0(i);
end
fori=1:
P
forj=1:
M
ifi-j+1>0
A(i,j)=a(i-j+1);%�������A
end
end
end
%��ʼ������ys��y,u,e�;���A0
ys=ones(N,1);
y=zeros(N,1);
u=zeros(N,1);
e=zeros(N,1);
A0=zeros(P,N-1);
fori=1:
P
forj=N-2:
-1:
1
ifN-j+1+i-1<=N
A0(i,j)=a(N-j+1+i-1)-a(N-j+i-1);%�������A0
else
A0(i,j)=0;
end
end
A0(i,N-1)=a(i+1);
end
%DMC����
fork=2:
N
Uk_1=zeros(N-1,1);
fori=1:
N-1
ifk-N+i<=0
Uk_1(i)=0;
else
Uk_1(i)=u(k-N+i);
end
end
Y0=A0*Uk_1;
e(k)=y(k-1)-Y0
(1);
Yr=zeros(P,1);
fori=1:
P
Yr(i)=yr;
end
Ek=zeros(P,1);
fori=1:
P
Ek(i)=e(k);
end
delta_u=inv(A'*A+eye(M))*A'*(Yr-Y0-Ek);%���������ļ���
fori=1:
M
ifk+i-1<=N
u(k+i-1)=u(k+i-1-1)+delta_u(i);%�����ɵļ���
end
end
temp=0;%������k-j-1ʱ����ǰ�Ŀ�����
forj=1:
N-1
ifk-j<=0
temp;
else
ifk-j-1<=0
temp=temp+a(j)*u(k-j);
else
temp=temp+a(j)*(u(k-j)-u(k-j-1));
end
end
end
ifk-N<=0
y(k)=temp+e(N);
else
y(k)=temp+a(N)*u(k-N)+e(N);
end
end
%��ͼ��ʾ���
t=10*(1:
N);
subplot(211);
plot(t,y);
title('DMC�����������');
xlabel('t')
ylabel('y')
gridon
subplot(212);
plot(t,u,'r');
title('��������');
xlabel('t')
ylabel('u')
gridon
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 预测 控制 DMC 算法 matlab