主要内容

党卫军

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

描述

估计状态空间模型

例子

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

x ˙ t 一个 x t + B u t + K e t y t C x t + D u t + e t

一个BCD,K状态矩阵。ut)为输入,yt)为输出,et)是干扰,并且xt)是的向量nx州。

所有条目的一个BC,K默认为自由可估计参数。D默认情况下固定为零,这意味着没有馈通,除了静态系统(nx = 0).

例子

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

例子

sys= ss (___选择合并选项集选择它指定了估计目标、初始条件处理、正则化和用于估计的数值搜索方法等选项。您可以指定选择在前一个输入参数组合之后。

配置初始参数

例子

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

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

估计初始状态

例子

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

例子

全部折叠

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

加载输入输出数据,该数据存储在iddata对象。

负载iddata1z1

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

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

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

比较(z1, sys)

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

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

的方法可以查看关于估计的更多信息中的难点财产sys。报告

sys。报告
方法:'SSEST' InitialState: 'zero' N4Weight: 'CVA' N4Horizon: [6 10 10] Fit: [1x1 struct] Parameters: [1x1 struct] OptionsUsed: [1x1 idoptions.]sest] RandState: [] DataUsed: [1x1 struct]终止:[1x1 struct]

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

sys.Report.Termination
ans =结构体字段:为什么停:“直线搜索在搜索方向上没有改善。”Iterations: 7 FirstOrderOptimality: 85.9759 FcnCount: 123 UpdateNorm: 13.2880 lasttimimprovement: 0

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

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

负载iddata1z1

通过指定参数确定最优模型顺序nx范围从1:10

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

自动生成的图显示了指定订单的模型的汉克尔奇异值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×40.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“DisturbanceModel”“没有”);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] = ss (z1, 2,选择);x0
x0 =2×10.0068 - 0.0052

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

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

负荷估算数据。

负载regularizationExampleDataeData

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

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

估计一个非正则状态空间模型。

选择= ssestOptions (“SearchMethod”“lm”);m = ss (eData 5“形式”“模态”“DisturbanceModel”“没有”“t”、eData.Ts选择);

估计正则状态空间模型。

opt.Regularization.Lambda = 10;=党卫军先生(eData 5“形式”“模态”“DisturbanceModel”“没有”“t”、eData.Ts选择);

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

比较(eData, m先生);

图中包含一个轴对象。轴对象包含3个类型为line的对象。这些对象表示eData (y1), m: 83.85%, mr: 83.68%。

比较模型的脉冲响应。

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

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

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

创建一个中的难点模型指定初始参数进行估计。

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);

设置的所有条目K0创建一个中的难点无状态扰动元的模型。

使用结构属性以修复某些模型参数的值。配置模型以便BK是固定的,只有非零项一个是有价值的。

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,指定为中的难点模型或结构。你获得init_sys通过使用测量数据或直接构建来进行估算。

如果init_sys是一个中的难点模型中,党卫军使用的参数值init_sys作为最初的估计sys.查询如何指定的信息中的难点,请参阅用结构化参数化估计状态空间模型党卫军荣誉约束的参数init_sys,例如固定系数和最小/最大界限。

使用结构的属性init_sys为。配置初始参数值和约束一个BCD,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不是状态空间(中的难点)模型,软件先转换init_sys到一个中的难点模型。党卫军使用结果模型的参数作为估计的初始猜测。

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

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

名称-值参数

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

例子:sys = ss(数据、nx Ts, 0.1)

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

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

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

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

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

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

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

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

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

  • “免费”-矩阵的所有项一个BCD,K都是免费的。

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

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

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

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

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

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

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

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

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

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

对于频域数据,软件假设“DisturbanceModel”“没有”

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

输出参数

全部折叠

标识的状态空间模型,返回为中的难点模型。这个模型是使用指定的模型顺序、延迟和估计选项创建的。

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

报告字段 描述
状态

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

方法

评估使用的命令。

InitialState

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

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

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

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

  • 长度列向量Nx,在那里Nx是状态数。对于多实验数据,用矩阵表示列,为实验的次数。

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

这个字段特别有用InitialState估计选项集中的选项为“汽车”

N4Weight

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

  • “MOESP”—采用MOESP算法。

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

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

这个选项特别有用,当N4Weight估计选项集中的选项为“汽车”

N4Horizon

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

适合

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

描述
FitPercent

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

LossFcn

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

均方误差

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

消防工程

模型的最终预测误差。

另类投资会议

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

AICc

样本规模小的AIC纠正。

保险代理人

标准化的另类投资会议。

BIC

贝叶斯信息准则(BIC)。

参数

模型参数估计值。

OptionsUsed

用于估计的选项集。如果没有配置自定义选项,这是一组默认选项。看到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