Chinaunix首页 | 论坛 | 博客
  • 博客访问: 683175
  • 博文数量: 90
  • 博客积分: 1631
  • 博客等级: 上尉
  • 技术积分: 1413
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-15 22:43
文章分类
文章存档

2017年(8)

2016年(9)

2015年(11)

2014年(10)

2013年(9)

2012年(9)

2010年(2)

2009年(10)

2008年(22)

我的朋友

分类:

2008-05-22 00:27:03

   谁能帮我检查以下到底哪里出现了错误,为什么y的输出前面项全是0,难道系统辩始工具箱对初值这么敏感,只能递推?
 
clear all
v=randn(600,1);%%产生随机数
lam=1;T=0.1;
na=2;nb=1;nc=0;nk=1;
a=[1,-0.8,-1];b=[0,1,1.5];c=[1];d=[1,-1];f=[1];
%%na=2;nb=2;nc=0;nk=1;
%%a=[1,-1.6,0.6];b=[0,1.5,-0.53,0.9];c=[1,0.4,0];d=[1];f=[1];
th0=poly2th(a,b,c,d,f,lam,T);
u=idinput(600,'prbs');
y=idsim([u,v],th0);
z=[y,u];
%idplot(z);hold on;
%%模型参数辨识
th1=armax(z,[na nb nc nk])
[a,b,c,d,f,lam,t]=th2poly(th1);
%%系统输出与参考输出比较
y1=idsim([u,v],th0);
y2=idsim([u,v],th1);
k=1:1:600;
plot(k,y,'b',k,y2,'--r')
阅读(1566) | 评论(0) | 转发(0) |
0

上一篇:不抛弃 不放弃

下一篇:安静战胜了浮躁

给主人留下些什么吧!~~