欢迎来到天天文库
浏览记录
ID:14015375
大小:1.06 MB
页数:32页
时间:2018-07-25
《现代控制理论实验09》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、杨晓丹
2、 现代控制理论
3、 2015年5月26日实验09页31目录一、实验内容及目的2二、实验方案内容21.水箱实验22.实验数据处理31)选取数据32)去初始值33)平滑化34)去零值35)去异常值33.系统一次辨识41)一阶有自衡对象辨识42)无自衡对象辨识53)高阶有衡对象辨识74)最小二乘法辨识85)递推最小二乘法辨识104.系统二次辨识121)穷举法132)随机法143)混沌法154)粒子群法16三、实验结果及分析191.试验数据处理192.系统一次辨识213.系统二次辨识231)穷举法232)随机法233)混沌法264)粒子群法284.结果
4、分析30页31四、实验中遇到的问题31一、实验内容及目的本次实验测试水箱特性。通过从一稳定状态到另一稳定状态得到水箱的阶跃响应曲线,通过阶跃响应曲线求出水箱的传递函数。通过本次试验掌握处理数据的方法和系统的辨识方法。二、实验方案内容1.水箱实验增压泵计算机HT上水箱下水箱电动阀1V11V10V4V5储水箱如图所示,将水箱开关V4调到合适位置,电动阀调到合适开度,等待一段时间后上水箱水位稳定。增大电动阀开度,不改变V4开度,等待一段时间后,上水箱水位稳定,记下电动阀开度和上水箱水位的数据。页312.实验数据处理将水箱实验中得到的数据按以下步骤处理,得到阶跃
5、响应曲线。1)选取数据测量的数据需要从一个稳态到达另一个稳态。通过观察输入U的曲线和输出Y的曲线,选择一段从一个稳态到达另一个稳态的数据。2)去初始值将输出曲线Y的值减去开始时稳态的值,既将曲线向下平移。3)平滑化输出信号中含有噪声,用五值一平均的方法把噪声去掉。Y(t)=[Y(t-2)+Y(t-1)+Y(t)+Y(t+1)+Y(t+2)]/5。4)去零值将曲线开始部分的0值去除,既曲线向左平移至坐标原点。5)去异常值用差分法检测异常值,若满足,则认为y(t+1)点为异常点,为分辨系数,越大越严格。Y(t+1)=2Y(t)-Y(t-1)。代码如下clc;
6、clearall;closeall;loadwtank;Y=y;sa=314;en=842;Y1(1:en-sa+1)=Y(sa:en);[lp,m]=size(Y1);页31iflp7、plot(t,Y1);holdon;plot(t1,Y4);3.系统一次辨识系统的阶次和系统中的独立储能元件的个数有关。上水箱的储能元件个数为1,所以系统阶次应为一阶。水箱的出口流量变化大致为,。所以水箱应为一阶有自衡对象,传递函数应为。1)一阶有自衡对象辨识一阶有自衡对象的终值,时间T为0.632ys时对应的值。代码如下clc;clearall;closeall;loadwtankjy;页31Y1=Y;[lp,m]=size(Y1);iflp8、=ys*0.632;fori=1:lperr(i)=(Y1(i)-ys)*(Y1(i)-ys);end[e,p]=min(err);T=p*dt;k=ys;2)无自衡对象辨识无自衡对象可近似看为,沿着渐近线做斜线,k为该斜线的斜率,n*T=Ota,,B点为y周上X0的位置。代码如下clc;clearall;closeall;loadsou3;Y1=Y;[lp,m]=size(Y1);ifm>lplp=m;endsum=0;fori=lp:-1:fix(lp*0.95)sum=sum+(Y1(i)-Y1(i-1))/dt;endk=sum/(lp-fix(9、lp*0.95));oh=Y1(lp)-k*dt*lp;ota=-oh/k;T=ota;ta=fix(ota/dt);ob=Y1(ta+1);页31a=exp(-dt/T);b=1-a;y=0;y1=0;r=1;n=1;fori=1:lpy=a*y+k*b*r;y1=y1+y*dt;Y2(i)=y1;t(i)=i*dt;enderr=zeros(lp,1);fori=1:lperr(i)=abs(Y2(i)-Y(i));end[aerr]=max(err);ifaerr/k>0.5n=round(1/2/pi*(-oh/ob)*(-oh/ob)-1/6)10、;ifn<1n=1;endT=ota/n;aa=exp(-dt/T);bb=1-
7、plot(t,Y1);holdon;plot(t1,Y4);3.系统一次辨识系统的阶次和系统中的独立储能元件的个数有关。上水箱的储能元件个数为1,所以系统阶次应为一阶。水箱的出口流量变化大致为,。所以水箱应为一阶有自衡对象,传递函数应为。1)一阶有自衡对象辨识一阶有自衡对象的终值,时间T为0.632ys时对应的值。代码如下clc;clearall;closeall;loadwtankjy;页31Y1=Y;[lp,m]=size(Y1);iflp8、=ys*0.632;fori=1:lperr(i)=(Y1(i)-ys)*(Y1(i)-ys);end[e,p]=min(err);T=p*dt;k=ys;2)无自衡对象辨识无自衡对象可近似看为,沿着渐近线做斜线,k为该斜线的斜率,n*T=Ota,,B点为y周上X0的位置。代码如下clc;clearall;closeall;loadsou3;Y1=Y;[lp,m]=size(Y1);ifm>lplp=m;endsum=0;fori=lp:-1:fix(lp*0.95)sum=sum+(Y1(i)-Y1(i-1))/dt;endk=sum/(lp-fix(9、lp*0.95));oh=Y1(lp)-k*dt*lp;ota=-oh/k;T=ota;ta=fix(ota/dt);ob=Y1(ta+1);页31a=exp(-dt/T);b=1-a;y=0;y1=0;r=1;n=1;fori=1:lpy=a*y+k*b*r;y1=y1+y*dt;Y2(i)=y1;t(i)=i*dt;enderr=zeros(lp,1);fori=1:lperr(i)=abs(Y2(i)-Y(i));end[aerr]=max(err);ifaerr/k>0.5n=round(1/2/pi*(-oh/ob)*(-oh/ob)-1/6)10、;ifn<1n=1;endT=ota/n;aa=exp(-dt/T);bb=1-
8、=ys*0.632;fori=1:lperr(i)=(Y1(i)-ys)*(Y1(i)-ys);end[e,p]=min(err);T=p*dt;k=ys;2)无自衡对象辨识无自衡对象可近似看为,沿着渐近线做斜线,k为该斜线的斜率,n*T=Ota,,B点为y周上X0的位置。代码如下clc;clearall;closeall;loadsou3;Y1=Y;[lp,m]=size(Y1);ifm>lplp=m;endsum=0;fori=lp:-1:fix(lp*0.95)sum=sum+(Y1(i)-Y1(i-1))/dt;endk=sum/(lp-fix(
9、lp*0.95));oh=Y1(lp)-k*dt*lp;ota=-oh/k;T=ota;ta=fix(ota/dt);ob=Y1(ta+1);页31a=exp(-dt/T);b=1-a;y=0;y1=0;r=1;n=1;fori=1:lpy=a*y+k*b*r;y1=y1+y*dt;Y2(i)=y1;t(i)=i*dt;enderr=zeros(lp,1);fori=1:lperr(i)=abs(Y2(i)-Y(i));end[aerr]=max(err);ifaerr/k>0.5n=round(1/2/pi*(-oh/ob)*(-oh/ob)-1/6)
10、;ifn<1n=1;endT=ota/n;aa=exp(-dt/T);bb=1-
此文档下载收益归作者所有