主要内容

党卫军

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

描述

状态空间模型估计

例子

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 )

一个,B,C,D,K状态矩阵。u(t)输入,y(t)输出,e(t)是干扰,x(t)的向量nx州。

所有条目的一个,B,C,K默认情况下是免费的有价值的参数。D是固定的默认为零,也就是说,没有直通的,除了静态系统(nx = 0)。

例子

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

例子

sys= ss (___,选择)包含一个选项设置选择指定选项,例如估计目标,处理初始条件,正规化,数值搜索方法用于估计。您可以指定选择后的任何以前的输入参数组合。

配置初始参数

例子

sys= ss (数据,init_sys)使用状态方程模型init_sys配置初始参数化。

sys= ss (数据,init_sys,选择)估计模型使用一个选项组选择

返回初始状态估计

例子

(sys,x0)= ss (___)返回初始状态的价值在评估计算。您可以使用该语法与任何以前的输入参数组合。

例子

全部折叠

估计和比较状态空间模型与测量的响应输出。

负载的输入-输出数据,存储在一个iddata对象。

负载iddata1z1

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

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

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

比较(z1, sys)

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

情节表明,适合模拟模型和估计数据之间的比例大于70%。

您可以查看更多信息探索的估计中的难点财产sys.Report

sys.Report
ans =状态:估计用ss预测集中的方法:“党卫军”InitialState:“零”N4Weight:“脑血管意外”N4Horizon:[6 10 10]适合:[1 x1 struct]参数:[1 x1 struct] OptionsUsed: [1 x1 idoptions。党卫军]RandState: [] DataUsed: [1 x1 struct]终止:[1 x1 struct]

例如,找到更多的信息关于终止条件。

sys.Report.Termination
ans =结构体字段:WhyStop:“不改进沿着线搜索的搜索方向。迭代:7 FirstOrderOptimality: 85.9759 FcnCount: 123 UpdateNorm: 9.7655 LastImprovement: 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矩阵,并消除disturbance-model K矩阵的估计。

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

负载iddata1z1sys1 = ss (z1, 4);

指定伙伴形式和比较一个矩阵用默认一个矩阵。

sys2 = ss (z1 4“形式”,“同伴”);A1 = sys1.A
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.A
A2 =4×4103-0.9547×-7.1122 - 0.0010 0 0 0 0 0 0 0 0 0 -0.3263 0.0010 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);

估计一个unregularized状态空间模型。

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

估计一个正规化的状态空间模型。

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

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

比较(eData, m先生);

图包含一个坐标轴对象。坐标轴对象包含3线类型的对象。这些对象代表eData (y1) m: 83.85%,先生:83.68%。

比较脉冲响应模型。

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

图包含一个坐标轴对象。坐标轴对象的标题:u1: y1包含6行类型的对象。这些对象代表trueSys, m,先生。

估计的状态空间模型来衡量投入产出数据。配置参数约束和初始值估计状态空间模型使用。

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

一个= 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);x0 = (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.A是免费的(真正的)或固定()。

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

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

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

输入参数

全部折叠

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

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

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

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

  • iddata对象与属性指定如下。

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

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

    • - - - - - -“频率”

估计数据必须均匀采样。默认情况下,软件集的样本时间模型的样本时间估计数据。

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

数据的类型决定了模型的域可以估计。

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

  • 连续时间频率域数据——连续时间模型

的估计模型,指定为一个非负整数或向量包含一个正整数的范围。

  • 如果你已经知道你想要什么顺序估计模型,指定nx作为一个标量。

  • 如果你想比较一系列潜在的订单选择最有效的为你的估计模型,指定的范围nx党卫军创建一个汉克尔奇异值图,显示了系统中每个状态的相对能量的贡献。州汉克尔相对较小奇异值贡献小模型的准确性,可以丢弃的影响不大。你保留的最高境界是指数模型。图窗口包含要使用的建议。你可以接受这个建议或进入一个不同的顺序。例如,看到的确定最优估计模型

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

  • 如果你是确定一个静态系统,集nx0

估计选项,指定为一个ssestOptions选项。选项指定的选择包括:

  • 估计目标

  • 处理初始条件

  • 正则化

  • 数值搜索方法用于估计

示例显示了如何使用选择,请参阅估计初始状态为独立参数估计使用正则化状态空间模型

线性系统,配置的初始参数sys指定为一个中的难点或作为一个结构模型。你获得init_sys通过执行评估使用测量数据或通过直接施工。

如果init_sys是一个中的难点模型中,党卫军使用的参数值init_sys作为初始猜测估计sys。有关如何指定的信息中的难点,请参阅估计状态空间模型与结构参数化党卫军荣誉约束的参数init_sys,如固定系数和最小/最大范围。

使用结构的属性init_sys配置初始参数值和约束一个,B,C,D,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,…,以=家,在那里的名字参数名称和吗价值相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。

R2021a之前,用逗号来分隔每一个名称和值,并附上的名字在报价。

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

样品的时间估计模型,指定为逗号分隔组成的“t”,要么0或积极的标量。

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

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

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

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

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

为一个系统Nu输入,设置InputDelay到一个Nu1的向量。这个向量的每个条目是一个数值,表示相应的输入延迟输入通道。例如,看到的识别具有输入时滞状态空间模型

应用相同的延迟所有渠道,指定InputDelay作为一个标量。

类型的规范形式sys,指定为逗号分隔两人组成的“形式”和下列值之一:

  • “免费”——所有矩阵的条目一个,B,C,D,K被认为是免费的。

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

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

  • “规范”——获得sys可观测性规范形式。

定义的规范形式,明白了状态空间实现规范化

有关更多信息,请参见估计状态空间模型与标准参数化。例如,看到的修改表单、引线和Disturbance-Model矩阵

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

例如,看到的修改表单、引线和Disturbance-Model矩阵

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

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

  • “没有”——不估计噪声组件。的元素K矩阵是固定在零。

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

例如,看到的修改表单、引线和Disturbance-Model矩阵

输出参数

全部折叠

标识,状态空间模型作为一个返回中的难点模型。这个模型是使用指定的模型创建的订单,延误,估计选项。

评估结果和信息存储在选择使用报告模型的属性。报告有以下字段。

报告字段 描述
状态

总结模型的状态,这表明模型是由建设或是否得到评估。

方法

评估使用的命令。

InitialState

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

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

  • “估计”——初始状态被当作一个独立的评估参数。

  • “展望”——初始状态使用最好的最小二乘估计。

  • 列向量的长度Nx,在那里Nx的状态数。对于multi-experiment数据,一个矩阵列,是实验的数量。

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

这个字段时特别有用InitialState估计选项设置选项“汽车”

N4Weight

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

  • “MOESP”——使用MOESP算法。

  • “脑血管意外”——使用正则变量算法。

  • “SSARX”- - -子空间识别方法,使用一个ARX estimation-based算法计算权重。

这个选项的时候尤其有用N4Weight估计选项设置选项“汽车”

N4Horizon

向前和向后预测视野N4SID所使用的算法,用三个元素——作为一个行向量返回(r sy苏),在那里r最大向前预测地平线。sy是过去的输出,然后呢是过去的数量输入用于预测。

适合

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

描述
FitPercent

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

LossFcn

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

均方误差

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

消防工程

最终模型的预测误差。

另类投资会议

原始Akaike信息标准(AIC)模型质量的措施。

AICc

样本规模小的AIC纠正。

保险代理人

标准化的另类投资会议。

BIC

贝叶斯信息准则(BIC)。

参数

估计模型参数的值。

OptionsUsed

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

RandState

的随机数流的估计。空的,[]评估期间,如果随机化是不习惯。有关更多信息,请参见rng

DataUsed

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

描述
的名字

数据集的名称。

类型

数据类型。

长度

数据样本的数量。

Ts

样品时间。这相当于Data.Ts

InterSample

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

  • “zoh”——零维护样本之间的分段常数输入信号。

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

  • “提单”——带限行为指定连续时间输入信号零功率高于奈奎斯特频率。

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

InputOffset

在估计抵消从时域输入数据。

OutputOffset

在估计抵消从时域输出数据。

终止

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

描述
WhyStop

原因终止数值搜索。

迭代

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

FirstOrderOptimality

规范的梯度搜索在搜索算法终止时向量。

FcnCount

目标函数的次数。

UpdateNorm

规范的梯度搜索过去迭代向量。省略搜索方法“lsqnonlin”“fmincon”

LastImprovement

标准改进在过去的迭代,表示为一个百分比。省略搜索方法“lsqnonlin”“fmincon”

算法

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

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

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

初始状态估计计算,包含一个列向量作为一个数组返回相应的实验。

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

例如,看到的估计初始状态为独立参数

算法

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

引用

[1]Ljung, L。为用户系统标识:理论,第二版。上台北:Prentice Hall PTR, 1999。

扩展功能

版本历史

介绍了R2012a