使用时域或频域数据估计状态空间模型
估算状态空间模型,并将其与测量输出进行响应。
加载存储在存储中的输入输出数据iddata
对象。
负载iddata1z1
估计一个四阶状态空间模型。
nx = 4;sys = ss (z1, nx);
将模拟模型响应与测量输出进行比较。
比较(z1, sys)
图中显示,模拟模型与估计数据的拟合率大于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
.找出哪种方法党卫军
的价值InitialState
在sys。Repor
t。
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先生);
比较模型的脉冲响应。
冲动(trueSys, m先生,50);传奇(“trueSys”那“米”那“先生”);
估计一个测量输入-输出数据的状态空间模型。配置参数约束和初始值,以便使用状态空间模型进行估计。
创建一个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
对象,该对象包含输入和输出信号值。
对频域估计,数据
可以是以下情况之一:
估计数据必须是均匀抽样的。默认情况下,软件将模型的采样时间设置为估计数据的采样时间。
对于多实验数据,所有实验的样本次数和样本间行为必须匹配。
数据域确定您可以估计的模型类型。
时域或离散时间频域数据-连续时间和离散时间模型
连续时间频域数据-仅连续时间模型
nx
-估计模型阶1:10
(默认)|正整数标量|正整数向量|0.
估计模型的顺序,指定为非负整数或包含一系列正整数的向量。
如果您已经知道您希望您的估计模型有什么顺序,请指定nx
作为标量。
如果您想比较一系列潜在订单以选择最有效的订单,请在nx
.党卫军
创建汉克尔奇值图,显示系统中每个状态的相对能量贡献。Hankel奇异值较小的状态对模型精度的贡献较小,可以丢弃,影响较小。您保留的最高状态的索引是模型顺序。绘图窗口包含使用顺序的建议。您可以接受这个建议,也可以输入不同的订单。例如,请参见确定最优估计模型顺序.
如果您未指定nx
,或者如果您指定nx
作为最好的
,软件自动选择nx
从范围内1:10
.
如果您正在标识一个静态系统,请设置nx
来0.
.
选择
-估计选项ssestOptions
选项设置评估选项,指定为ssestOptions
选项设置。指定的选项选择
包括:
估计目标
初始条件的处理
正则化
用于估计的数值搜索方法
举例说明如何使用选择
, 看作为独立参数估计初始状态和利用正则化估计状态空间模型.
init_sys
-配置系统初始参数的线性系统IDS.
模型|线性模型|结构的初始参数化的线性系统sys
,指定为IDS.
模型或结构。你获得init_sys
通过使用测量数据或通过直接构建执行估计。
如果init_sys
是一个IDS.
模型中,党卫军
使用的参数值init_sys
作为估计的初步猜测sys
.查询如何指定的信息IDS.
, 看用结构化参数化估计状态空间模型.党卫军
荣誉约束的参数init_sys
,例如固定系数和最小/最大界限。
使用结构
的属性init_sys
为。配置初始参数值和约束一种那B.那C那D.,K.矩阵。例如:
你必须为所有矩阵参数指定有限的初始值。
如果init_sys
不是状态空间(IDS.
)模型,软件先转换init_sys
到一个IDS.
模型。党卫军
使用生成的模型的参数作为估计的初始猜测。
如果您未指定选择
和init_sys
是通过估计得到的,那么软件使用从init_sys.Report.OptionsUsed
.
例如,请参见使用结构化估计估计部分已知的状态空间模型.
指定可选的逗号分隔的对名称,值
参数。的名字
是参数名称和价值
为对应值。的名字
必须出现在引号内。可以以任意顺序指定多个名称和值对参数Name1, Value1,…,的家
.
sys = ssest(数据,nx,'ts',0.1)
“t”
-估计模型的样本时间0.
(持续时间)(默认)|数据采样时间(数据。Ts
的)|正标量估计模型的采样时间,指定为逗号分隔对组成“t”
,要么0.
或者一个正标量。
对于连续时间模型,指定“t”
作为0.
.
对于离散时间模型,指定“t”
作为存储在单元中的数据采样时间TimeUnit
财产。
“InputDelay”
-输入延迟0.
(默认)|标量|向量每个输入通道的输入延迟,指定为逗号分隔对“InputDelay”
和一个数字矢量。
对于连续时间模型,指定“InputDelay”
在存储在时的时间单位TimeUnit
财产。
对于离散时间模型,指定“InputDelay”
采样时间的整数倍Ts
.例如,设置“InputDelay”
来3.
指定三个采样周期的延迟。
适用于系统N.你输入,设置inputdelay.
到一个N.你1的向量。这个向量的每一项都是一个数值,表示对应输入通道的输入延迟。例如,请参见识别具有输入延迟的状态空间模型.
若要对所有信道应用相同的延迟,请指定inputdelay.
作为标量。
“形式”
-标准形的类型“免费”
(默认)|“模态”
|“同伴”
|'典范'
的标准形式的类型sys
,指定为逗号分隔的对,由“形式”
以及以下值之一:
“免费”
-矩阵的所有项一种那B.那C那D.,K.都是免费的。
“模态”
——获得sys
在模态形式。
“同伴”
——获得sys
在同伴的形式。
'典范'
——获得sys
在可观察性规范形式中。
有关规范形式的定义,请参见状态空间实现规范化.
有关更多信息,请参见用规范参数化估计状态空间模型.例如,请参见修改形式、馈通和干扰模型矩阵.
“引线”
-从输入到输出的直接馈通0.
(默认)|1
|逻辑向量从输入到输出的直接馈通,指定为逗号分隔对组成“引线”
一个长度的逻辑向量N.你,在那里N.你为输入的个数。如果您指定直通的
作为逻辑标量,该值应用于所有输入。对于静态系统,软件总是假定“引线”
是1
.
例如,请参见修改形式、馈通和干扰模型矩阵.
'diskancemodel'
-选择估计时域噪声成分参数“估计”
(默认)|“没有”
选择估计时域噪声分量参数的K矩阵,指定为逗号分隔对组成'diskancemodel'
以及以下值之一:
“估计”
-估计噪声分量。的K.矩阵被视为一个自由参数。
“没有”
—不要估计噪声分量。这些元素K.矩阵在0处是固定的。
对于频域数据,软件假定'diskancemodel'
是“没有”
.
例如,请参见修改形式、馈通和干扰模型矩阵.
sys
—识别状态空间模型IDS.
模型识别的状态空间模型,作为一个返回IDS.
模型。这个模型是使用指定的模型顺序、延迟和估计选项创建的。
中存储了有关评估结果和所使用选项的信息报告
模型的属性。报告
具有以下字段。
报告字段 | 描述 | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
地位 |
模型状态的总结,表明模型是通过构造创建的还是通过估计获得的。 |
||||||||||||||||||
方法 |
评估使用的命令。 |
||||||||||||||||||
InitialState |
如何在估计期间处理初始状态,作为以下值之一返回:
这个字段特别有用 |
||||||||||||||||||
n4重量 |
N4SID算法用于单值分解的加权方案,返回如下值之一:
这个选项特别有用,当 |
||||||||||||||||||
N4Horizon |
N4SID算法使用的前向和后向预测视野,作为具有三个元素的行向量返回 - |
||||||||||||||||||
适合 |
定量评估估计,作为结构返回。看损失函数和模型质量度量有关这些质量度量标准的更多信息。该结构有以下字段:
|
||||||||||||||||||
参数 |
模型参数估计值。 |
||||||||||||||||||
选择 |
用于估计的选项集。如果没有配置自定义选项,这是一组默认选项。看 |
||||||||||||||||||
RandState |
估计开始时随机数流的状态。空的, |
||||||||||||||||||
DataUsed |
用于估计的数据的属性。结构中包含以下字段:
|
||||||||||||||||||
终止 |
用于预测误差最小化的迭代搜索的终止条件,作为具有以下字段的结构:
对于不需要数值搜索优化的估计方法 |
,以获取更多使用信息报告
, 看估计报告.
X0.
-在估计期间计算的初始状态党卫军
使用非迭代子空间方法或迭代有理函数估计方法初始化参数估计。然后利用预测误差最小化方法对参数值进行优化。有关更多信息,请参见pem
和ssestOptions
.
[1] Ljung, L。系统识别:用户的理论,第二版。上鞍河,NJ: Prentice Hall PTR, 1999。
的并行计算支持可用于估计万博1manbetxlsqnonlin
搜索方法(需要最优化工具箱™)。要启用并行计算,请使用ssestOptions
, 放SearchMethod
来“lsqnonlin”
,并设置searchOptions.Advanced.UseCallall.
来真正的
.
例如:
选择= ssestOptions;opt.SearchMethod =“lsqnonlin”;opt.SearchOptions.Advanced.UseParallel = true;
你点击一个链接对应于这个MATLAB命令:
通过在MATLAB命令窗口中输入命令来运行命令。Web浏览器不支持MATLAB命令。万博1manbetx
你也可以从以下列表中选择一个网站:
选择中国网站(以中文或英文)以获得最佳网站性能。其他MathWorks国家网站未优化您所在地的访问。