利用时域或频域数据估计输出误差多项式模型
输出误差(OE)模型是多项式模型的一个特殊的结构中,仅具有两个活性polynomials-B和F. OE模型代表了传统的传递函数,它将测量的输入与输出联系起来,同时也将白噪声作为附加的输出干扰。您可以使用时域和频域数据估计运行经验模型。这个tfest
命令提供的功能与运行经验
。对于tfest
,你指定的模型订单使用的是极点和零点的数量,而不是多项式的次数。对于连续时间的估计,tfest
提供更快和更准确的结果,并建议。
估计OE模型SYS
=运行经验(数据
,(nb nf nk)
)SYS
,由
y(t)是输出,u(t)是输入,并且e(t)是错误。
运行经验
估计SYS
使用测量的输入输出数据数据
,可以是在时域,也可以是在频域。的订单(nb nf nk)
定义估计多项式的每个分量中的参数个数。
使用由一个或多个名称-值对参数指定的附加选项指定模型结构属性。SYS
=运行经验(数据
,(nb nf nk)
,名称、值
)
使用两种方法来指定输入延迟时域数据估计的OE多项式。
加载估计数据。
负载iddata1Z1
设置的顺序B和F多项式nb公司
和核因子
。设置输入延迟nk公司
一个样本。计算模型SYS
。
nb=2;nf=2;nk=1;sys=oe(z1,[nb-nf-nk]);
将模拟模型响应与实测输出进行比较。
比较(Z1,SYS)
该图显示,模拟的模型和估计数据之间的配合比例大于70%。
而不是使用nk公司
,也可以使用名称-值对参数'输入延迟'
指定单样本延迟。
nk=0;sys1=oe(z1,[nb-nf-nk],'输入延迟',1);图形比较(z1,sys1)
结果是一样的。
您可以查看更多关于评估的信息idpoly
财产系统报告
。
系统报告
ans = Status: ' estimate using OE' Method: 'OE' InitialCondition: 'zero' Fit: [1x1 struct] Parameters: [1x1 struct] OptionsUsed: [1x1 idoptions.]数据使用:[1x1 struct]终止:[1x1 struct]
例如,发现关于终止条件的详细信息。
系统报告终止
ans =带字段的结构:WhyStop: '近(本地)最小,(范数(G)
该报告包含有关迭代次数和估计停止迭代的原因的信息。
加载估计数据。
负载oe_data1数据;
的idfrd
对象数据
包含以下模型中的连续时间频率响应:
估计模型。
nb = 2;nf = 3;sys = oe(data,[nb nf]);
评估拟合优度。
比较(数据,SYS);
通过模拟高阶系统,从采集的数据中估计高阶OE模型。通过反复试验确定正则化常数,并使用这些值进行模型估计。
加载数据。
负载正则化exampledata.matm0simdata公司
估计一个非正则化的OE模型为30阶。
m1=oe(m0simdata,[30 30 1]);
通过反复试验确定Lambda值,得到一个正则化的OE模型。
选择= oeOptions;opt.Regularization。λ= 1;m2 = oe(m0simdata,[30 30 1],opt);
将模型输出与估计数据进行比较。
选择= compareOptions (“InitialCondition”,“z”);比较(m0simdata, m1, m2,选择);
正则化模型平方米
产生更好的配合比非正规模式m1型
。
比较模型响应的方差。
h = bodeplot (m1、m2);选择= getoptions (h);opt.PhaseMatching =“上”;opt.ConfidenceRegionNumberSD=3;opt.PhaseMatching=“上”;setoptions(H,优化);showConfidence(H);
正则化模型平方米
具有降低的方差相比,非正规模型m1型
。
加载估计数据数据
和采样时间TS
。
负载oe_data2.mat数据TS
一个iddata
对象数据
包含以下模型的离散时间频率响应:
查看估计采样时间TS
你装的。
TS
t = 1.0000 e 03
此值的属性相匹配数据.Ts
。
数据.Ts
ans = 1.0000 e 03
您可以估算一个连续模型数据
通过限制输入和输出频带的奈奎斯特频率。要做到这一点,指定估计预过滤器选项'权重筛选器
'定义通频带0
至0.5*pi/Ts
弧度/秒。软件忽略与该频率通带外的任何响应值。
选择= oeOptions(“WeightingFilter”,[0.5*pi/Ts]);
设置TS
财产0
治疗数据
连续时间数据。
数据.Ts=0;
估计连续模型。
nb = 1;nf = 3;sys = oe(data,[nb nf],opt);
数据
- - - - - -估算数据iddata
对象|财务报告日
对象|idfrd
对象(nb nf nk)
- - - - - -OE模型订单OE模型顺序,指定为1乘3向量或整数矩阵向量。
对于由表示的系统
哪里y(t)是输出,u(t)是输入,并且e(t)是误差,的元素(nb nf nk)
如下面所述:
nb公司
-命令B(问)多项式+ 1,它等于的长度B(问)多项式。nb公司
是一个Ny——- - - - - -Nu矩阵。Ny输出的数量和Nu是输入的数量。
核因子
-命令F多项式。核因子
是一个Ny——- - - - - -Nu矩阵。
nk公司
- 输入延迟,表示为样本的数量。nk公司
是一个Ny——- - - - - -Nu矩阵。的前导零出现延迟B多项式。
对于使用连续时间频域数据估计,仅指定[NB NF]
和省略nk公司
. 例如,请参见利用频率响应估计连续时间OE模型。
init_sys
- - - - - -线性系统idpoly
模型|线性模型|结构配置初始参数化的线性系统SYS
,指定为idpoly
模型,另一个线性模型,或者结构。你获得init_sys
要么用测量数据进行估计,要么直接构造。
如果init_sys
是一个idpoly
运行经验结构模型,运行经验
使用的参数值init_sys
作为估计的初始猜测SYS
。的采样时间init_sys
必须匹配数据的采样时间。
使用结构
的属性init_sys
配置初始猜测和约束B(问)和F(问)。例如:
的初始猜测F(问的)项init_sys
,设置init_sys.Structure.F.Value
作为最初的猜测。
为B(问的)项init_sys
:
集最小初始系统结构
到最低限度B(问)系数值。
集初始系统结构B最大值
最大B(问)系数值。
集init_sys.Structure.B.Free
来表示,B(问)的系数都是免费的估计。
如果init_sys
是不是一个多项式模型的OE结构,软件先转换init_sys
运行经验结构模型。运行经验
使用所得到的模型的参数作为用于估计初始猜测SYS
。
如果您没有指定选择
和init_sys
经估算得到,那么该软件使用来自估计选项init_sys.Report.OptionsUsed
。
选择
- - - - - -估计选项oeOptions公司
选项设置指定可选的逗号分隔的对名称、值
参数。名称
参数名和价值
是相应的值。名称
必须出现在引号内。可以按任意顺序指定多个名称和值对参数,如下所示Name1, Value1,…,的家
。
'InputDelay',1
'输入延迟'
- - - - - -输入延迟每个输入通道的输入延迟,指定为由'输入延迟'
和一个数字向量。
对于连续时间模型,指定'输入延迟'
在时间单位中存储时间单位
财产。
对于离散时间模型,指定'输入延迟'
在采样时间的整数倍TS
. 例如,设置'输入延迟'
至3.
指定三个采样周期的延迟。
对于一个有Nu输入,一组InputDelay
给一个Nu1的向量。这个向量的每一项都是一个数值,表示对应输入通道的输入延迟。
要对所有通道应用相同的延迟,请指定'输入延迟'
作为一个标量。
例如,请参见估计OE多项式模型。
'IODELAY'
- - - - - -传输延迟传输延迟对于每个输入 - 输出对,指定为逗号分隔的一对组成的'IODELAY'
以及一个数字数组。
对于连续时间模型,指定'IODELAY'
在时间单位中存储时间单位
财产。
对于离散时间模型,指定'IODELAY'
在采样时间的整数倍TS
. 例如,设置'IODELAY'
至4
指定四个采样周期的传输延迟。
对于一个有Nu输入和Ny输出,'IODELAY'
给一个Ny——- - - - - -Nu矩阵。每个条目都是一个整数值,表示对应输入输出对的传输延迟。
要对所有通道应用相同的延迟,请指定'IODELAY'
作为一个标量。
您可以指定'IODELAY'
作为…的另一种选择nk公司
价值。方法中的前导零的数目减少,从而简化了模型结构B多项式。特别是,你可以表示MAX(NK-1,0)
使用前导零作为输入-输出延迟'IODELAY'
代替。
SYS
- OE多项式模型idpoly
对象符合估计数据的OE多项式模型,返回为idpoly
模型对象。此模型是使用指定的模型订单、延迟和估计选项创建的。的采样时间SYS
匹配估计数据的采样时间。因此,SYS
总是从时域数据估计的当离散时间模型。对于连续时间模型识别利用时域数据,使用tfest
。
的报告
属性存储有关估计结果和使用的选项的信息。报告
具有以下字段。
报告字段 | 描述 | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
状态 |
的模型状态,其指示该模型是否是由结构创建或通过估计获得摘要。 |
||||||||||||||||||
方法 |
使用估算命令。 |
||||||||||||||||||
初始条件 |
模型估计过程中初始条件的处理,作为以下值之一返回:
此字段是特别有用的,以查看初始条件如何,当处理 |
||||||||||||||||||
适合 |
定量评估的估计,作为结构返回。看到损失函数与模型质量度量有关这些质量指标的更多信息。结构具有以下字段:
|
||||||||||||||||||
参数 |
模型参数估计值。 |
||||||||||||||||||
OptionsUsed |
用于估计选项设置。如果尚未配置自定义选项,这是一组的默认选项。看到 |
||||||||||||||||||
RandState |
随机数流在估计开始时的状态。空的, |
||||||||||||||||||
DataUsed |
用于估计的数据,返回为具有以下字段的结构的属性:
|
||||||||||||||||||
终止 |
终止条件为迭代搜索,用于预测误差最小化。具有以下字段的结构:
对于估计方法不需要数值搜索优化, |
以获取更多有关使用的信息报告
,请参阅评估报告。
一般输出误差模型结构为:
输出误差模型的顺序是:
如果数据
为连续时间频域数据,运行经验
使用以下传递函数估计连续时间模型:
分子和分母的顺序是nb公司
和核因子
,类似于离散时间的情况。但是,采样延迟nk公司
在连续案例中不存在,并且不应指定nk公司
当你命令的估计。取而代之的是,使用名称 - 值对的说法发表任何系统延迟'IODELAY'
与系统延迟一起存储在属性中的时间单位时间单位
。例如,假设您的连续系统的延迟iod的
秒。使用模型=oe(数据,[nb-nf],'IODelay',iod)
。
并行计算支持可用于利用估计金宝applsqnonlin
搜索方法(需要优化工具箱™)。若要启用并行计算,请使用oeOptions公司
,设置搜索方法
至'lsqnonlin'
和集SearchOptions.Advanced.UseParallel
至真的
。
例如:
选择= oeOptions;opt.SearchMethod ='lsqnonlin';opt.SearchOptions.Advanced.usepallel=true;
你点击了一个链接,对应于这个MATLAB命令:
在MATLAB命令窗口中输入它运行的命令。Web浏览器不支持MATLAB的命令。金宝app
也可以从以下列表中选择网站:
选择中国网站(中文或英文),以获得最佳的网站表现。其他MathWorks国家站点没有针对您所在位置的访问进行优化。