使用时域或频域数据估计状态空间模型
估计状态空间模型,并将其与测量输出的响应进行比较。
加载存储在存储器中的输入输出数据iddata.
目的。
负载iddata1z1
估计一个四阶状态空间模型。
nx = 4;sys = ss (z1, nx);
将模拟模型响应与测量输出进行比较。
比较(z1, sys)
图中显示,模拟模型与估计数据的拟合率大于70%。
您可以通过探索更多信息来查看有关估算的更多信息IDS.
财产sys。报告
.
sys。报告
ANS =状态:'使用SSEST进行预测焦点'方法:'SSEST'InitialState:'ZVA'N4重量:'CVA'N4HORIZON:[6 10 10] FIT:[1x1结构]参数:[1x1 struct]选项已使用:[1x1IDOPTIONS.SSEST] RANDSTATE:[] DATAUSED:[1x1 struct]终止:[1x1 struct]
例如,查找有关终止条件的更多信息。
sys.Report.Termination
ans =结构体字段:Whewalstop:'没有沿着搜索方向的改进,线索搜索。迭代:7 FirstOrderOptimarity:85.9759 Fcncount:123 UpdateNorm:9.5270 Lastimprovent:0
该报告包括关于迭代次数和估计停止迭代的原因的信息。
加载输入-输出数据z1
,存储在iddata.
目的。这是用于估计第四阶模型的相同数据状态空间模型.
负载iddata1z1
通过指定参数来确定最佳模型顺序NX.
作为一个范围1:10
.
nx = 1:10;sys = ss (z1, nx);
自动生成的绘图显示由指定的订单的模型的Hankel奇异值NX.
.
可以安全地丢弃具有相对较小的Hankel奇异值的状态。建议的默认订单选择是2
.
选择模型顺序选择的顺序列表并点击申请.
加载时域系统响应数据。
负载iddata7z7;
确定数据的四阶状态空间模型。指定一个已知的延迟2
第一次输入的秒数0.
第二个输入的秒数。
nx = 4;SYS = SSEST(Z7(1:300),NX,'inputdelay', 2, 0);
修改A,B和C矩阵的规范形式,包括D矩阵中的馈通术语,并消除K矩阵中的干扰模型估计。
负载输入输出数据并估计一个四阶系统使用SSEST.
默认选项。
负载iddata1z1sys1 = ssest(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×410.3.×0 0 0 -7.1122 0.0010 0 0 -0.9547 0 0.0010 0 -0.3263 0 0 0.0010 -0.0033
包括一个馈通项和比较D.
矩阵。
sys3 = ssest(z1,4,“引线”,1);d1 = sys1.d.
d1 = 0.
D3 = sys3。D.
D3 = 0.0339.
消除干扰建模和比较K.
矩阵。
sys4 = ssest(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
指定SSEST.
估算初始状态作为独立估计参数。
SSEST.
可以使用几种方法之一来处理初始状态。默认情况下,SSEST.
根据估计数据自动选择方法。您可以通过使用修改选项集来自己选择方法ssestOptions
.
加载输入-输出数据z1
并估计二阶状态空间模型sys
使用默认选项。使用返回初始状态的语法X0.
.
负载iddata1z1[sys,x0] = ssest(z1,2);X0.
x0 =2×10 0.
缺省情况下,使用'汽车'
设置Initimstate.
.找出哪种方法SSEST.
的价值Initimstate.
在sys。Repor
T。
sys.report.initialstate.
ans ='zero'
该软件应用了“零'
方法,意味着软件将初始状态设置为零而不是估计它们。这个选择与0.
返回值为X0.
.
指定SSEST.
估计初始状态代替作为独立的参数使用'估计'
环境。采用ssestOptions
要创建修改后的选项集并指定该选项设置以估计新模型。
opt = 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);
估计一个缺陷的状态空间模型。
opt = ssestoptions('SearchMethod'那“lm”);m = ssest(edata,5,'形式'那“模态”那'diskancemodel'那“没有”那'ts',eData.ts,OPT);
估计正则状态空间模型。
opt.regularization.lambda = 10;MR = SSEST(埃迪塔,5,'形式'那“模态”那'diskancemodel'那“没有”那'ts',eData.ts,OPT);
将模型输出与估计数据进行比较。
比较(eData, m先生);
比较模型的脉冲响应。
冲动(trueSys, m先生,50);传奇(“trueSys”那'M'那“先生”);
估计测量输入输出数据的状态空间模型。使用状态空间模型配置参数约束和初始值以进行估计。
创建一个IDS.
模型指定估计初始参数化。
a = blkdiag([ - 0.1 0.4; -0.4 -0.1],[ - 1 5; -5 -1]);b = [1;零(3,1)];C = [1 1 1 1];d = 0;k =零(4,1);x0 = [0.1 0.1 0.1 0.1];ts = 0;init_sys = IDS(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.
对象,A.的朋友
对象,或一个IDFRD.
目的。
对于时域估计,数据
必须是一个iddata.
包含输入和输出信号值的对象。
对于频域估计,数据
可以是以下之一:
必须均匀地采样估计数据。默认情况下,软件将模型的采样时间设置为估计数据的采样时间。
对于多实验数据,所有实验的样本次数和样本间行为必须匹配。
数据域确定您可以估计的模型类型。
时域或离散时间频域数据-连续时间和离散时间模型
连续时间频域数据-仅连续时间模型
NX.
-估计模型的顺序1:10
(默认)|正整数标量|正整数矢量|0.
估计模型的顺序,指定为非负整数或作为包含一系列正整数的向量。
如果您已经知道您希望估计模型有哪些顺序,请指定NX.
作为标量。
如果您想比较一系列潜在订单以选择最有效的订单,请在NX.
.SSEST.
创建汉克尔奇值图,显示系统中每个状态的相对能量贡献。Hankel奇异值较小的状态对模型精度的贡献较小,可以丢弃,影响较小。您保留的最高状态的索引是模型顺序。绘图窗口包含使用顺序的建议。您可以接受这个建议,也可以输入不同的订单。例如,请参见确定最佳估计模型顺序.
如果您未指定NX.
,或者如果您指定NX.
作为最好
,软件自动选择NX.
从范围内1:10
.
如果您正在标识一个静态系统,请设置NX.
来0.
.
选择
-估计选项ssestOptions
选项集评估选项,指定为ssestOptions
选项设置。指定的选项选择
包括:
估计目标
处理初始条件
正则化
用于估计的数值搜索方法
举例说明如何使用选择
, 看估计初始状态为独立参数和利用正则化估计状态空间模型.
init_sys
-配置SYS初始参数化的线性系统IDS.
模型|线性模型|结构体的初始参数化的线性系统sys
,指定为一个IDS.
模型或结构。你得到了init_sys
通过使用测量数据或通过直接构建执行估计。
如果init_sys
是一个IDS.
模型,SSEST.
使用的参数值init_sys
作为估计的初步猜测sys
.有关如何指定的信息IDS.
, 看用结构化参数化估计状态空间模型.SSEST.
荣誉对参数的限制init_sys
,例如固定系数和最小/最大界限。
使用结构
的属性init_sys
为。配置初始参数值和约束一种那B.那C那D., 和K.矩阵。例如:
你必须为所有矩阵参数指定有限的初始值。
如果init_sys
不是国家空间(IDS.
)模型,软件首先转换init_sys
到一个IDS.
模型。SSEST.
使用所得模型的参数作为估计的初始猜测。
如果您未指定选择
和init_sys
通过估计获得,软件使用估计选项init_sys.Report.OptionsUsed
.
例如,请参见使用结构化估计估计部分已知的状态空间模型.
指定可选的逗号分隔的对名称,值
论点。的名字
是参数名称和价值
是相应的价值。的名字
必须出现在引号内。可以以任意顺序指定多个名称和值对参数name1,value1,...,namen,valuen
.
sys = ssest(数据,nx,'ts',0.1)
'ts'
-估计模型的样本时间0.
(持续时间)(默认)|数据采样时间(数据。Ts
)|正标量估计模型的采样时间,指定为逗号分隔对'ts'
,要么0.
或正标量。
对于连续时间模型,请指定'ts'
作为0.
.
对于离散时间模型,请指定'ts'
作为存储在单位中的数据采样时间时髦
财产。
'inputdelay'
-输入延迟0.
(默认)|标量子|向量每个输入通道的输入延迟,指定为逗号分隔对组成'inputdelay'
和一个数字矢量。
对于连续时间模型,请指定'inputdelay'
在存储在中的时间单位时髦
财产。
对于离散时间模型,请指定'inputdelay'
在样品时间的整数倍数中Ts
.例如,设置'inputdelay'
来3.
指定三个采样周期的延迟。
适用于系统N你输入,集合inputdelay.
到一个N你-by-1矢量。此向量的每个条目是表示相应输入通道的输入延迟的数值。例如,请参见识别具有输入延迟的状态空间模型.
若要对所有信道应用相同的延迟,请指定inputdelay.
作为标量。
“形式”
-标准形的类型“免费”
(默认)|“模态”
|'伴侣'
|'典范'
规范形式的类型sys
,指定为逗号分隔的对,由“形式”
以及以下值之一:
“免费”
- 矩阵的所有条目一种那B.那C那D., 和K.都是免费的。
“模态”
- 获得sys
在模态形式。
'伴侣'
- 获得sys
在同伴的形式。
'典范'
- 获得sys
在可观察性规范形式中。
有关规范形式的定义,请参阅规范状态空间实现.
有关更多信息,请参见估计具有规范参数化的状态空间模型.例如,请参见修改形式,馈通和干扰模型矩阵.
“引线”
-从输入到输出的直接馈通0.
(默认)|1
|逻辑向量从输入到输出的直接馈通,指定为逗号分隔对“引线”
和长度的逻辑矢量N你,在那里N你是输入的数量。如果您指定威胁
作为逻辑标量,该值应用于所有输入。对于静态系统,软件总是假设“引线”
是1
.
例如,请参见修改形式,馈通和干扰模型矩阵.
'diskancemodel'
-选择估计时域噪声成分参数'估计'
(默认)|“没有”
选项以估计K矩阵中的时域噪声分量参数,指定为包括的逗号分隔对'diskancemodel'
以及以下值之一:
'估计'
-估计噪声分量。的K.矩阵被视为一个自由参数。
“没有”
- 不要估计噪声分量。的元素K.矩阵固定为零。
对于频域数据,软件假定'diskancemodel'
是“没有”
.
例如,请参见修改形式,馈通和干扰模型矩阵.
sys
—识别状态空间模型IDS.
模型确定的状态空间模型,作为一个返回IDS.
模型。这个模型是使用指定的模型顺序、延迟和估计选项创建的。
中存储了有关评估结果和所使用选项的信息报告
模型的财产。报告
有以下字段。
报告字段 | 描述 | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
地位 |
模型状态的总结,表明模型是通过构造创建的还是通过估计获得的。 |
||||||||||||||||||
方法 |
评估使用的命令。 |
||||||||||||||||||
Initimstate. |
如何在估计期间处理初始状态,作为以下值之一返回:
该领域特别有用 |
||||||||||||||||||
n4重量 |
通过N4SID算法用于奇异值分解的加权方案,作为以下值之一返回:
这个选项特别有用,当 |
||||||||||||||||||
n4horizon. |
N4SID算法使用的前向和后向预测视野,作为具有三个元素的行向量返回 - |
||||||||||||||||||
合身 |
估计的定量评估,作为结构返回。看损失函数和模型质量指标有关这些质量指标的更多信息。该结构具有以下字段:
|
||||||||||||||||||
参数 |
模型参数的估计值。 |
||||||||||||||||||
选择 |
选项集用于估计。如果未配置自定义选项,则这是一组默认选项。看 |
||||||||||||||||||
兰特泰特 |
估计开始时随机数流的状态。空的, |
||||||||||||||||||
DataUsed |
用于估计的数据的属性。结构中包含以下字段:
|
||||||||||||||||||
终止 |
用于预测误差最小化的迭代搜索的终止条件,作为具有以下字段的结构返回:
对于不需要数值搜索优化的估计方法, |
有关使用的更多信息报告
, 看估计报告.
X0.
-在估计期间计算的初始状态SSEST.
使用非迭代子空间方法或迭代有理函数估计方法初始化参数估计。然后利用预测误差最小化方法对参数值进行优化。有关更多信息,请参见pem
和ssestOptions
.
[1] Ljung,L.系统识别:用户理论, 第二版。上部马鞍河,NJ:Prentice Hall Ptr,1999。
的并行计算支持可用于估计金宝applsqnonlin.
搜索方法(需要最优化工具箱™)。要启用并行计算,请使用ssestOptions
, 放SearchMethod
来'lsqnonlin'
,并设置searchOptions.Advanced.UseCallall.
来真的
.
例如:
选择= ssestoptions;opt.SearchMethod =.'lsqnonlin';opt.SearchOptions.Advanced.USeCallelate = TRUE;
你点击一个链接对应于这个MATLAB命令:
通过在MATLAB命令窗口中输入命令来运行命令。Web浏览器不支持MATLAB命令。金宝app
你也可以从以下列表中选择一个网站:
选择中国网站(以中文或英文)以获取最佳网站性能。其他MathWorks国家网站未优化您的位置。