使用零/钢管/增益参数估计模型
这个例子展示了如何估计模型参数化的波兰人,零,收益。示例需要控制系统工具箱™软件。
你使用复共轭极点/零对参数化模型。参数化真实时,使用复共轭双灰色矩形模型参数,软件更新参数值,估算值也复共轭双。
加载测量数据。
负载zpkestdatazd;
变量zd,包含测量数据,加载到MATLAB®工作区。
情节(zd);
输出显示了一个输入延迟大约3.14秒。
使用zero-pole-gain估计模型(zpk)形式使用zpkestODE
函数。查看这个函数,输入
类型zpkestODE
函数(a, b, c, d) = zpkestODE (z, p、k、t、变长度输入宗量)% zpkestODE ODE文件,利用状态空间模型参数化一个波兰人和% 0作为其参数。% %需要控制系统工具箱。% 2011年版权MathWorks公司sysc = zpk (z,磷、钾);如果t = = 0 (a, b, c, d) = ssdata (sysc);其他(a, b, c, d) = ssdata(汇集(sysc, Ts,“呸”));结束
创建一个线性灰色矩形模型与ODE函数相关联。
假设模型有五个波兰人和四个零。假设两个波兰人和两个零的复共轭双。
z =(-0.5 + 1我,-0.5我,-0.5,1];p =(-1.11 + 2我,-1.11 - 2我,-3.01,-4.01,-0.02);k = 10.1;参数= {z,磷、钾};t = 0;odefun = @zpkestODE;init_sys = idgrey (odefun、参数“cd”,{},Ts,“InputDelay”,3.14);
z
,p
,k
模型参数的初始猜测。
init_sys
是一个idgrey模式相关联的zpkestODE.m
函数。的“cd”
国旗表明ODE函数,zpkestODE
,返回连续或离散模型,根据采样周期。
评估的质量符合所提供的初始模型。
compareOpt = compareOptions (“InitialCondition”,“零”);比较(zd init_sys compareOpt);
最初的模型提供了一个贫穷的健康。
指定评估选项。
选择= greyestOptions (“InitialState”,“零”,“DisturbanceModel”,“没有”,“SearchMethod”,“玲娜”);
估计模型。
sys =老龄化最严重的(zd、init_sys选择);
sys
,一个idgrey模型,包含zero-pole-gain估计模型参数。
估计和初始参数值进行比较。
[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.4100 -1.1100 + 2.0000 + 0.0000我-2.4050 + 1.4340我-1.1100 - 2.0000 -2.4050 - 1.4340 -3.0100 -2.3388 + 0.0000 + 0.0000我-4.0100 0.0000 -0.0200我-2.3393 + 0.0000 + 0.0000 + -0.0082 + 0.0000我10.1000 + 0.0000我9.7881 + 0.0000
的getpvec
命令返回一个模型的参数值。在上面的输出中,每一行显示相应的初始和估计参数值。所有参数最初指定为复共轭双估计后依然如此。
评估的质量符合提供的估计模型。
比较(zd、init_sys sys, compareOpt);
sys
提供了一个更适合测量数据(98.35%)。