资源描述:
《专业:控制理论与控制工程》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、预测控制作业程序调试84:考虑一个单输入单输出的对象,其传递函数为:G($)=解:釆用下面的MATLAB程序对该对象进行脉冲响应模型辨识,脉冲响应模型预测输出与预测误差曲线:%将多项式的传递函数模型转换为MPC传递函数模型num=[ll];den=[l36];h=tf(num,den);%获得脉冲信号X[u,t
2、=gensig('pulse',2,10,0.1);x=u;%求解LTI对彖的单位脉冲响应yt=0:0.1:10;[y,x,t]=lsim(h,x,t);%输入脉冲信号x的归一化处理[ax,mx,stdx]=autosc(x);mx=0;Sx=scal(x,mx,stdx);%生
3、成用于线性冋归计算的输入/出数据矩阵n=35;[xreg,yreg]=wrtreg(Sx,y,n);%基于多变量最小二乘法的脉冲响应模型辨识ninput=l;plotopt=2;[theta,yres]=mlr(xreg,yreg,ninput,plotopt);结果如图所示:15O1-50Actualvalue(o)versusPredictedValue(+)102030405060Outputo^PreSctionError70一enp_s8or05020304050SampleNumber60708-2:考虑一个双输入单输出的对象,其传递函数矩阵为:5.72e-皿1.52*1"6
4、0s、+l255+1采样时间为7秒解:采用下面的MATLAB程序对该对象进行脉冲响应模型辨识,脉冲响应模型预测输出与预测误丼曲线:numl=5.72;denl=[601];g1=poly2tfd(num1,den1,0,14);num2=1.52;den2=[251];g2=poly2tfd(num2,den2,0,15);%将MPC传递函数模型转换为MPC状态空间模型mod=tfd2mod(7,1,g1,g2);%将MPC状态空间模型转换为通用状态空间模型[A,B,C,D]=mod2ss(mod);%将通用状态空间模型转换LTI对象的状态空间模型sys=ss(A,B,C,D);h=tf
5、(sys);%获得脉冲信号x[u,t]=gensig(,pulse,,8,10,0.1);x=[uu];%求解EH对象的单位脉冲响应y(=0:0.1:10;[y,xl,tl]=lsim(h,x,t);%输入脉冲信号x的归一化处理[ax,mx,stdx]=autosc(x);mx=[00];Sx=scal(x,mx,stdx);%生成用于线性回归计算的输入/出数据矩阵n=35;[xreg,yreg]=wrtreg(Sx,y,n);%基于多变量最小二乘法的脉冲响应模型辨识ninput=2;plotopt=2;[theta,yres]=mlr(xreg,yreg,ninput,plotopt)
6、;结果如图所示:150-5010203040SampleNumber607050o1一enpsQr8-3:考虑一个单输入单输出的对象,其传递函数为:G(s)=S+3s+6解:采用下面的MATLAB程序对该对象进行脉冲响应模型辨识,脉冲响应模型预测输出与预测误差曲线%将多项式的传递函数模世转换为MPC传递函数模型num=[ll];den=[l36];h=tf(num,den);%获得脉冲滄号x[u,t]=gensig(,pulse,,2,10,0.1);x=[u];%求解LTI对彖的单位脉冲响应yt=0:0.1:10;[y,xl,tl]=lsim(h,x,t);%生成用于线性回归计算的输入
7、/输出数据矩阵n=30;[xreg,yreg]=wrtreg(Sx,y,n);%基于部分最小二乘法的脉冲响应模型辨识ninput=2;lv=l();plotopt=2;[theta,yres]=mlr(xreg,yreg,ninput,plotopt);结果如图所示:Actualvalue(o)versusPredictedValue(+)1020304050607080Output腐咖嘶ionError515051O.Cao0-0515051O.Cao0-0-enp一S8CT1020304050607080SampleNumber8-4:考虑一个单输入单输出的对象,其传递函数为:厂/八
8、_$+1G($)=—2S~+3s+6解:采用卜•面的MATLAB程序对该对象进行脉冲响应模型辨识,脉冲响应模型预测输出与预测误差曲线:num=[ll];den=[l36];h=tf(num,den);%获得脉冲滄号x[u,t]=gensig(,pulse,,2,10,0.1);x=[u];%求解LTI对彖的单位脉冲响应yt=0:0.1:10;[y,xl,tl]=lsim(h,x,t);%输入脉冲信号x的归一化处理[ax,mx,std