利用时域或频域数据估计输出误差多项式模型
输出误差(OE)模型是多项式模型的一种特殊配置,只有两个活动多项式-B而且F.OE模型代表了传统的传递函数,它将测量的输入与输出联系起来,同时还包括白噪声作为附加输出扰动。您可以使用时间和频域数据估计OE模型。的特遣部队
提供与。相同的功能oe
.为特遣部队
,您可以使用极点和零的数量来指定模型的顺序,而不是使用多项式的度数。对于连续时间估计,特遣部队
提供更快更准确的结果,推荐使用。
评估一个OE模型sys
= oe (数据
,[nb nf nk]
)sys
,表示为
y(t)为输出,u(t)为输入,且e(t)为错误。
oe
估计sys
利用测量的投入产出数据数据
,可以是时域,也可以是频域。的订单[nb nf nk]
定义估计多项式的每个分量的参数数。
使用由一个或多个名称-值对参数指定的附加选项指定模型结构属性。sys
= oe (数据
,[nb nf nk]
,名称,值
)
[
返回估计的初始条件作为sys
,集成电路
= oe(___)initialCondition
对象。如果您计划使用相同的估计输入数据来模拟或预测模型响应,然后将响应与相同的估计输出数据进行比较,则使用此语法。在模拟的第一部分中,结合初始条件产生更好的匹配。
用两种方法从时域数据中估计一个OE多项式来指定输入时延。
加载估计数据。
负载iddata1z1
的顺序B而且F多项式注
而且nf
.设置输入延迟nk
对一个样本。计算模型sys
.
Nb = 2;Nf = 2;Nk = 1;系统= oe(z1,[nb nf nk]);
将模拟模型响应与实测输出进行比较。
比较(z1, sys)
结果表明,模拟模型与估计数据的拟合率大于70%。
而不是使用nk
,也可以使用名称-值对参数“InputDelay”
指定单样本延迟。
Nk = 0;Sys1 = oe(z1,[nb nf nk],“InputDelay”1);图比较(z1, sys1)
结果是一样的。
可以查看有关评估的更多信息idpoly
财产sys。报告
.
sys。报告
ans = Status: 'Estimated using OE' Method: 'OE' InitialCondition: 'zero' Fit: [1x1 struct] Parameters: [1x1 struct] OptionsUsed: [1x1 idoptions. spolyest] RandState: [1x1 struct] DataUsed: [1x1 struct]终止:[1x1 struct]
例如,查找关于终止条件的更多信息。
sys.Report.Termination
ans =带有字段的结构:WhyStop: '接近(本地)最小值,(范数(g) < tol)。'迭代:3 FirstOrderOptimality: 0.0708 FcnCount: 7 UpdateNorm: 1.4809e-05 lasttimprovement: 5.1744e-06
报告包括关于迭代次数和评估停止迭代的原因的信息。
加载估计数据。
负载oe_data1数据;
的idfrd
对象数据
包含以下模型的连续时间频率响应:
估计模型。
Nb = 2;Nf = 3;Sys = oe(data,[nb nf]);
评估拟合优度。
比较(数据、系统);
从模拟高阶系统收集的数据中估计一个高阶OE模型。通过试错确定正则化常数,并使用这些值进行模型估计。
加载数据。
负载regularizationExampleData.matm0simdata
估计订单为30的非正则化OE模型。
M1 = oe(m0simdata,[30 30 1]);
通过试错确定Lambda值,获得正则化的OE模型。
opt = oeOptions;opt. regulalizing . lambda = 1;M2 = oe(m0simdata,[30 30 1],opt);
将模型输出与估计数据进行比较。
opt = compareOptions(“InitialCondition”,“z”);比较(m0simdata, m1, m2,选择);
正则化模型平方米
产生比非正则化模型更好的拟合m1
.
比较模型响应的方差。
H = bodeploy (m1,m2);Opt = getoptions(h);opt.PhaseMatching =“上”;opt.ConfidenceRegionNumberSD = 3;opt.PhaseMatching =“上”;setoption (h,选择);showConfidence (h);
正则化模型平方米
与非正则化模型相比,方差减小了吗m1
.
加载估计数据数据
采样时间Ts
.
负载oe_data2.mat数据Ts
一个iddata
对象数据
包含以下模型的离散时间频率响应:
查看估计样本时间Ts
那是你装的。
Ts
Ts = 1.0000e-03
此值与属性匹配数据。Ts
.
数据。Ts
Ans = 1.0000e-03
你可以估计一个连续的模型数据
通过限制输入和输出频带到奈奎斯特频率。为此,指定估计预过滤器选项“WeightingFilter
来定义通带0
来0.5 *π/ Ts
rad / s。该软件忽略任何频率超出该通带的响应值。
opt = oeOptions(“WeightingFilter”, 0 0.5 *π/ Ts);
设置Ts
财产0
治疗数据
作为连续时间数据。
数据。Ts=0;
估计连续模型。
Nb = 1;Nf = 3;Sys = oe(data,[nb nf],opt);
加载数据。
负载iddata1icz1i
估计一个OE多项式模型sys
返回初始条件集成电路
.
Nb = 2;Nf = 2;Nk = 1;[sys,ic] = oe(z1i,[nb,nf,nk]);集成电路
ic = initialCondition属性:A: [2x2 double] X0: [2x1 double] C: [0.9428 0.4824] Ts: 0.1000
集成电路
是一个initialCondition
的空闲响应sys
的初始状态向量X0
.你可以合并集成电路
当你模拟sys
与z1i
输入信号,并与响应进行比较z1i
输出信号。
[nb nf nk]
- - - - - -OE型号订单OE模型顺序,指定为1乘3的向量或整数矩阵的向量。
对于一个由
在哪里y(t)为输出,u(t)为输入,且e(t)为误差,为元素[nb nf nk]
具体如下:
注
-法庭的秩序B(问)多项式+ 1,它等价于B(问)多项式。注
是一个Ny——- - - - - -Nu矩阵。Ny输出的数量和Nu是输入的数量。
nf
-法庭的秩序F多项式。nf
是一个Ny——- - - - - -Nu矩阵。
nk
-输入延迟,用样本数量表示。nk
是一个Ny——- - - - - -Nu矩阵。的前导零显示为延迟B多项式。
对于使用连续时间频域数据的估计,只指定(nb nf)
和省略nk
.示例请参见利用频率响应估计连续时间OE模型.
init_sys
- - - - - -线性系统idpoly
模型|线性模型|结构的初始参数化的线性系统sys
,指定为idpoly
模型,另一个线性模型,或者一个结构。你获得init_sys
要么通过使用测量数据进行估计,要么通过直接构造。
如果init_sys
是一个idpoly
OE结构模型,oe
的参数值init_sys
作为估算的初始猜测sys
.的采样时间init_sys
必须与数据的采样时间相匹配。
使用结构
的属性init_sys
配置的初始猜测和约束B(问),F(问).例如:
的初始猜测F(问)期限init_sys
,设置init_sys.Structure.F.Value
作为最初的猜测。
来指定约束B(问)期限init_sys
:
集init_sys.Structure.B.Minimum
到最低限度B(问)系数值。
集init_sys.Structure.B.Maximum
最大限度地B(问)系数值。
集init_sys.Structure.B.Free
来表明B(问)系数可以自由估计。
如果init_sys
是不是一个多项式模型的OE结构,软件先转换init_sys
到一个OE结构模型。oe
将得到的模型参数作为初始估计值进行估计sys
.
如果不指定选择
而且init_sys
被估计得到,那么软件使用估计选项从init_sys.Report.OptionsUsed
.
选择
- - - - - -估计选项oeOptions
选项设置指定逗号分隔的可选对名称,值
参数。的名字
参数名称和价值
对应的值。的名字
必须出现在引号内。可以以任意顺序指定多个名称和值对参数Name1, Value1,…,的家
.
“InputDelay”,1
“InputDelay”
- - - - - -输入延迟每个输入通道的输入延迟,指定为逗号分隔的对,由“InputDelay”
一个数字向量。
对于连续时间模型,指定“InputDelay”
存储在TimeUnit
财产。
对于离散时间模型,指定“InputDelay”
是采样时间的整数倍Ts
.例如,设置“InputDelay”
来3.
指定三个采样周期的延迟。
对于一个Nu输入,设置InputDelay
到一个Nu1的向量。该向量的每一项都是一个数值,表示对应输入通道的输入延迟。
若要对所有通道应用相同的延迟,请指定“InputDelay”
作为一个标量。
示例请参见估计OE多项式模型.
“IODelay”
- - - - - -运输延误每个输入输出对的传输延迟,指定为逗号分隔的对,由“IODelay”
还有一个数字数组。
对于连续时间模型,指定“IODelay”
存储在TimeUnit
财产。
对于离散时间模型,指定“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
当从时域数据估计时,总是一个离散时间模型。对于使用时域数据的连续时间模型识别,请使用特遣部队
.
的报告
属性存储有关估计结果和使用的选项的信息。报告
具有以下字段。
报告字段 | 描述 | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
状态 |
模型状态的摘要,它表明模型是通过构建创建的还是通过估计获得的。 |
||||||||||||||||||
方法 |
使用的估计命令。 |
||||||||||||||||||
InitialCondition |
在模型估计期间处理初始条件,作为以下值之一返回:
该字段对于查看初始条件是如何处理的特别有用 |
||||||||||||||||||
适合 |
估计的定量评估,作为结构返回。看到损失函数和模型质量度量有关这些质量指标的更多信息。该结构有以下字段:
|
||||||||||||||||||
参数 |
模型参数估计值。 |
||||||||||||||||||
OptionsUsed |
用于估计的选项集。如果没有配置自定义选项,则这是一组默认选项。看到 |
||||||||||||||||||
RandState |
估计开始时随机数流的状态。空的, |
||||||||||||||||||
DataUsed |
用于估计的数据的属性,作为具有以下字段的结构返回:
|
||||||||||||||||||
终止 |
用于预测误差最小化的迭代搜索的终止条件,作为具有以下字段的结构返回:
对于不需要数值搜索优化的估计方法 |
有关使用的更多信息报告
,请参阅评估报告.
集成电路
-初始条件initialCondition
对象|对象数组initialCondition
值估计的初始条件,返回为initialCondition
对象或的对象数组initialCondition
值。
对于单个实验数据集,集成电路
以状态空间形式表示传递函数模型的自由响应(一个而且C矩阵)到估计的初始状态(x0).
对于一个多实验数据集Ne实验中,集成电路
对象数组的长度Ne其中包含一组initialCondition
每个实验的值。
如果oe
返回集成电路
的值0
你知道你有非零的初始条件,设“InitialCondition”
选项oeOptions
来“估计”
并将更新后的选项集传递给oe
.例如:
opt = oeOptions(“InitialCondition”,估算')[sys,ic] = oe(data,np,nz,opt)
“汽车”
设置“InitialCondition”
使用“零”
当初始条件对整体估计误差最小化过程的影响可忽略时的方法。指定“估计”
确保软件估计的值集成电路
.
有关更多信息,请参见initialCondition
.有关使用此参数的示例,请参见获取初始条件.
一般输出误差模型结构为:
输出误差模型的阶数为:
如果数据
是连续时间频域数据,oe
估计具有以下传递函数的连续时间模型:
分子和分母的阶是注
而且nf
,类似于离散时间的情况。然而,样本延迟nk
不存在连续的情况下,你不应该指定nk
当您命令估算时。相反,使用名称-值对参数表示任何系统延迟“IODelay”
与存储在属性中的时间单位中的系统延迟一起TimeUnit
.例如,假设连续系统的延迟为iod的
秒。使用model = oe(data,[nb - nf],'IODelay',iod)
.
的并行计算支持可用于估计万博1manbetxlsqnonlin
搜索方法(需要优化工具箱™)。要启用并行计算,请使用oeOptions
,设置SearchMethod
来“lsqnonlin”
,并设置SearchOptions.Advanced.UseParallel
来真正的
.
例如:
opt = oeOptions;opt.SearchMethod =“lsqnonlin”;opt.SearchOptions.Advanced.UseParallel = true;
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入命令来运行该命令。Web浏览器不支持MATLAB命令。万博1manbetx
您也可以从以下列表中选择网站:
选择中国网站(中文或英文)以获得最佳的网站表现。其他MathWorks国家网站没有针对从您的位置访问进行优化。