主要内容

ssregest

估计减少的状态空间模型正规化ARX模型

描述

状态空间模型的估计

例子

sys= ssregest (tt,nx)估计一个离散时间状态空间模型通过减少正规化ARX模型,使用的所有输入和输出信号的时间表tt。您可以使用该语法的输出和MIMO系统。函数假设中的最后一个变量的时间表是单一输出信号。您还可以使用该语法来估计一个时间序列模型tt包含一个变量代表唯一的输出。

对MIMO系统和时间表,含有更多的变量估计比你计划使用,你必须使用名称-值参数来指定输入和输出通道的名称。有关更多信息,请参见tt

估计一个连续时间模型,设置“t”0使用名称的语法。

例子

sys= ssregest (u,y,nx,“t”,Ts)使用逗号分隔的时域输入和输出信号矩阵u,y和模型样品时间Ts。软件假定数据样本时间也Ts秒。您可以使用该语法的输出,味噌,MIMO系统。

不推荐从依赖于数据估计连续时间模型。

sys= ssregest (数据,nx)使用时域或频域数据对象中的数据数据。使用这个语法特别是当你想要使用状态空间模型估计频域或频率特性数据,或者当你想利用额外的信息,比如数据标签样本时间和实验,数据对象提供。

指定附加选项

例子

sys= ssregest (___,nx,名称,值)包含额外的模型选项指定一个或多个名称参数。例如,指定输入和输出信号对应的变量名与变量用于MIMO时间表数据使用sys = ssregest(数据、nx InputName, u1, u2”,“OutputName”,(“日元”、“y3))。使用“形式”,“引线”,“DisturbanceModel”名称-值参数修改的默认行为一个,B,C,D,K矩阵。

例子

sys= ssregest (___,选择)指定估计选项配置估计目标,ARX订单和订单减少选项。这个语法可以包括任何输入参数组合在前面的语法。

返回初始状态估计

例子

(sys,x0)= ssregest (___)返回初始状态的价值在评估计算。这个语法可以包括任何输入参数组合在前面的语法。

例子

全部折叠

加载时域估计数据,包含在时间表tt

负载sdata2.mattt2;

确定一个三阶状态空间模型。

sys = ssregest (tt2 3);

负荷估算数据,这是包含在输入/输出矩阵umat2ymat2

负载sdata2.matumat2ymat2

估计一个三阶状态空间模型的输入延迟。指定样品时间Ts为0.1。

sys = ssregest (umat2 ymat2 3,“InputDelay”2,“t”,0.1);

负荷估算数据。

负载iddata2z2;

指定的顺序正规化ARX模型在评估使用的软件。同时,设置仿真评估重点。

选择= ssregestOptions (“ARXOrder”(100 100),“焦点”,“模拟”);

确定一个三阶状态空间模型。

sys = ssregest (z2 3选择);

负荷估算数据。

负载iddata2z2;

获得初始状态值时确定一个三阶状态空间模型。

[sys, x0] = ssregest (z2, 3);

加载数据。

负载regularizationExampleDataeData;

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

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

获得正规化脉冲响应(杉木)模型。

选择= impulseestOptions (“RegularizationKernel”,“直流”);m0 =冲动(eData, 70年,选择);

将该模型转换为顺序,降低状态空间模型模型。

m1 = balred (ids (m0), 15);

减少获得第二个使用状态空间模型正规化的ARX模型。

m2 = ssregest (eData 15);

比较真实的系统的脉冲响应和估计模型。

冲动(trueSys, m1, m2, 50);传奇(“trueSys”,“m1”,“平方米”);

图包含一个坐标轴对象。坐标轴对象的标题:u1: y1包含6行类型的对象。一个或多个行显示的值只使用这些对象标记代表trueSys, m1, m2。

输入参数

全部折叠

估计数据,指定为一个均匀采样时间表代表输入和输出通道或包含变量,对于multiexperiment数据,单元阵列的时间表。

使用整个时间表

如果您想要使用的所有变量tt作为输入或输出渠道,组织这样的变量组输入通道变量是紧随其后的是组输出通道变量,然后:

  • 对于输出系统,指定tt作为一个N年代2的时间表,N年代样品的数量和两个时间表变量分别代表了测量输入通道和输出通道。

  • 对于MIMO系统,指定tt作为一个N年代————(Nu+Ny)的时间表,Nu输入和数量吗Ny是输出的数量。第一个Nu变量必须包含输入通道和剩下的Ny变量必须包含输出通道。

    当你估计状态空间或传递函数模型时,您还必须显式地指定输入和输出通道,下面的部分将介绍。

  • 对于multiexperiment数据,指定数据作为Ne1单元阵列的时间表,Ne是实验的数量。所有的样品时间实验必须匹配。

使用选定的变量从时间表

如果你想明确地确定输入和输出通道,比如当你想使用只有一个子集的可用的频道,当输入和输出通道变量是混杂在一起的,或者当你估计MIMO状态或传递函数模型,使用“InputName”“OutputName”名称-值参数指定使用哪个变量作为输入和输出。

例如,假设tt包含六个通道变量:“u1”,“u2”,“u3”,“日元”,“日元”,“y3”。估计,你想要使用的变量“u1”“u2”作为输入变量“日元”“y3”作为输出。使用以下命令来执行评估:

sys = ssregest (tt, __“InputName”,“u1”“u2”,“OutputName”,(“日元”“y3))

使用时间表来估计时间序列模型

如果你想估计时间序列模型,而不是一个输入/输出模型,只使用输出变量tt。你可以指定tt只包含您想要的输出变量,或提取的输出变量tt如果tt还包含输入变量。规范方法类似于输入/输出模型估计。

  • 对于一个系统,指定tt作为一个N年代1的时间表。

  • 对于一个多变量系统,指定tt作为一个N年代————(Ny)的时间表。即使你计划使用的所有变量tt,您必须指定使用“OutputName”名称-值参数,软件不能解释它们作为输入变量。

对于一个时间表tt变量超出了您想要使用,如输入变量或额外的输出变量,指定您想要使用的输出变量,“InputName”一个空数组。

例如,假设tt包含六个变量:“u1”,“u2”,“u3”,“日元”,“日元”,“y3”。对于时间序列估计,您想要使用的输出变量“日元”“y3”。使用以下命令来执行评估:

sys = ssregest (tt, __“OutputName”,“日元”“y3”,“InputName”, [])

关于处理估计数据类型的更多信息,见数据域和数据类型在系统辨识工具箱

估计数据,指定输出系统作为一个逗号分隔的N年代1实值矩阵含有均匀采样输入和输出时域信号值。在这里,N年代是样品的数量。

对于MIMO系统,指定u,y作为输入/输出矩阵对以下维度:

  • u- - - - - -N年代——- - - - - -Nu,在那里Nu输入的数量。

  • y- - - - - -N年代——- - - - - -Ny,在那里Ny是输出的数量。

对于multiexperiment数据,指定u,y作为一对1×-Ne细胞阵列,Ne是实验的数量。所有的样品时间实验必须匹配。

时间序列数据,只包含输出和输入,指定y只有。

限制

估计数据对象,指定为一个iddata对象,一个的朋友对象,或一个idfrd对象包含均匀采样输入和输出值。对于时间序列模型,数据只能包含输出值。默认情况下,软件集的样本时间模型的样本时间估计数据。

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

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

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

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

  • iddata指定对象的属性如下:

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

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

    • - - - - - -“频率”

    • Ts——非零

的估计模型,指定为一个积极的标量或矢量。

如果nx是一个矢量,然后呢ssregest创建一个情节,你可以使用它来选择一个合适的模型。情节展示了模型选择的汉克尔奇异值向量中的值。州汉克尔相对较小奇异值可以安全地丢弃。默认选择建议的阴谋。

您还可以指定nx = '最好',如“最佳”ssregest(数据),在这种情况下,选择最优顺序自动1:10。

估计的选择ssregest指定为一个选项让你创建使用ssregestOptions

名称-值参数

指定可选的双参数作为Name1 = Value1,…,以=家,在那里的名字参数名称和吗价值相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。

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

例子:sys = ssregest (z2 3 ' InputDelay ', 2)指定一个延迟2采样周期。

样品的时间模型,指定为0或等于样本的时间数据

对于连续时间模型,使用t = 0。对于离散时间模型,指定Ts作为一个积极的标量值等于样本的数据。

为每个输入通道输入延迟,指定为一个数值向量。对于连续时间系统,指定输入延迟中存储的时间单位TimeUnit财产。对于离散时间系统,指定输入整数倍的样品时间延迟Ts。例如,InputDelay = 3意味着三个采样周期的延迟。

为一个系统ν输入,设置InputDelay到一个ν1的向量。这个向量的每个条目是一个数值,表示相应的输入延迟输入通道。

你也可以设置InputDelay一个标量值应用相同的延迟所有频道。

类型的规范形式sys,指定以下值之一:

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

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

  • “免费”——所有的条目一个,BC矩阵被当作免费的。

  • “规范”——获得sys可观测性规范形式[1]

使用形式,直通的DisturbanceModel名称-值对参数修改的默认行为一个,B,C,D,K矩阵。

直接从输入到输出引线,指定为一个逻辑向量的长度ν,在那里ν输入的数量。如果直通的被指定为一个逻辑标量,它是应用于所有的输入。

使用形式,直通的DisturbanceModel名称-值对参数修改的默认行为一个,B,C,D,K矩阵。

指定是否估计K矩阵指定噪声分量,指定为以下值之一:

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

  • “估计”- - -K矩阵视为一个自由参数。

DisturbanceModel必须“没有”当使用频域数据。

使用形式,直通的DisturbanceModel名称-值对参数修改的默认行为一个,B,C,D,K矩阵。

输出参数

全部折叠

估计的状态空间模型nx,作为一个返回中的难点模型对象。模型表示:

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

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

报告字段 描述
状态

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

方法

评估使用的命令。

InitialState

处理期间的初始状态估计,返回以下值之一:

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

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

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

ARXOrder

ARX模型订单,返回矩阵的非负整数(na nb nk)

适合

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

描述
FitPercent

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

LossFcn

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

均方误差

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

消防工程

最终模型的预测误差。

另类投资会议

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

AICc

样本规模小的AIC纠正。

保险代理人

标准化的另类投资会议。

BIC

贝叶斯信息准则(BIC)。

参数

估计模型参数的值。

OptionsUsed

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

RandState

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

DataUsed

属性的数据用于估计,作为结构与以下字段返回。

描述
的名字

数据集的名称。

类型

数据类型。

长度

数据样本的数量。

Ts

样品时间。

InterSample

输入intersample行为,返回以下值之一:

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

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

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

InputOffset

在估计抵消从时域输入数据。对于非线性模型,它是[]

OutputOffset

在估计抵消从时域输出数据。对于非线性模型,它是[]

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

初始状态计算评估期间,作为一个标量返回。如果数据包含多个实验x0是一个矩阵,每一列对应一个实验。

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

更多关于

全部折叠

模态形式

在模态形式,一个是一个block-diagonal矩阵。块大小通常是1×1实特征值和2×2复特征值。然而,如果有反复的特征值或集群附近的特征值,可以更大的块大小。

例如,对于一个系统特征值 ( λ 1 , σ ± j ω , λ 2 ) 的模态一个矩阵的形式

一个 = ( λ 1 0 0 0 0 σ ω 0 0 ω σ 0 0 0 0 λ 2 ]

同伴的形式

在同伴的实现,系统的特征多项式的显式出现在最右边的列一个矩阵。

系统特征多项式

P ( 年代 ) = 年代 n + α n 1 年代 n 1 + α n 2 年代 n 2 + + α 1 年代 + α 0 ,

相应的同伴一个矩阵是

一个 c c o = ( 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 α 0 α 1 α 2 α 3 α n 1 ] , B c c o = ( 1 0 0 ]

同伴的转换要求从第一个输入系统是可控的。大多数状态方程计算的同伴的形式条件较差;在可能的情况下避免使用它。

提示

  • ssregest函数提供了改进的精度比n4sid短,嘈杂的数据集。

  • 对于一些问题,适合使用的质量n4sid敏感的选项,例如N4Horizon的值很难确定。相比之下,符合的质量ssregest的选择不敏感,这使得ssregest简单的使用。

算法

ssregest估计正规化ARX模型和将ARX模型转换为状态空间模型。然后软件使用平衡的模型降阶状态空间模型技术来减少指定的顺序。

引用

[1]Ljung, L。为用户系统标识:理论第二版附录4,页132 - 134,鞍上游,N。普伦蒂斯霍尔,1999。

版本历史

介绍了R2014a

全部展开

另请参阅

|||(控制系统工具箱)||