ssregest
估计减少的状态空间模型正规化ARX模型
语法
描述
状态空间模型的估计
指定附加选项
例子
估计减少的状态空间模型正规化ARX模型
估计具有输入时滞状态空间模型
负荷估算数据,这是包含在输入/输出矩阵umat2
和ymat2
。
负载sdata2.matumat2ymat2
估计一个三阶状态空间模型的输入延迟。指定样品时间Ts
为0.1。
sys = ssregest (umat2 ymat2 3,“InputDelay”2,“t”,0.1);
配置ARX订单和评估重点
负荷估算数据。
负载iddata2z2;
指定的顺序正规化ARX模型在评估使用的软件。同时,设置仿真评估重点。
选择= ssregestOptions (“ARXOrder”(100 100),“焦点”,“模拟”);
确定一个三阶状态空间模型。
sys = ssregest (z2 3选择);
在估计返回初始状态值计算
比较正规化减少状态方程模型估计使用脉冲响应和ARX模型
加载数据。
负载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”,“平方米”);
输入参数
tt
- - - - - -排课估计数据
时间表|单元阵列的时间表。
估计数据,指定为一个均匀采样时间表
代表输入和输出通道或包含变量,对于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”, [])
关于处理估计数据类型的更多信息,见数据域和数据类型在系统辨识工具箱。
u
,y
- - - - - -依赖于估计的数据
矩阵|细胞矩阵的数组
估计数据,指定输出系统作为一个逗号分隔的N年代1实值矩阵含有均匀采样输入和输出时域信号值。在这里,N年代是样品的数量。
对于MIMO系统,指定u
,y
作为输入/输出矩阵对以下维度:
u
- - - - - -N年代——- - - - - -Nu,在那里Nu输入的数量。y
- - - - - -N年代——- - - - - -Ny,在那里Ny是输出的数量。
对于multiexperiment数据,指定u
,y
作为一对1×-Ne细胞阵列,Ne是实验的数量。所有的样品时间实验必须匹配。
时间序列数据,只包含输出和输入,指定y
只有。
限制
使用矩阵估计数据不建议连续时间估计,因为数据不提供样品时间。软件假定数据采样在1赫兹。对于连续时间估计,建议您把每个矩阵
时间表
。例如,转换矩阵嗯
和ym
到一个时间表
tt
样品时间为0.5分钟,使用下面的命令。tt =时间表(ym,“rowtimes”分钟(0.5 *(1:尺寸(u, 1))))
关于处理估计数据类型的更多信息,见数据域和数据类型在系统辨识工具箱。
数据
- - - - - -估计数据对象
iddata
对象|的朋友
对象|idfrd
对象
估计数据对象,指定为一个iddata
对象,一个的朋友
对象,或一个idfrd
对象包含均匀采样输入和输出值。对于时间序列模型,数据
只能包含输出值。默认情况下,软件集的样本时间模型的样本时间估计数据。
对于multiexperiment数据,所有的样品时间和intersample行为实验必须匹配。
对时域估计,数据
必须是一个iddata
对象包含输入和输出信号值。
对频域估计,数据
可以是下列之一:
nx
- - - - - -的估计模型
积极的标量|积极的向量|“最佳”
的估计模型,指定为一个积极的标量或矢量。
如果nx
是一个矢量,然后呢ssregest
创建一个情节,你可以使用它来选择一个合适的模型。情节展示了模型选择的汉克尔奇异值向量中的值。州汉克尔相对较小奇异值可以安全地丢弃。默认选择建议的阴谋。
您还可以指定nx = '最好'
,如“最佳”ssregest(数据)
,在这种情况下,选择最优顺序自动1:10。
选择
- - - - - -选项设置ssregest
ssregestOptions
选项设置
估计的选择ssregest
指定为一个选项让你创建使用ssregestOptions
。
名称-值参数
指定可选的双参数作为Name1 = Value1,…,以=家
,在那里的名字
参数名称和吗价值
相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。
R2021a之前,用逗号来分隔每一个名称和值,并附上的名字
在报价。
例子:sys = ssregest (z2 3 ' InputDelay ', 2)
指定一个延迟2采样周期。
Ts
- - - - - -样品时间
样本的数据(data.Ts
)(默认)|积极的标量|0
样品的时间模型,指定为0或等于样本的时间数据
。
对于连续时间模型,使用t = 0
。对于离散时间模型,指定Ts
作为一个积极的标量值等于样本的数据。
InputDelay
- - - - - -输入延迟
0(默认)|标量|向量
为每个输入通道输入延迟,指定为一个数值向量。对于连续时间系统,指定输入延迟中存储的时间单位TimeUnit
财产。对于离散时间系统,指定输入整数倍的样品时间延迟Ts
。例如,InputDelay = 3
意味着三个采样周期的延迟。
为一个系统ν
输入,设置InputDelay
到一个ν
1的向量。这个向量的每个条目是一个数值,表示相应的输入延迟输入通道。
你也可以设置InputDelay
一个标量值应用相同的延迟所有频道。
直通的
- - - - - -直接从输入到输出引线
0
(默认)|1
|逻辑向量
直接从输入到输出引线,指定为一个逻辑向量的长度ν,在那里ν输入的数量。如果直通的
被指定为一个逻辑标量,它是应用于所有的输入。
使用形式
,直通的
和DisturbanceModel
名称-值对参数修改的默认行为一个,B,C,D,K矩阵。
输出参数
sys
状态空间模型,估计
中的难点
估计的状态空间模型nx
,作为一个返回中的难点
模型对象。模型表示:
一个,B,C,D,K状态矩阵。u(t)输入,y(t)输出,e(t)是干扰x(t)的向量nx
州。
所有的条目一个,B,C,K默认情况下是免费的有价值的参数。D是固定的默认为零,也就是说,没有直通的,除了静态系统(nx = 0
)。
评估结果和信息存储在选择使用报告
模型的属性。报告
有以下字段:
报告字段 | 描述 | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
状态 |
总结模型的状态,这表明模型是由建设或是否得到评估。 |
||||||||||||||||||
方法 |
评估使用的命令。 |
||||||||||||||||||
InitialState |
处理期间的初始状态估计,返回以下值之一:
这个字段时特别有用 |
||||||||||||||||||
ARXOrder |
ARX模型订单,返回矩阵的非负整数 |
||||||||||||||||||
适合 |
定量评估的评估,作为一个结构返回。看到损失函数和模型质量的指标对这些质量标准的更多信息。结构有以下字段:
|
||||||||||||||||||
参数 |
估计模型参数的值。 |
||||||||||||||||||
OptionsUsed |
选项设置用于估计。如果没有配置自定义选项,这是一组缺省选项。看到 |
||||||||||||||||||
RandState |
的随机数流的估计。空的, |
||||||||||||||||||
DataUsed |
属性的数据用于估计,作为结构与以下字段返回。
|
使用的更多信息报告
,请参阅评估报告。
x0
——初始状态估计计算
标量|矩阵
初始状态计算评估期间,作为一个标量返回。如果数据
包含多个实验x0
是一个矩阵,每一列对应一个实验。
这个值也存储在参数
模型的领域报告
财产。
更多关于
模态形式
在模态形式,一个是一个block-diagonal矩阵。块大小通常是1×1实特征值和2×2复特征值。然而,如果有反复的特征值或集群附近的特征值,可以更大的块大小。
例如,对于一个系统特征值 的模态一个矩阵的形式
同伴的形式
在同伴的实现,系统的特征多项式的显式出现在最右边的列一个矩阵。
系统特征多项式
相应的同伴一个矩阵是
同伴的转换要求从第一个输入系统是可控的。大多数状态方程计算的同伴的形式条件较差;在可能的情况下避免使用它。
提示
ssregest
函数提供了改进的精度比n4sid
短,嘈杂的数据集。对于一些问题,适合使用的质量
n4sid
敏感的选项,例如N4Horizon
的值很难确定。相比之下,符合的质量ssregest
的选择不敏感,这使得ssregest
简单的使用。
算法
ssregest
估计正规化ARX模型和将ARX模型转换为状态空间模型。然后软件使用平衡的模型降阶状态空间模型技术来减少指定的顺序。
引用
[1]Ljung, L。为用户系统标识:理论第二版附录4,页132 - 134,鞍上游,N。普伦蒂斯霍尔,1999。
版本历史
介绍了R2014aMATLAB命令
你点击一个链接对应MATLAB命令:
运行该命令通过输入MATLAB命令窗口。Web浏览器不支持MATLAB命令。金宝app
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。