MPC仿真程序MATLAB

MPC仿真程序MATLAB

ID:39853111

大小:29.97 KB

页数:3页

时间:2019-07-13

MPC仿真程序MATLAB_第1页
MPC仿真程序MATLAB_第2页
MPC仿真程序MATLAB_第3页
资源描述:

《MPC仿真程序MATLAB》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、clearclcA=[0.80;0.81];B=[0.1;0.1];C=[01];D=0;P=10;M=4;MAX=15;MIN=-MAX;N=50;%PerformancewightsQ=eye(P);R=0.01*eye(M);%Q1=eye(P*ncr);R1=ones(P,1);%PredefinedreferenceRe=zeros(50,1);Re(1:15)=2;Re(16:30)=5;Re(31:40)=2;[nbr,nbc]=size(B);[nar,nac]=size(A);[ncr,nc

2、c]=size(C);%x0=[1;1];%u(0)=0;y=zeros(N,1);u=zeros(N,1);%%S=zeros(P*ncr,M*nbc);fori=0:P-1forj=0:M-1ifi>=jS(i*ncr+1:(i+1)*ncr,j*nbc+1:(j+1)*nbc)=C*A^(i-j)*B;endendend%%T=zeros(P*ncr,nac);fori=0:P-1T(i*ncr+1:(i+1)*ncr,:)=C*A^(i+1);endS_S=S'*S;S_T=S'*T;S_R1=S'*

3、R1;x0=[0;0];u0=0;%Uk=zeros(N,1);%H=2*(R1+S'*Q1*S);%f1=T*x0-Re;%Y=2*(Q+T'*Q1*T);%uk=u0;fork=1:NA_co=[eye(M);-eye(M)];b_co=[MAX*ones(4,1);-1*MIN*ones(4,1)];U=quadprog(2*(S_S+R),-2*S'*(R1*Re(k)-T*x0),A_co,b_co);u(k)=U(1);ifk==1Uk(k)=u(k);elseUk(k)=Uk(k-1)+u(k)

4、;endy(k)=C*x0+D*u(k);x0=A*x0+B*u(k);end%figure(1)subplot(2,1,1)holdonplot(Re,'r')plot(y)title('outputy')%figure(2)text(40,5,'Red:set')text(40,4,'Blue:y')subplot(2,1,2)holdonplot(u,'r')%title('inputdeltau')%figure(3)plot(Uk)title('inputu')text(40,17,'Red:del

5、tau')text(40,12,'Blue:u')

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。