主要内容

党卫军

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

描述

估计状态空间模型

例子

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名称,值的)合并由一个或多个名称-值对参数指定的附加选项。例如,通过指定样本时间来估计离散时间模型“t”名称-值对的论点。使用“形式”“引线”,'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'INITIONSTATE:'零'N4重量:'CVA'N4HORIZON:[6 10 10] FIT:[1x1 struct]参数:[1x1结构]选项已使用:[1x1IDOPTIONS.SSEST] RANDSTATE:[] DATAUSED:[1x1结构]终止:[1x1 struct]

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

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

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

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

负载iddata1z1

通过指定参数确定最优模型顺序nx作为一个范围1:10

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

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

汉克尔奇异值相对较小的状态可以安全地丢弃。建议的默认顺序选择是2

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

加载时域系统响应数据。

负载iddata7z7

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

nx = 4;sys = ss (nx z7(施用),“InputDelay”, 2, 0);

修正A、B、C矩阵的规范形式,在D矩阵中加入馈通项,在K矩阵中消除干扰模型估计。

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

负载iddata1z1sys1 = ss (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×4103.× 00 0 -7.1122 0.0010 00 -0.9547 0 0.0010 0 -0.3263 00 0.0010 -0.0033

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

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

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

sys4 = ss (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

指定党卫军估计初始状态作为独立估计参数。

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

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

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

缺省情况下,使用'汽车'设置InitialState.找出哪种方法党卫军的价值InitialStatesys。Report。

sys.Report.InitialState
ans = ' 0 '

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

指定党卫军估计初始状态代替作为独立的参数使用“估计”设置。使用ssestOptions创建修改的选项集,并指定该选项集来评估新模型。

选择= 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);

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

选择= ssestOptions ('SearchMethod'“lm”);m = ssest(edata,5,'形式'“模态”'diskancemodel'“没有”“t”、eData.Ts选择);

估计正则状态空间模型。

opt.regularization.lambda = 10;MR = SSEST(埃迪塔,5,'形式'“模态”'diskancemodel'“没有”“t”、eData.Ts选择);

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

比较(eData, m先生);

图中包含一个坐标轴。轴线包含3个线型对象。这些对象表示eData (y1), m: 83.85%, mr: 83.68%。

比较模型的脉冲响应。

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

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

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

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

A = blkdiag([-0.1 0.4;-0.4 - -0.1], [1 5;5 1]);B = [1;0 (3,1)];C = [1 1 1 1];D = 0;K = 0 (4,1);x = [0.1 0.1 0.1 0.1];t = 0; init_sys = idss(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对象,一个的朋友对象,或一个idfrd对象。

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

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

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

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

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

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

    • -“频率”

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

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

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

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

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

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

  • 如果您已经知道您希望您的估计模型有什么顺序,请指定nx作为标量。

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

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

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

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

  • 估计目标

  • 初始条件的处理

  • 正则化

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

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

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

如果init_sys是一个IDS.模型中,党卫军使用的参数值init_sys作为估计的初步猜测sys.查询如何指定的信息IDS., 看用结构化参数化估计状态空间模型党卫军荣誉约束的参数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.模型。党卫军使用生成的模型的参数作为估计的初始猜测。

如果您未指定选择init_sys是通过估计得到的,那么软件使用从init_sys.Report.OptionsUsed

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

名称-值对的观点

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

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

估计模型的采样时间,指定为逗号分隔对组成“t”,要么0.或者一个正标量。

  • 对于连续时间模型,指定“t”作为0.

  • 对于离散时间模型,指定“t”作为存储在单元中的数据采样时间TimeUnit财产。

每个输入通道的输入延迟,指定为逗号分隔对“InputDelay”和一个数字矢量。

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

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

适用于系统N.输入,设置inputdelay.到一个N.1的向量。这个向量的每一项都是一个数值,表示对应输入通道的输入延迟。例如,请参见识别具有输入延迟的状态空间模型

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

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

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

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

  • “同伴”——获得sys在同伴的形式。

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

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

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

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

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

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

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

  • “没有”—不要估计噪声分量。这些元素K.矩阵在0处是固定的。

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

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

输出参数

全部折叠

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

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

报告字段 描述
地位

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

方法

评估使用的命令。

InitialState

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

  • “零”—初始状态设置为零。

  • “估计”-初始状态作为一个独立的估计参数。

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

  • 长度列向量Nx,在那里Nx是国家的数量。对于多实验数据,具有矩阵列,为实验的次数。

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

这个字段特别有用InitialState估计选项集中的选项是'汽车'

n4重量

N4SID算法用于单值分解的加权方案,返回如下值之一:

  • 'moesp'—采用MOESP算法。

  • “脑血管意外”-使用规范变量算法。

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

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

N4Horizon

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

适合

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

场地 描述
FitPercent

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

LossFcn

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

均方误差

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

FPE.

模型的最终预测误差。

另类投资会议

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

AICc

小样本量修正AIC。

保险代理人

标准化的另类投资会议。

BIC

贝叶斯信息标准(BIC)。

参数

模型参数估计值。

选择

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

RandState

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

DataUsed

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

场地 描述
的名字

数据集的名称。

类型

数据类型。

长度

数据样本的数量。

Ts

样品时间。这个等价于数据。Ts

InterSample

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

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

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

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

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

InputOffset

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

OutputOffset

在估计过程中,从时域输出数据中去除偏移。

终止

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

场地 描述
WhyStop

终止数值搜索的原因。

迭代

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

FirstOrderOptimality

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

fcncount.

调用目标函数的次数。

UpdateNorm

梯度搜索向量的范数。当搜索方法为时省略“lsqnonlin”“fmincon”

LastImprovement

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

算法

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

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

,以获取更多使用信息报告, 看估计报告

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

该数组也存储在参数模型场报告财产。

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

算法

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

参考文献

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

扩展功能

介绍了R2012a