运行经验

利用时域或频域数据估计输出误差多项式模型

描述

输出误差(OE)模型是多项式模型的一个特殊的结构中,仅具有两个活性polynomials-BF. OE模型代表了传统的传递函数,它将测量的输入与输出联系起来,同时也将白噪声作为附加的输出干扰。您可以使用时域和频域数据估计运行经验模型。这个tfest命令提供的功能与运行经验。对于tfest,你指定的模型订单使用的是极点和零点的数量,而不是多项式的次数。对于连续时间的估计,tfest提供更快和更准确的结果,并建议。

例子

SYS=运行经验(数据,(nb nf nk))估计OE模型SYS,由

y ( t ) = B ( ) F ( ) u ( t n k ) + e ( t )

y(t)是输出,u(t)是输入,并且e(t)是错误。

运行经验估计SYS使用测量的输入输出数据数据,可以是在时域,也可以是在频域。的订单(nb nf nk)定义估计多项式的每个分量中的参数个数。

例子

SYS=运行经验(数据,(nb nf nk),名称、值)使用由一个或多个名称-值对参数指定的附加选项指定模型结构属性。

SYS=运行经验(数据,init_sys)使用线性系统init_sys来配置的初始参数化SYS

例子

SYS=运行经验(数据,___,选择)使用选项集估计多项式模型选择指定评估行为。您可以将此语法用于前面的任何输入-参数组合。

例子

全部折叠

使用两种方法来指定输入延迟时域数据估计的OE多项式。

加载估计数据。

负载iddata1Z1

设置的顺序BF多项式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对象数据包含以下模型中的连续时间频率响应:

G ( 年代 ) = 年代 + 3. 年代 3. + 2 年代 2 + 年代 + 1

估计模型。

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对象数据包含以下模型的离散时间频率响应:

G ( 年代 ) = 1 0 0 0 年代 + 5 0 0

查看估计采样时间TS你装的。

TS
t = 1.0000 e 03

此值的属性相匹配数据.Ts

数据.Ts
ans = 1.0000 e 03

您可以估算一个连续模型数据通过限制输入和输出频带的奈奎斯特频率。要做到这一点,指定估计预过滤器选项'权重筛选器'定义通频带00.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反对。

对于时域估计,数据一定是iddata包含输入和输出信号值的对象。

对频域估计,数据可以是以下其中之一:

  • 记录的频率响应数据(财务报告日idfrd)

  • iddata对象的属性指定如下:

    • 输入数据-输入信号的傅里叶变换

    • OutputData- 傅立叶变换的输出信号的

    • - - - - - -'频率'

时域估计数据必须均匀采样。默认情况下,软件将模型的采样时间设置为估计数据的采样时间。

对于多实验数据,所有实验的采样次数和样本间行为必须匹配。

可以从时域数据或频域数据计算离散时间模型。使用tfest来计算连续时间模型。

OE模型顺序,指定为1乘3向量或整数矩阵向量。

对于由表示的系统

y ( t ) = B ( ) F ( ) u ( t n k ) + e ( t )

哪里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模型

配置初始参数化的线性系统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'在采样时间的整数倍TS. 例如,设置'IODELAY'4指定四个采样周期的传输延迟。

对于一个有Nu输入和Ny输出,'IODELAY'给一个Ny——- - - - - -Nu矩阵。每个条目都是一个整数值,表示对应输入输出对的传输延迟。

要对所有通道应用相同的延迟,请指定'IODELAY'作为一个标量。

您可以指定'IODELAY'作为…的另一种选择nk公司价值。方法中的前导零的数目减少,从而简化了模型结构B多项式。特别是,你可以表示MAX(NK-1,0)使用前导零作为输入-输出延迟'IODELAY'代替。

输出参数

全部折叠

符合估计数据的OE多项式模型,返回为idpoly模型对象。此模型是使用指定的模型订单、延迟和估计选项创建的。的采样时间SYS匹配估计数据的采样时间。因此,SYS总是从时域数据估计的当离散时间模型。对于连续时间模型识别利用时域数据,使用tfest

报告属性存储有关估计结果和使用的选项的信息。报告具有以下字段。

报告字段 描述
状态

的模型状态,其指示该模型是否是由结构创建或通过估计获得摘要。

方法

使用估算命令。

初始条件

模型估计过程中初始条件的处理,作为以下值之一返回:

  • “零”-初始条件设置为0。

  • '估计'-初始条件作为独立的估计参数。

  • '倒投'- 初始条件使用最好的最小二乘拟合来估计。

此字段是特别有用的,以查看初始条件如何,当处理初始条件估计选项集中的选项为“汽车”

适合

定量评估的估计,作为结构返回。看到损失函数与模型质量度量有关这些质量指标的更多信息。结构具有以下字段:

描述
FitPercent

标准化均方根误差(NRMSE)衡量模型响应与估计数据的拟合程度,用百分比表示适合= 100(1-NRMSE)。

Losscn公司

估计完成时损失函数的值。

MSE

均方误差(MSE)衡量模型的响应与估计数据的吻合程度。

消防工程

模型的最终预测误差。

AIC公司

原赤池信息量准则(AIC)模型质量的措施。

AICC

小样本大小的修正AIC。

nAIC公司

标准化AIC。

BIC

贝叶斯信息准则(BIC)。

参数

模型参数估计值。

OptionsUsed

用于估计选项设置。如果尚未配置自定义选项,这是一组的默认选项。看到oeOptions公司了解更多信息。

RandState

随机数流在估计开始时的状态。空的,[],如果在评估期间未使用随机化。有关详细信息,请参见rng公司在MATLAB®文档。

DataUsed

用于估计的数据,返回为具有以下字段的结构的属性:

描述
名称

数据集的名称。

类型

数据类型。

长度

数据样本数。

TS

样品时间。

InterSample

输入样本间行为,作为下列值之一返回:

  • “zoh”-零阶保持器在样本之间维持一个分段常数输入信号。

  • “福”-一阶保持在样本之间保持分段线性输入信号。

  • “提单”- 带限行为指明所述连续时间输入信号具有零功率高于奈奎斯特频率。

输入偏移

偏移估计在从时域输入数据中去除。对于非线性模型,它是[]

OutputOffset

在估计期间从时域输出数据中移除的偏移量。对于非线性模型,它是[]

终止

终止条件为迭代搜索,用于预测误差最小化。具有以下字段的结构:

描述
WhyStop公司

终止数值搜索的原因。

迭代

估计算法执行的搜索迭代次数。

FirstOrderOptimality

-搜索算法终止时梯度搜索向量的范数。

FcnCount

调用目标函数的次数。

更新名

上一次迭代中梯度搜索向量的范数。当搜索方法为'lsqnonlin'“fmincon”

LastImprovement

最后一次迭代中的标准改进,用百分比表示。当搜索方法是'lsqnonlin'“fmincon”

算法

所使用的算法'lsqnonlin'“fmincon”搜索方法。当使用其他的搜索方法略。

对于估计方法不需要数值搜索优化,终止字段被省略。

以获取更多有关使用的信息报告,请参阅评估报告

更多关于

全部折叠

输出误差(OE)模型

一般输出误差模型结构为:

y ( t ) = B ( ) F ( ) u ( t n k ) + e ( t )

输出误差模型的顺序是:

n b : B ( ) = b 1 + b 2 1 + ... + b n b n b + 1 n f : F ( ) = 1 + f 1 - 1 + ... + f n f - n f

连续时间输出,误差模型

如果数据为连续时间频域数据,运行经验使用以下传递函数估计连续时间模型:

G ( 年代 ) = B ( 年代 ) F ( 年代 ) = b n b 年代 ( n b 1 ) + b n b 1 年代 ( n b 2 ) + ... + b 1 年代 n f + f n f 年代 ( n f 1 ) + ... + f 1

分子和分母的顺序是nb公司核因子,类似于离散时间的情况。但是,采样延迟nk公司在连续案例中不存在,并且不应指定nk公司当你命令的估计。取而代之的是,使用名称 - 值对的说法发表任何系统延迟'IODELAY'与系统延迟一起存储在属性中的时间单位时间单位。例如,假设您的连续系统的延迟iod的秒。使用模型=oe(数据,[nb-nf],'IODelay',iod)

扩展功能

在R2006a之前引入