maikgrd 发表于 2006-12-11 11:17

求助,利用ARX模型识别频率和阻尼的matlab程序

本人是初学者,请各位多多关照.
已知输入,输出数据,利用ARX模型识别频率和阻尼.请各位高人赐教!

xjzuo 发表于 2006-12-11 11:23

回复

请先贴一下代码及数据,以及你的具体问题.
如果纯粹要程序,可能并不是学习的好方法.

[ 本帖最后由 xjzuo 于 2006-12-11 11:25 编辑 ]

maikgrd 发表于 2006-12-18 15:55

clear
clc

clf;
dx=0.01;
x=0:dx:40.96-dx;
load data.dat;
a=HCN(1501:5596,2);
b=HCN(1501:5596,5);
dal=dtrend(a);
ddal=dtrend(dal,1);
ddall=idfilt(ddal,50,);
dbl=dtrend(b);
ddbl=dtrend(dbl,1);
ddbll=idfilt(ddbl,50,);
data=iddata(ddbll,ddall,0.01);
na=32;nb=33;nk=delayest(data);
th=arx(data,'na',na,'nb',nb,'nk',nk);
data1=predict(th,data);
e1=pe(th,data);
=polydata(th);
for i=1:length(B)
    if B(1)==0
       B=B(2:length(B));
    end
end
=tf2zp(B,A);
for i=1:length(p)
    f(i)=(log(p(i)).*log(p(i)')).^0.5./(2*pi*dx);
    h(i)=-1*(log(p(i))+log(p(i)'))./(4*pi*f(i)*dx);
end
f=smooth(f);
h=smooth(h);
subplot(3,1,1),plot(x,a,'-',x,b,':');
subplot(3,1,2),plot(f);
subplot(3,1,3),plot(h);

maikgrd 发表于 2006-12-18 15:56

感觉滤波还是有点问题,请高人指教

maikgrd 发表于 2006-12-18 16:27

求助,利用ARX模型识别频率和阻尼的matlab程序

数据
页: [1]
查看完整版本: 求助,利用ARX模型识别频率和阻尼的matlab程序