估计多项式模型使用时间或频域数据

句法

SYS = polyest(数据,[NA NB NC ND NF NK])
SYS = polyest(数据,[NA NB NC ND NF NK],名称,值)
SYS = polyest(数据,init_sys)
SYS = polyest(___选择)

描述

SYS=保利(数据, (na数控ndnfnk])估计多项式模型,SYS,利用时域或频域数据,数据

SYS是形式

一个 q ÿ Ť = q F q ü Ť ñ ķ + C q d q Ë Ť

一个qqFqCq)和dq)是多项式矩阵。üŤ)为输入,和nk是输入延迟。ÿŤ)为输出和ËŤ)为干扰信号。na数控ndnf是的订单一个qqCqdq)和Fq分别)多项式。

SYS=保利(数据, (na数控ndnfnk]名称,值估计与由一个或多个指定的所估计的模型结构的附加属性的多项式模型名称,值对参数。

SYS=保利(数据init_sys估计使用线性系统多项式模型init_sys要配置初始参数化。

SYS=保利(___选择使用选项集估计一个多项式模型,选择,指定估计的行为。

输入参数

数据

估计数据。

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

您可以利用时域数据只能估计离散时间模型。对于使用时域数据估计的连续时间模型,见tfest

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

  • 记录的频响数据(FRDidfrd

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

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

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

    • - '频率'

    这可能是使用更方便oetfest来估计模型的频域数据。

na

多项式的阶一个q)。

na是一个纽约-通过-纽约矩阵非负整数。纽约是输出的数量,和ν是输入的数量。

na必须是零,如果您使用的频域数据来估计的模型。

多项式的阶q)+ 1。

是一个纽约-通过-ν矩阵非负整数。纽约是输出的数量,和ν是输入的数量。

数控

多项式的阶Cq)。

数控是长度的非负整数的列向量纽约纽约是输出的数量。

数控必须是零,如果您使用的频域数据来估计的模型。

nd

多项式的阶dq)。

nd是长度的非负整数的列向量纽约纽约是输出的数量。

nd必须是零,如果您使用的频域数据来估计的模型。

nf

多项式的阶Fq)。

nf是一个纽约-通过-ν矩阵非负整数。纽约是输出的数量,和ν是输入的数量。

nk

输入延迟样本的数目,表示为的固定前导零多项式。

nk是一个纽约-通过-ν矩阵非负整数。

nk估计连续时间模型时必须为零。

选择

估计选项。

选择是一个选项设置,使用创建的polyestOptions,它指定了评估选项,包括:

  • 估计目标

  • 初始条件的处理

  • 在估计中使用数值搜索方法

init_sys

的初始参数配置的线性系统SYS

你获得init_sys通过执行任一测得的使用数据的估计或通过直接构造。

如果init_sys是一个idpoly模型中,中定义的参数和约束init_sys作为用于估计初始猜测SYS

使用结构财产init_sys配置初始猜测和约束一个qqFqCq),和dq)。例如:

  • 要指定的初始猜测一个q的)项init_sys,组init_sys.Structure.A.Value作为最初的猜测。

  • 属性指定约束条件q的)项init_sys

    • init_sys.Structure.B.Minimum到最小q)系数值。

    • init_sys.Structure.B.Maximum最大q)系数值。

    • init_sys.Structure.B.Free以指示q)的系数都是免费的估计。

如果init_sys不是一个idpoly模式,软件先转换init_sys以多项式模型。使用所得的模型作为估计初始猜测的参数。

如果选择没有指定,并且init_sys通过估算,然后从估计选项创建的init_sys.Report.OptionsUsed被使用。

名称 - 值对参数

指定可选的用逗号分隔的对名称,值参数。的名字是参数的名称和价值为对应值。的名字必须出现引号内。您可以按照任何顺序指定多个名称和值对参数Name1, Value1,…,的家

“IODelay”

运输延误。IODELAY是一个数值数组,指定为每个输入/输出对一个单独的传输延迟。

对于连续时间系统中,存储在所述的时间单位指定传输延迟TimeUnit财产。对于离散时间系统,以样本时间的整数倍指定运输延迟,TS

用于MIMO系统纽约输出和ν输入,设置IODELAY到一个纽约-通过-ν阵列。这个阵列的每个条目是表示用于相应的输入/输出一对传送延迟的数值。您还可以设置IODELAY将相同的延迟应用于所有输入/输出对。

默认:0用于所有输入/输出对

“InputDelay”

输入延迟对于每个输入通道,指定为标量值或数值向量。对于连续时间系统中,存储在所述的时间单位指定输入的延迟TimeUnit财产。对于离散时间系统中,指定的采样时间的整数倍的延迟输入TS。例如,InputDelay = 3装置的三个采样时间的延迟。

对于具有系统ν输入,设置InputDelay到一个ν×1向量。该向量中的每个条目是表示用于相应输入通道的输入延迟的数值。

您还可以设置InputDelay对标量值应用相同的延迟到所有通道。

默认:0

'IntegrateNoise'

逻辑向量在噪声信道指定积分器。

IntegrateNoise是长度的逻辑向量吗纽约,其中纽约是输出的数量。

设置IntegrateNoise真正的在模型中的特定的输出结果:

一个 q ÿ Ť = q F q ü Ť ñ ķ + C q d q Ë Ť 1 q 1

在那里, 1 1 q 1 在噪声信道的积分,ËŤ)。

IntegrateNoise创建ARIMAX模型。

例如,

加载iddata1Z1;z1 = iddata (cumsum (z1.y) cumsum (z1.u) z1.Ts,“InterSample”“呸”);SYS = polyest(Z1,[2 2 2 0 0 1],'IntegrateNoise',真正的);

输出参数

SYS

多项式模型,返回一个idpoly模型。使用指定型号的订单,延迟和估计选项创建这个模型。

如果data.Ts是零,SYS为连续时间模型,表示:

ÿ 小号 = 小号 F 小号 ü 小号 + Ë 小号

ÿ小号ü小号)和Ë小号)是时域信号的拉普拉斯变换ÿŤüŤ)和ËŤ), 分别。

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

报告字段 描述
状态

模型状态摘要,指示模型是通过构建创建的还是通过评估获得的。

方法

评估使用的命令。

InitialCondition

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

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

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

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

这个字段对于查看初始条件是如何处理的特别有用InitialCondition在估计选项设置选项'汽车'

适合

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

领域 描述
FitPercent

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

LossFcn

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

MSE

模型的响应如何适合评价数据均方误差(MSE)的措施。

FPE

模型的最终预测误差。

AIC

原始赤基信息标准(AIC)衡量模型质量。

AICC

小样本尺寸修正AIC。

保险代理人

标准化AIC。

BIC

贝叶斯信息标准(BIC)。

参数

模型参数估计值。

OptionsUsed

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

RandState

在估计的开始的随机数流的状态。空的,[]如果估计过程中不使用随机化。欲了解更多信息,请参阅rng在MATLAB®文档。

DataUsed

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

领域 描述
的名字

该数据集的名称。

类型

数据类型。

长度

数据样本数。

TS

采样时间。

采样间

输入采样间的行为,返回下列值之一:

  • 'ZOH'- 零阶保持保持样本之间的分段恒定输入信号。

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

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

InputOffset

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

OutputOffset

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

终止

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

领域 描述
WhyStop

原因终止数值搜索。

迭代

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

FirstOrderOptimality

范数时,搜索算法终止的梯度搜索载体。

FcnCount

次数的目标函数被调用。

UpdateNorm

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

LastImprovement

在最后一次迭代准则的改进,以百分比表示。当搜索方法为时省略“lsqnonlin”'fmincon'

算法

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

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

有关使用的详细信息报告评价报告

例子

全部收缩

估计与冗余参数模型。也就是说,所有多项式模型( 一个 C d , F )活性。

负荷预测数据。

加载iddata2Z2;

指定型号订单和延误。

na = 2;nb = 2;数控= 3;nd = 3;nf = 2;nk = 1;

估计模型。

sys = polyest(z2,[na nb nc nd nf nk]);

通过转换正则化ARX模型估计正则化多项式模型。

负荷预测数据。

加载regularizationExampleData.matm0simdata;

估计为了20的非正规多项式模型。

M1 = polyest(m0simdata(1:150),[0 20 20 20 20 1]);

估计一个正则化的同阶多项式模型。通过试错来确定Lambda值。

选择= polyestOptions;opt.Regularization.Lambda = 1;M2 = polyest(m0simdata(1:150),[0 20 20 20 20 1],优化);

通过转换规则化ARX模型和降低其为了获得一个低阶多项式模型。用arxregul来确定正则化参数。

[L,R] = arxRegul(m0simdata(1:150),[30 30 1]);OPT1 = arxOptions;opt1.Regularization.Lambda = L;opt1.Regularization.R = R;M0 = ARX(m0simdata(1:150),[30 30 1],OPT1);MR = idpoly(balred(IDSS(M0),7));

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

OPT2 = compareOptions(“InitialCondition”“z”);比较(m0simdata(150:结束),M1,M2,MR,OPT2);

负载输入/输出数据,并创建用于估计的累积和输入和输出信号。

加载iddata1Z1数据= IDDATA(cumsum(z1.y),cumsum(z1.u),z1.Ts,“InterSample”“呸”);

指定型号多项式订单。设置无效多项式的订单, d F , 至0

na = 2;nb = 2;数控= 2;nd = 0;nf = 0;nk = 1;

通过设置识别ARIMAX模型'IntegrateNoise'选项真正的

SYS = polyest(数据,[NA NB NC ND NF NK]'IntegrateNoise',真正的);

估计的多输入,多输出数据集的多输出ARMAX模型。

负荷预测数据。

加载iddata1Z1加载iddata2Z2数据= [z1 z2(1:30 00)];

数据是一个有两个输入和两个输出的数据集。第一个输入只影响第一个输出。同样,第二个输入只影响第二个输出。

指定型号订单和延误。该Fd多项式无效。

na = [2];2 2];nb = [2];3 4];nk = [11];0 0];数控= (2,2);nd = (0, 0);nf = [0 0;0 0];

估计模型。

sys = polyest(data,[na nb nc nd nf nk]);

在所估计的模型ARMAX,交叉项,其中,所述第一输入的所述第二输出,并且反之亦然的影响进行建模,可以忽略不计。如果您分配较高的订单,这些动态,他们估计会表现出不确定性的较高水平。

分析结果。

h = bodeplot(系统);showConfidence (h, 3)

交叉项的响应表现出较大的不确定性。

提示

  • 在大多数情况下,一个确定的多项式模型的所有多项式不同时活跃。设置一个或多个订单na数控ndnf为零以简化模型结构。

    通过指定例如,可以估算一个输出误差(OE)模型na数控nd为零。

    或者,也可以使用专用的估计功能对于简化的模型结构。线性多项式估计功能包括oeBJarxarmax

备择方案

  • 若要使用时间序列数据估计多项式模型,请使用AR

  • 来估计任意结构的多项式。如果估计的多项式模型的结构是已知的,也就是说,你知道哪些多项式将被激活,然后用适当的专用估计函数。对于例子,对于ARX模型,使用arx。其他多项式模型估计功能包括oearmax,BJ

  • 估计一个连续时间传递函数,使用tfest。您还可以使用oe,但只与连续时间的频域数据。

扩展功能

介绍了R2012a