为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

由实验数据求传递函数范例

2019-03-18 9页 doc 47KB 63阅读

用户头像

is_321635

暂无简介

举报
由实验数据求传递函数范例阶跃响应采样数据如下表所示,求出传递函数的估计值。 0 0 0.20 0.0338 0.90 0.4409 0.02 0.0001 0.22 0.0395 1.00 0.4924 0.04 0.0005 0.24 0.0480 1.50 0.6904 0.06 0.0014 0.26 0.0571 2.00 0.8121 0.08 0.0031 0.28 0.0668 2.50 0.8860 0.10 0.0057 0.30...
由实验数据求传递函数范例
阶跃响应采样数据如下所示,求出传递的估计值。 0 0 0.20 0.0338 0.90 0.4409 0.02 0.0001 0.22 0.0395 1.00 0.4924 0.04 0.0005 0.24 0.0480 1.50 0.6904 0.06 0.0014 0.26 0.0571 2.00 0.8121 0.08 0.0031 0.28 0.0668 2.50 0.8860 0.10 0.0057 0.30 0.0771 3.00 0.9309 0.12 0.0091 0.50 0.1979 3.50 0.9581 0.14 0.0135 0.60 0.2624 4.00 0.9746 0.16 0.0187 0.70 0.3253 5.00 0.9907 0.18 0.0248 0.80 0.3851                 解: MATLAB程序如下: t=[0:0.02:0.30 0.50:0.10:1.00 1.50:0.50:4.00 5.00]; yt=[0 0.0001 0.0005 0.0014 0.0031 0.0057 0.0091 0.0135 0.0187 0.0248 0.0338 ... 0.0395 0.0480 0.0571 0.0668 0.0771 0.1979 0.2624 0.3253 0.3851 0.4409 ... 0.4924 0.6904 0.8121 0.8860 0.9309 0.9581 0.9746 0.9907]; yinf=1; %firstly fitting euqation y1=log(yinf-yt); p=polyfit(t,y1,1); alpha=-p(1); A=-exp(p(2)); yt1=yinf+A*exp(-alpha*t); figure(1) plot(t,yt,'*',t,yt1) grid on; figure(2) plot(t,p(1)*t+p(2),t,y1,'*'); grid on; e1=yt1-yt; figure(3) plot(t,e1) grid on; shg a1=find(abs(e1)<=0.05); a11=find(t(a1)>1.0); y11=log(yinf-yt(a1(a11(1)):29)); p=polyfit(t(a1(a11(1)):29),y11,1); alpha=-p(1); A=-exp(p(2)); figure(4) plot(t,p(1)*t+p(2),t,y1,'*'); grid on; yt11=yinf+A*exp(-alpha*t); figure(5) plot(t,yt,'*',t,yt11) grid on; %secondly fitting euqation ys2=yt-yt11; a2=find(ys2>=0.0001); y2=log(ys2(a2)); t2=t(a2); p2=polyfit(t2,y2,1); beta=-p2(1); B=exp(p2(2)); yt2=yt11+B*exp(-beta*t); figure(6) plot(t,yt,'*',t,yt2) grid on; e2=yt2-yt; figure(7) plot(t,e2) grid on; shg b=find(abs(e2)<=0.001); b2=find(t(b)>0.5); y22=log(ys2(b(b2(1)):29)); p=polyfit(t(b(b2(1)):29),y22,1); beta=-p2(1); B=exp(p2(2)); yt22=yt11+B*exp(-beta*t); figure(8) plot(t,e2) grid on; shg figure(9) plot(t,yt,'*',t,yt22) grid on; hold on; e2=yt22-yt; syms xf f=(x+alpha)*(x+beta)+A*(x+beta)*x+B*(x+alpha)*x; f=collect(f); num=sym2poly(f); den=conv(conv([1,0],[1,alpha]),[1,beta]); tf(num,den(1:3)) [y,t3]=step(tf(num,den(1:3))); figure(10) plot(t3,y,'k',t,yt,'*') 结果如下:(只给出主要的结果)
/
本文档为【由实验数据求传递函数范例】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索