主要内容

SSEST.

使用时域或频域数据估计状态空间模型

描述

估计状态空间模型

例子

sys= ss (数据NX.估计一个连续时间状态空间模型sys订单NX.使用数据数据可以在时域或频域中。sys是以下形式的型号:

X ˙ T. = 一种 X T. + B. T. + K. E. T. y T. = C X T. + D. T. + E. T.

一种B.CD., 和K.状态矩阵。T.)为输入,yT.)为输出,E.T.)是干扰,而且XT.)是矢量的矢量NX.状态。

所有条目的一种B.C, 和K.默认情况下是免费的估计参数。D.默认情况下固定为零,这意味着没有馈通,除了静态系统(nx = 0.).

例子

sys= ss (数据NX.名称,值合并由一个或多个名称-值对参数指定的附加选项。例如,通过指定样本时间来估计离散时间模型'ts'名称值对参数。使用“形式”“引线”, 和'diskancemodel'属性的名称-值对参数修改其默认行为一种B.CD., 和K.矩阵。

例子

sys= ss (___选择包含一个选项集选择这指定了诸如估计目标,处理初始条件,正则化和用于估计的数值搜索方法的选项。您可以指定选择在任何先前的输入参数组合之后。

配置初始参数

例子

sys= ss (数据init_sys使用状态空间模型init_sys配置初始参数化。

sys= ss (数据init_sys选择使用选项集估算模型选择

估计初始状态

例子

[sysX0.] = SSEST(___返回估算期间计算的初始状态值。您可以将此语法与前面的任何输入参数组合一起使用。

例子

全部折叠

估计状态空间模型,并将其与测量输出的响应进行比较。

加载存储在存储器中的输入输出数据iddata.目的。

负载iddata1z1

估计一个四阶状态空间模型。

nx = 4;sys = ss (z1, nx);

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

比较(z1, sys)

图中包含一个坐标轴。轴线包含2个线型对象。这些对象代表z1 (y1), sys: 70.78%。

图中显示,模拟模型与估计数据的拟合率大于70%。

您可以通过探索更多信息来查看有关估算的更多信息IDS.财产sys。报告

sys。报告
ANS =状态:'使用SSEST进行预测焦点'方法:'SSEST'InitialState:'ZVA'N4重量:'CVA'N4HORIZON:[6 10 10] FIT:[1x1结构]参数:[1x1 struct]选项已使用:[1x1IDOPTIONS.SSEST] RANDSTATE:[] DATAUSED:[1x1 struct]终止:[1x1 struct]

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

sys.Report.Termination
ans =结构体字段:Whewalstop:'没有沿着搜索方向的改进,线索搜索。迭代:7 FirstOrderOptimarity:85.9759 Fcncount:123 UpdateNorm:9.5270 Lastimprovent:0

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

加载输入-输出数据z1,存储在iddata.目的。这是用于估计第四阶模型的相同数据状态空间模型

负载iddata1z1

通过指定参数来确定最佳模型顺序NX.作为一个范围1:10

nx = 1:10;sys = ss (z1, nx);

自动生成的绘图显示由指定的订单的模型的Hankel奇异值NX.

可以安全地丢弃具有相对较小的Hankel奇异值的状态。建议的默认订单选择是2

选择模型顺序选择的顺序列表并点击申请

加载时域系统响应数据。

负载iddata7z7

确定数据的四阶状态空间模型。指定一个已知的延迟2第一次输入的秒数0.第二个输入的秒数。

nx = 4;SYS = SSEST(Z7(1:300),NX,'inputdelay', 2, 0);

修改A,B和C矩阵的规范形式,包括D矩阵中的馈通术语,并消除K矩阵中的干扰模型估计。

负载输入输出数据并估计一个四阶系统使用SSEST.默认选项。

负载iddata1z1sys1 = ssest(z1,4);

指定配套表格并比较一种矩阵带有默认值一种矩阵。

sys2 = ss (z1 4“形式”'伴侣');A1 = sys1。一种
A1 =4×4-0.5155 -3.8483 0.6657 -0.2666 5.8665 -2.7285 1.0649 -1.4694 -0.4487 0.9308 -0.6235 18.8148 -0.4192 0.5595 -16.0688 0.5399
A2 = sys2。一种
A2 =4×410.3.×0 0 0 -7.1122 0.0010 0 0 -0.9547 0 0.0010 0 -0.3263 0 0 0.0010 -0.0033

包括一个馈通项和比较D.矩阵。

sys3 = ssest(z1,4,“引线”,1);d1 = sys1.d.
d1 = 0.
D3 = sys3。D.
D3 = 0.0339.

消除干扰建模和比较K.矩阵。

sys4 = ssest(z1,4,'diskancemodel'“没有”);k1 = sys1.k.
K1 =4×10.0520 0.0973 0.0151 0.0270
k4 = sys4.k.
K4 =4×10 0 0 0

指定SSEST.估算初始状态作为独立估计参数。

SSEST.可以使用几种方法之一来处理初始状态。默认情况下,SSEST.根据估计数据自动选择方法。您可以通过使用修改选项集来自己选择方法ssestOptions

加载输入-输出数据z1并估计二阶状态空间模型sys使用默认选项。使用返回初始状态的语法X0.

负载iddata1z1[sys,x0] = ssest(z1,2);X0.
x0 =2×10 0.

缺省情况下,使用'汽车'设置Initimstate..找出哪种方法SSEST.的价值Initimstate.sys。ReporT。

sys.report.initialstate.
ans ='zero'

该软件应用了“零'方法,意味着软件将初始状态设置为零而不是估计它们。这个选择与0.返回值为X0.

指定SSEST.估计初始状态代替作为独立的参数使用'估计'环境。采用ssestOptions要创建修改后的选项集并指定该选项设置以估计新模型。

opt = ssestoptions(“InitialState”'估计');[SYS1,X0] = SSEST(Z1,2,OPT);X0.
x0 =2×10.0068 0.0052.

X0.现在有非零值的估计参数。

从窄带宽信号获得二阶系统的正则化的第五阶状态空间模型。

负载估计数据。

负载regularizationExampleData埃迪塔

创建用于生成估计数据的传递函数模型(真系统)。

trueSys = idtf([0.02008 0.04017 0.02008],[1 -1.561 0.6414],1);

估计一个缺陷的状态空间模型。

opt = ssestoptions('SearchMethod'“lm”);m = ssest(edata,5,'形式'“模态”'diskancemodel'“没有”'ts',eData.ts,OPT);

估计正则状态空间模型。

opt.regularization.lambda = 10;MR = SSEST(埃迪塔,5,'形式'“模态”'diskancemodel'“没有”'ts',eData.ts,OPT);

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

比较(eData, m先生);

图中包含一个坐标轴。轴包含3个类型的线。这些对象代表伊马达特(Y1),M:83.85%:83.68%。

比较模型的脉冲响应。

冲动(trueSys, m先生,50);传奇(“trueSys”'M'“先生”);

图中包含一个坐标轴。标题为From: u1 To: y1的轴包含6个line类型的对象。这些物体代表真实的。

估计测量输入输出数据的状态空间模型。使用状态空间模型配置参数约束和初始值以进行估计。

创建一个IDS.模型指定估计初始参数化。

a = blkdiag([ -  0.1 0.4; -0.4 -0.1],[ -  1 5; -5 -1]);b = [1;零(3,1)];C = [1 1 1 1];d = 0;k =零(4,1);x0 = [0.1 0.1 0.1 0.1];ts = 0;init_sys = IDS(a,b,c,d,k,x0,ts);

设置的所有条目K.0.创造一个IDS.没有状态干扰元件的模型。

使用结构属性来修复某些模型参数的值。配置模型使其B.K.是固定的,只有非零条目一种是可评估的。

init_sys.structure.a.free.=(一种~=0); init_sys.Structure.B.Free = false; init_sys.Structure.K.Free = false;

参赛作品init_sys.structure.a.free.确定是否有相应的条目init_sys。一种免费的 (真的)或固定().

加载测量数据,并使用指定的参数约束和初始值估计状态空间模型init_sys

负载iddata2z2;sys = ss (z2, init_sys);

估计参数sys满足指定的约束init_sys

输入参数

全部折叠

估算数据,指定为iddata.对象,A.的朋友对象,或一个IDFRD.目的。

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

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

  • 录制的频率响应数据(的朋友(控制系统工具箱)要么IDFRD.

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

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

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

    • -'频率'

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

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

数据域确定您可以估计的模型类型。

  • 时域或离散时间频域数据-连续时间和离散时间模型

  • 连续时间频域数据-仅连续时间模型

估计模型的顺序,指定为非负整数或作为包含一系列正整数的向量。

  • 如果您已经知道您希望估计模型有哪些顺序,请指定NX.作为标量。

  • 如果您想比较一系列潜在订单以选择最有效的订单,请在NX.SSEST.创建汉克尔奇值图,显示系统中每个状态的相对能量贡献。Hankel奇异值较小的状态对模型精度的贡献较小,可以丢弃,影响较小。您保留的最高状态的索引是模型顺序。绘图窗口包含使用顺序的建议。您可以接受这个建议,也可以输入不同的订单。例如,请参见确定最佳估计模型顺序

    如果您未指定NX.,或者如果您指定NX.作为最好,软件自动选择NX.从范围内1:10

  • 如果您正在标识一个静态系统,请设置NX.0.

评估选项,指定为ssestOptions选项设置。指定的选项选择包括:

  • 估计目标

  • 处理初始条件

  • 正则化

  • 用于估计的数值搜索方法

举例说明如何使用选择, 看估计初始状态为独立参数利用正则化估计状态空间模型

的初始参数化的线性系统sys,指定为一个IDS.模型或结构。你得到了init_sys通过使用测量数据或通过直接构建执行估计。

如果init_sys是一个IDS.模型,SSEST.使用的参数值init_sys作为估计的初步猜测sys.有关如何指定的信息IDS., 看用结构化参数化估计状态空间模型SSEST.荣誉对参数的限制init_sys,例如固定系数和最小/最大界限。

使用结构的属性init_sys为。配置初始参数值和约束一种B.CD., 和K.矩阵。例如:

  • 指定初始猜测一种矩阵的init_sys, 放init_sys.structure.a.value.作为初步猜测。

  • 为。指定约束B.矩阵的init_sys

    • init_sys.Structure.B.Minimum到最小B.矩阵值

    • init_sys.structure.b.maximum.最大B.矩阵值

    • init_sys.Structure.B.Free来指示是否B.矩阵是估计的空闲参数

    要设置更多复杂的约束,例如系数的相互依赖性,请使用灰度框估计感动的idgrey

你必须为所有矩阵参数指定有限的初始值。

如果init_sys不是国家空间(IDS.)模型,软件首先转换init_sys到一个IDS.模型。SSEST.使用所得模型的参数作为估计的初始猜测。

如果您未指定选择init_sys通过估计获得,软件使用估计选项init_sys.Report.OptionsUsed

例如,请参见使用结构化估计估计部分已知的状态空间模型

名称-值对的观点

指定可选的逗号分隔的对名称,值论点。的名字是参数名称和价值是相应的价值。的名字必须出现在引号内。可以以任意顺序指定多个名称和值对参数name1,value1,...,namen,valuen

例子:sys = ssest(数据,nx,'ts',0.1)

估计模型的采样时间,指定为逗号分隔对'ts',要么0.或正标量。

  • 对于连续时间模型,请指定'ts'作为0.

  • 对于离散时间模型,请指定'ts'作为存储在单位中的数据采样时间时髦财产。

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

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

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

适用于系统N输入,集合inputdelay.到一个N-by-1矢量。此向量的每个条目是表示相应输入通道的输入延迟的数值。例如,请参见识别具有输入延迟的状态空间模型

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

规范形式的类型sys,指定为逗号分隔的对,由“形式”以及以下值之一:

  • “免费”- 矩阵的所有条目一种B.CD., 和K.都是免费的。

  • “模态”- 获得sys在模态形式。

  • '伴侣'- 获得sys在同伴的形式。

  • '典范'- 获得sys在可观察性规范形式中。

有关规范形式的定义,请参阅规范状态空间实现

有关更多信息,请参见估计具有规范参数化的状态空间模型.例如,请参见修改形式,馈通和干扰模型矩阵

从输入到输出的直接馈通,指定为逗号分隔对“引线”和长度的逻辑矢量N,在那里N是输入的数量。如果您指定威胁作为逻辑标量,该值应用于所有输入。对于静态系统,软件总是假设“引线”1

例如,请参见修改形式,馈通和干扰模型矩阵

选项以估计K矩阵中的时域噪声分量参数,指定为包括的逗号分隔对'diskancemodel'以及以下值之一:

  • '估计'-估计噪声分量。的K.矩阵被视为一个自由参数。

  • “没有”- 不要估计噪声分量。的元素K.矩阵固定为零。

对于频域数据,软件假定'diskancemodel'“没有”

例如,请参见修改形式,馈通和干扰模型矩阵

输出参数

全部折叠

确定的状态空间模型,作为一个返回IDS.模型。这个模型是使用指定的模型顺序、延迟和估计选项创建的。

中存储了有关评估结果和所使用选项的信息报告模型的财产。报告有以下字段。

报告字段 描述
地位

模型状态的总结,表明模型是通过构造创建的还是通过估计获得的。

方法

评估使用的命令。

Initimstate.

如何在估计期间处理初始状态,作为以下值之一返回:

  • '零'- 初始状态设置为零。

  • '估计'- 初始状态被视为独立估计参数。

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

  • 柱矢量长度NX.,在那里NX.是州的数量。对于多实验数据,具有矩阵NE.列,其中NE.为实验的次数。

  • 参数初始条件对象(x0obj)创建使用idpar..仅针对离散时间的状态空间模型。

该领域特别有用Initimstate.估计选项集中的选项是'汽车'

n4重量

通过N4SID算法用于奇异值分解的加权方案,作为以下值之一返回:

  • 'moesp'- 使用Moesp算法。

  • 'cva'-使用规范变量算法。

  • “SSARX”-子空间识别方法,使用基于ARX估计的算法来计算权重。

这个选项特别有用,当n4重量估计选项集中的选项是'汽车'

n4horizo​​n.

N4SID算法使用的前向和后向预测视野,作为具有三个元素的行向量返回 -[r sy su],在那里R.为最大前向预测层。SY.是过去产出的数量,和是用于预测的过去输入的数量。

合身

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

场地 描述
fitpercent.

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

LossFcn

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

均方误差

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

FPE.

模型的最终预测误差。

另类投资会议

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

AICc

小样本量修正AIC。

奈西

标准化的另类投资会议。

BIC

贝叶斯信息标准(BIC)。

参数

模型参数的估计值。

选择

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

兰特泰特

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

DataUsed

用于估计的数据的属性。结构中包含以下字段:

场地 描述
的名字

数据集的名称。

类型

数据类型。

长度

数据样本数量。

Ts

采样时间。这相当于数据。Ts

InterSample

输入intersample行为。下列值之一:

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

  • 'foh'-一阶保持保持样本间的分段线性输入信号。

  • 'BL'—限带行为是指连续时间输入信号在奈奎斯特频率以上的功率为零。

的价值Intersample对离散时间模型的估计结果没有影响。

InputOffset

在估计期间从时域输入数据中删除偏移量。

outputOffset.

偏移在估计期间从时域输出数据中删除。

终止

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

场地 描述
WhyStop

终止数值搜索的原因。

迭代

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

FirstOrderOptimality.

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

fcncount.

调用目标函数的次数。

UpdateNorm

最后迭代中梯度搜索矢量的常态。搜索方法是时省略'lsqnonlin'要么'粉丝'

最后的服务

最后一次迭代中的标准改进,以百分比表示。搜索方法是时省略'lsqnonlin'要么'粉丝'

算法

使用算法'lsqnonlin'要么'粉丝'搜索方法。使用其他搜索方法时省略。

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

有关使用的更多信息报告, 看估计报告

在估计期间计算的初始状态,作为包含与每个实验相对应的列向量的数组返回。

该数组也存储在参数模型的领域报告财产。

例如,请参见估计初始状态为独立参数

算法

SSEST.使用非迭代子空间方法或迭代有理函数估计方法初始化参数估计。然后利用预测误差最小化方法对参数值进行优化。有关更多信息,请参见pemssestOptions

参考

[1] Ljung,L.系统识别:用户理论, 第二版。上部马鞍河,NJ:Prentice Hall Ptr,1999。

扩展功能

介绍了R2012a