此示例显示了如何估算POL,零和增益参数化的模型。该示例需要控制系统工具箱™软件。
使用复杂共轭杆/零对参数化模型。使用复杂共轭对参数参数化真实的灰度框模型时,软件更新参数值,使得估计值也是复杂的共轭对。
加载测量数据。
加载zpkestdata.ZD.;
包含测量数据的变量ZD已加载到MATLAB®工作区中。
绘图(ZD);
输出显示约3.14秒的输入延迟。
使用零极化增益(ZPK)形式估计模型使用zpkestODE
功能。要查看此功能,请输入
类型zpkestODE
函数[a,b,c,d] = zpkestode(z,p,k,ts,varargin)%zpkestode ode文件,其使用poles和%zeros作为其参数来参数状态空间模型。%%需要控制系统工具箱。%版权所有2011 The MathWorks,Inc.Sysc = ZPK(Z,P,K);如果ts == 0 [a,b,c,d] = ssdata(sysc);否则[A,B,C,D] = SSDATA(C2D(SYSC,TS,'FOH'));结尾
创建与ode函数关联的线性灰度盒模型。
假设该模型有五个极点和四个零。假设两个极和两个零是复杂的共轭对。
z = [-0.5 + 1i,-0.5-1i,-0.5,-1];p = [-1.11 + 2i,-1.11-2i,-3.01,-4.01,-0.02];k = 10.1;参数= {z,p,k};ts = 0;odefun = @zpkestode;init_sys = idgrey(odefun,参数,'光盘',{},ts,'inputdelay', 3.14);
Z.
那P.
,K.
是模型参数的初始猜测。
init_sys.
是与之相关的idgrey模型Zpkestode.m.
功能。这'光盘'
标志表示ode函数,zpkestODE
,返回连续或离散模型,具体取决于采样期。
评估初始模型提供的拟合质量。
compareopt = compareOptions(“InitialCondition”那“零”);比较(ZD,init_sys,compareopt);
初始模型提供了不佳的拟合。
指定估算选项。
选择= greyestOptions ('InitialState'那“零”那'diskancemodel'那'没有任何'那'SearchMethod'那“玲娜”);
估计模型。
sys = greyest(zd,init_sys,opt);
SYS.
iDgrey模型包含估计的零极化模型参数。
比较估计和初始参数值。
[getpvec(init_sys)getpvec(sys)]
ans =.10×2复合物-0.5000 + 1.0000我-1.6158 + 1.6173 -0.5000 - 1.0000 -1.6158 - -0.9416 1.6173 -0.5000 + 0.0000我我-1.0000 + 0.0000 + 0.0000 -1.4099 -1.1100 + 2.0000 + 0.0000我-2.4050 + 1.4340我-1.1100 - 2.0000 -2.4050 - 1.4340 0.0000 -3.0100 + -2.3388 + 0.0000我-4.0100 + 0.0000 -2.3392 -0.0200 + 0.0000 + 0.0000我-0.0082 + 0.0000我9.7881 + 10.1000 + 0.00000.0000i
这getPvec.
命令返回模型的参数值。在上面的输出中,每一行显示相应的初始和估计参数值。所有最初指定为复共轭对的参数在估计后仍然保持不变。
评估估计模型提供的拟合的质量。
比较(ZD,init_sys,sys,compareopt);
SYS.
为测量数据提供更接近的拟合(98.35%)。
C2D.
|getPvec.
|灰
|idgrey.
|ssdata.