主要内容

OE.

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

描述

输出错误(OE)模型是多项式模型的特殊配置,只有两个有源多项式 -BF.OE模型代表了将测量的输入与输出关联起来的传统传递函数,同时也包括了作为附加输出扰动的白噪声。您可以使用时域和频域数据来估计OE模型。的t命令提供与OE..为了t,使用极点数和0而不是多项式次数指定模型阶数。对于连续时间的估计,t提供更快更准确的结果,推荐使用。

例子

SYS.= oe (数据(nb nf nk)估计一个OE模型SYS.,代表

y t B F u t - n k + e t

yt)为输出,ut)是输入,和et)是错误。

OE.估计SYS.使用测量的输入输出数据数据,它可以在时域或频域。的订单(nb nf nk)定义估计多项式的每个分量的参数数。

例子

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

SYS.= oe (数据init_sys.使用线性系统init_sys.配置的初始参数SYS.

例子

SYS.= oe (数据___选择使用选项集估计多项式模型选择指定估计行为。您可以使用此语法与以前的任何一个输入参数组合使用。

例子

SYS.集成电路) = oe (___将估计的初始条件作为initialCondition对象。如果您计划使用相同的估计输入数据模拟或预测模型响应,然后将响应与相同的估计输出数据进行比较,请使用此语法。在模拟的第一部分中,结合初始条件可以获得更好的匹配。

例子

全部折叠

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

加载估计数据。

负载iddata1.Z1

设置命令BF多项式nf.设置输入延迟nk一个样本。计算模型SYS.

nb = 2;nf = 2;nk = 1;Sys = oe(z1,[nb nf nk]);

将模拟模型的响应与测量输出进行比较。

比较(z1,sys)

图中包含一个轴对象。轴对象包含两个类型为line的对象。这些物体代表Z1(Y1),SYS:70.77%。

该图表明模拟模型与估计数据之间的拟合百分比大于70%。

而不是使用nk,您还可以使用名称值对参数'inputdelay'指定一个样本延迟。

nk = 0;sys1 = Oe(z1,[nb nf nk],'inputdelay',1);数字比较(Z1,SYS1)

图中包含一个轴对象。轴对象包含两个类型为line的对象。这些对象表示z1 (y1), sys1: 70.77%。

结果是相同的。

的方法可以查看关于估计的更多信息崇拜者财产sys。报告

sys。报告
初始条件:'zero' Fit: [1x1 struct] Parameters: [1x1 struct] OptionsUsed: [1x1 idoptions. options: [1x1 idoptions. options]polyest] RandState: [1x1 struct] DataUsed: [1x1 struct] terminate: [1x1 struct]

例如,找出有关终止条件的更多信息。

sys.Report.Termination
ans =结构体字段:为什么:'近(本地)最小值,(常态(g)
                   

该报告包括关于迭代次数和估计停止迭代的原因的信息。

加载估计数据。

负载oe_data1.数据

的idfrd对象数据包含以下模型的连续时间频率响应:

G 年代 年代 + 3. 年代 3. + 2 年代 2 + 年代 + 1

估计模型。

nb = 2;nf = 3;Sys = oe(data,[nb nf]);

评估适合度。

比较(数据,sys);

图中包含2个轴对象。带有标题的轴对象1来自以下标题:U1包含2个类型的2个对象。这些对象代表数据,SYS:100%。axis对象2包含2个类型为line的对象。这些对象代表数据,SYS:100%。

通过通过模拟高阶系统收集的数据估计高阶OE模型。通过试验和错误确定正则化常量,并使用模型估计值。

加载数据。

负载regularizationExampleData.matm0simdata.

估计一个订单为30的非正则OE模型。

m1 = oe(m0simdata,[30 30 1]);

通过使用试错法确定Lambda值,获得正则化的OE模型。

选择= oeOptions;opt.Regularization.Lambda = 1;M2 = oe(m0simdata,[30 30 1],opt);

将模型输出与估计数据进行比较。

选择= compareOptions (“InitialCondition”“z”);比较(m0simdata, m1, m2,选择);

图中包含一个轴对象。轴对象包含3个类型为line的对象。这些对象表示m0simdata (y1), m1: 62.27%, m2: 65.74%。

正则化模型平方米产生比未经相反的模型更好m1

比较模型响应中的方差。

h =围裙(M1,M2);选择= getOptions(h);opt.PhaseMatching =“上”;opt.ConfidenceRegionNumberSD = 3;opt.PhaseMatching =“上”;SetOptions(H,OPT);展示(h);

图中包含2个轴对象。标题为From: u1 To: y1的坐标轴对象1包含两个line类型的对象。这些物体代表m1, m2。axis对象2包含2个类型为line的对象。这些物体代表m1, m2。

正则化模型平方米与未反相式模型相比,具有降低的方差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

您可以估计连续模型数据通过将输入和输出频段限制为奈奎斯特频率。为此,请指定估计预滤波器选项“WeightingFilter'要定义一条通带00.5 *π/ Tsrad / s。该软件忽略了该通带外部的频率的任何响应值。

选择= OEOPTIONS(“WeightingFilter”,[0 0.5 * pi / 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 =具有属性的初始条件:A:[2x2 double] x0:[2x1 double] c:[0.9428 0.4824] TS:0.1000

集成电路是一个initialCondition封装自由响应的对象SYS.,在状态空间形式到初始状态向量X0..你可以合并集成电路当你模拟SYS.z1i输入信号并将响应与响应进行比较z1i输出信号。

输入参数

全部折叠

估算数据,指定为iddata.对象,一个的朋友对象,或者idfrd对象。

对时域估计,数据必须是一个iddata.包含输入和输出信号值的对象。

对于频域估计,数据可以是以下情况之一:

  • 录制的频率响应数据(的朋友(控制系统工具箱)或者idfrd

  • iddata.对象,其属性如下所示:

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

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

    • 领域- - - - - -“频率”

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

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

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

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

对于由此表示的系统

y t B F u t - n k + e t

在哪里yt)为输出,ut)是输入,和et)是错误,元素(nb nf nk)如下面所述:

  • - 秩序B)多项式+ 1,它等价于B)多项式。是一个Ny-经过-Nu矩阵。Ny输出的数量是和吗Nu是输入的数量。

  • nf- 秩序F多项式。nf是一个Ny-经过-Nu矩阵。

  • nk- 输入延迟,表示为样本数量。nk是一个Ny-经过-Nu矩阵。的前导零显示延迟B多项式。

使用连续时间频率域数据进行估计,仅指定[nb nf]和省略nk.例如,请参见使用频率响应估计连续时间OE模型

的初始参数化的线性系统SYS.,指定为一个崇拜者模型,另一个线性模型,或结构。你获得init_sys.要么通过使用测量数据进行估算,要么通过直接构建。

如果init_sys.是一个崇拜者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.optionsed.

估算选项,指定为一个oeOptions选项集。由此指定的选项选择包括:

  • 估计目标

  • 初始条件的处理

  • 数值搜索方法及相关选项

有关指定估计选项的示例,请参见使用带限量离散时间频率域数据估计连续模型

名称-值参数

指定可选的逗号分隔的对名称,值论点。姓名参数名和价值为对应值。姓名必须出现在引号内。可以以任意顺序指定多个名称和值对参数Name1, Value1,…,的家

例子:'inputdelay',1

每个输入通道的输入延迟,指定为逗号分隔对,由'inputdelay'和一个数字向量。

  • 对于连续时间模型,请指定'inputdelay'在时间单位中存储时尚财产。

  • 对于离散时间模型,指定'inputdelay'在样本时间的整数倍数中Ts.例如,设置'inputdelay'3.指定三个采样周期的延迟。

对于一个系统Nu输入,集合InputDelay到一个Nu1的向量。这个向量的每一项都是一个数值,表示对应输入通道的输入延迟。

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

例如,请参见估计OE多项式模型

每个输入输出对的传输延迟,指定为逗号分隔对'iodelay'和一个数字数组。

  • 对于连续时间模型,请指定'iodelay'在时间单位中存储时尚财产。

  • 对于离散时间模型,指定'iodelay'在样本时间的整数倍数中Ts.例如,设置'iodelay'4指定四个采样周期的传输延迟。

对于一个系统Nu输入和Ny输出,'iodelay'到一个Ny-经过-Nu矩阵。每个条目都是一个整数值,表示对应输入-输出对的传输延迟。

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

您可以指定'iodelay'作为替代nk价值。这样做通过减少领先的零的数量来简化模型结构B多项式。特别是,你可以表示最大(NK-1,0)前导零作为输入输出延迟使用'iodelay'代替。

输出参数

全部折叠

适合估计数据的OE多项式模型,作为一个返回崇拜者模型对象。此模型是使用指定的模型订单,延迟和估计选项创建的。的采样时间SYS.匹配估计数据的样本时间。因此,SYS.在从时域数据估计时,始终是离散时间模型。用于使用时域数据的连续时间模型识别,使用t

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

报告领域 描述
状态

模型状态摘要,指示模型是由施工创建的还是通过估计获得。

方法

评估使用的命令。

InitialCondition

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

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

  • “估计”-初始条件作为独立的估计参数处理。

  • “展望”- 使用最佳的最小二乘拟合估计初始条件。

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

适合

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

描述
FitPercent

归一化的根均匀误差(NRMSE)测量模型的响应如何适合估计数据,表示为百分比fitpercent= 100(1-Nrmse)。

LossFcn

估计完成时损失功能的值。

MSE

均方误差(MSE)测量模型的响应如何适合估计数据。

消防工程

模型的最终预测误差。

另类投资会议

原始的模型质量的原始Akaike信息标准(AIC)测量。

AICC.

样本规模小的AIC纠正。

尼亚

归一化的AIC。

BIC

贝叶斯信息准则(BIC)。

参数

模型参数的估计值。

OptionsUsed

选项集用于估计。如果未配置自定义选项,则这是一组默认选项。看到oeOptions想要查询更多的信息。

RandState

估计开始时随机数流的状态。空的,[],如果在估计过程中没有使用随机化。有关更多信息,请参见rng

DataUsed

用于估计的数据的属性作为具有以下字段的结构。

描述
姓名

数据集的名称。

类型

数据类型。

长度

数据样本数量。

Ts

样品时间。

InterSample

输入InterSample行为,作为以下值之一返回:

  • “zoh”零阶保持保持采样之间的输入信号分段常数。

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

  • 'BL'带限量的行为指定连续时间输入信号高于奈奎斯特频率的功率。

InputOffset

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

outputOffset.

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

终止

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

描述
WhyStop

终止数值搜索的原因。

迭代

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

FirstOrderOptimality.

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

FcnCount

调用目标函数的次数。

UpdateNorm

梯度搜索向量的范数。当搜索方法为时省略'lsqnonlin'或者'fmincon'

最后的服务

最后一次迭代的标准改进,表示为百分比。当搜索方法为时省略'lsqnonlin'或者'fmincon'

算法

使用算法'lsqnonlin'或者'fmincon'搜索方法。使用其他搜索方法时省略。

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

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

估计的初始条件,返回为initialCondition对象或对象数组initialCondition价值观。

  • 对于单实验数据集,集成电路以状态空间形式表示传递函数模型的自由响应(一个C矩阵)到估计的初始状态(x0).

  • 用于多实验数据集Ne实验中,集成电路对象数组的长度是多少Ne包含一组initialCondition每个实验的值。

如果OE.返回集成电路的值0你知道初始条件是非零的,设“InitialCondition”选项oeOptions“估计”并将更新后的选项集传递给OE..例如:

选择= OEOPTIONS(“InitialCondition”“估计”)[SYS,IC] = OE(数据,NP,NZ,OPT)
默认的“汽车”设置“InitialCondition”用来“零”方法当初始条件对整体估计误差最小化过程具有可忽略不计的影响时。指定“估计”确保软件的估算值集成电路

有关更多信息,请参见initialCondition.有关使用此参数的示例,请参阅获得初始条件

更多关于

全部折叠

输出错误(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

连续输出误差模型

如果数据为连续时间频域数据,OE.用以下传递函数估计一个连续时间模型:

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

分子和分母的订单是nf,类似于离散时间的情况。然而,样本延迟nk在连续的情况下不存在,你不应该指定nk当您命令估计时。相反,使用名称值对参数表达任何系统延迟'iodelay'连同系统延迟的时间单位,存储在属性中时尚.例如,假设您的连续系统具有延迟iod的秒。使用model = oe(data,[nb nf],'IODelay',iod)

扩展能力

之前介绍过的R2006a