主要内容

oe

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

描述

输出误差(OE)模型是多项式模型的一种特殊配置,只有两个活动多项式-B而且F.OE模型代表了传统的传递函数,它将测量的输入与输出联系起来,同时还包括白噪声作为附加输出扰动。您可以使用时间和频域数据估计OE模型。的特遣部队提供与。相同的功能oe.为特遣部队,您可以使用极点和零的数量来指定模型的顺序,而不是使用多项式的度数。对于连续时间估计,特遣部队提供更快更准确的结果,推荐使用。

例子

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多项式来指定输入时延。

加载估计数据。

负载iddata1z1

的顺序B而且F多项式而且nf.设置输入延迟nk对一个样本。计算模型sys

Nb = 2;Nf = 2;Nk = 1;系统= 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%。

结果是一样的。

可以查看有关评估的更多信息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对象数据包含以下模型的连续时间频率响应:

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

估计模型。

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

评估拟合优度。

比较(数据、系统);

图中包含两个轴。带有标题From的坐标轴1:u1包含两个类型为line的对象。这些对象表示Data, sys: 100%。坐标轴2包含两个line类型的对象。这些对象表示Data, sys: 100%。

从模拟高阶系统收集的数据中估计一个高阶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,选择);

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

正则化模型平方米产生比非正则化模型更好的拟合m1

比较模型响应的方差。

H = bodeploy (m1,m2);Opt = getoptions(h);opt.PhaseMatching =“上”;opt.ConfidenceRegionNumberSD = 3;opt.PhaseMatching =“上”;setoption (h,选择);showConfidence (h);

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

正则化模型平方米与非正则化模型相比,方差减小了吗m1

加载估计数据数据采样时间Ts

负载oe_data2.mat数据Ts

一个iddata对象数据包含以下模型的离散时间频率响应:

G 年代 1 0 0 0 年代 + 5 0 0

查看估计样本时间Ts那是你装的。

Ts
Ts = 1.0000e-03

此值与属性匹配数据。Ts

数据。Ts
Ans = 1.0000e-03

你可以估计一个连续的模型数据通过限制输入和输出频带到奈奎斯特频率。为此,指定估计预过滤器选项“WeightingFilter来定义通带00.5 *π/ Tsrad / 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.你可以合并集成电路当你模拟sysz1i输入信号,并与响应进行比较z1i输出信号。

输入参数

全部折叠

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

对于时域估计,数据必须是iddata对象,该对象包含输入和输出信号值。

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

  • 记录的频响数据(的朋友(控制系统工具箱)idfrd

  • iddata对象,其属性指定如下:

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

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

    • - - - - - -“频率”

时域估计数据必须统一采样。软件默认将模型的采样时间设置为估计数据的采样时间。

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

可以从时域数据或离散频域数据计算离散时间模型。使用特遣部队计算连续时间模型。

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,指定为idpoly模型,另一个线性模型,或者一个结构。你获得init_sys要么通过使用测量数据进行估计,要么通过直接构造。

如果init_sys是一个idpolyOE结构模型,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”存储在TimeUnit财产。

  • 对于离散时间模型,指定“InputDelay”是采样时间的整数倍Ts.例如,设置“InputDelay”3.指定三个采样周期的延迟。

对于一个Nu输入,设置InputDelay到一个Nu1的向量。该向量的每一项都是一个数值,表示对应输入通道的输入延迟。

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

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

每个输入输出对的传输延迟,指定为逗号分隔的对,由“IODelay”还有一个数字数组。

  • 对于连续时间模型,指定“IODelay”存储在TimeUnit财产。

  • 对于离散时间模型,指定“IODelay”是采样时间的整数倍Ts.例如,设置“IODelay”4指定四个采样周期的传输延迟。

对于一个Nu输入和Ny输出,“IODelay”到一个Ny——- - - - - -Nu矩阵。每个条目都是一个整数值,表示对应输入输出对的传输延迟。

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

你可以指定“IODelay”作为一种替代nk价值。中前导零的数量减少,从而简化了模型结构B多项式。特别是,你可以表示max (nk-1, 0)前导零作为输入输出延迟使用“IODelay”代替。

输出参数

全部折叠

拟合估计数据的OE多项式模型,返回为idpoly模型对象。该模型是使用指定的模型顺序、延迟和估计选项创建的。的采样时间sys匹配估计数据的采样时间。因此,sys当从时域数据估计时,总是一个离散时间模型。对于使用时域数据的连续时间模型识别,请使用特遣部队

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

报告字段 描述
状态

模型状态的摘要,它表明模型是通过构建创建的还是通过估计获得的。

方法

使用的估计命令。

InitialCondition

在模型估计期间处理初始条件,作为以下值之一返回:

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

  • “估计”-初始条件被视为独立的估计参数。

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

该字段对于查看初始条件是如何处理的特别有用InitialCondition选项中的值为“汽车”

适合

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

描述
FitPercent

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

LossFcn

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

均方误差

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

消防工程

模型的最终预测误差。

另类投资会议

原始赤池信息准则(AIC)是衡量模型质量的标准。

AICc

小样本量校正AIC。

保险代理人

标准化的另类投资会议。

BIC

贝叶斯信息准则。

参数

模型参数估计值。

OptionsUsed

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

RandState

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

DataUsed

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

描述
的名字

数据集的名称。

类型

数据类型。

长度

数据样本的数量。

Ts

样品时间。

InterSample

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

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

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

  • “提单”—带宽限制行为指连续时间输入信号在奈奎斯特频率以上的功率为零。

InputOffset

在估计过程中从时域输入数据中删除的偏移量。对于非线性模型,是这样的[]

OutputOffset

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

终止

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

描述
WhyStop

终止数值搜索的原因。

迭代

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

FirstOrderOptimality

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

FcnCount

目标函数被调用的次数。

UpdateNorm

最后一次迭代中梯度搜索向量的范数。当搜索方法为时省略“lsqnonlin”“fmincon”

LastImprovement

上次迭代中的标准改进,用百分比表示。当搜索方法为时省略“lsqnonlin”“fmincon”

算法

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

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

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

估计的初始条件,返回为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)模型

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

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”与存储在属性中的时间单位中的系统延迟一起TimeUnit.例如,假设连续系统的延迟为iod的秒。使用model = oe(data,[nb - nf],'IODelay',iod)

扩展功能

R2006a之前介绍过