估计状态空间模型使用时域或频域数据
估计一个状态空间模型,并将其响应与测量的输出进行比较。
加载输入输出数据,该数据存储在iddata
对象。
负载iddata1z1
估计一个四阶状态空间模型。
nx = 4;sys = ss (z1, nx);
将模拟模型的响应与测量输出进行比较。
比较(z1, sys)
图中显示,模拟模型与估计数据的拟合率大于70%。
的方法可以查看关于估计的更多信息中的难点
财产sys。报告
.
sys。报告
方法:'SSEST' InitialState: 'zero' N4Weight: 'CVA' N4Horizon: [6 10 10] Fit: [1x1 struct] Parameters: [1x1 struct] OptionsUsed: [1x1 idoptions.]sest] RandState: [] DataUsed: [1x1 struct]终止:[1x1 struct]
例如,查找有关终止条件的更多信息。
sys.Report.Termination
ans =结构体字段:为什么停:“直线搜索在搜索方向上没有改善。”Iterations: 7 FirstOrderOptimality: 85.9759 FcnCount: 123 UpdateNorm: 13.2880 lasttimimprovement: 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矩阵中加入馈通项,在K矩阵中消除干扰模型估计。
负载输入输出数据并估计一个四阶系统使用党卫军
默认选项。
负载iddata1z1sys1 = ss (z1, 4);
指定伴随形式并比较一个
带有默认值的矩阵一个
矩阵。
sys2 = ss (z1 4“形式”,“同伴”);A1 = sys1。一个
A1 =4×40.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“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
.找出哪种方法党卫军
的价值InitialState
在sys。Repor
t。
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);
估计一个非正则状态空间模型。
选择= ssestOptions (“SearchMethod”,“lm”);m = ss (eData 5“形式”,“模态”,“DisturbanceModel”,“没有”,“t”、eData.Ts选择);
估计正则状态空间模型。
opt.Regularization.Lambda = 10;=党卫军先生(eData 5“形式”,“模态”,“DisturbanceModel”,“没有”,“t”、eData.Ts选择);
将模型输出与估计数据进行比较。
比较(eData, m先生);
比较模型的脉冲响应。
冲动(trueSys, m先生,50);传奇(“trueSys”,“米”,“先生”);
估计一个测量输入-输出数据的状态空间模型。配置参数约束和初始值,以便使用状态空间模型进行估计。
创建一个中的难点
模型指定初始参数进行估计。
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
创建一个中的难点
无状态扰动元的模型。
使用结构
属性以修复某些模型参数的值。配置模型以便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
- - - - - -配置系统初始参数的线性系统中的难点
模型|线性模型|结构的初始参数化的线性系统sys
,指定为中的难点
模型或结构。你获得init_sys
通过使用测量数据或直接构建来进行估算。
如果init_sys
是一个中的难点
模型中,党卫军
使用的参数值init_sys
作为最初的估计sys
.查询如何指定的信息中的难点
,请参阅用结构化参数化估计状态空间模型.党卫军
荣誉约束的参数init_sys
,例如固定系数和最小/最大界限。
使用结构
的属性init_sys
为。配置初始参数值和约束一个,B,C,D,K矩阵。例如:
你必须为所有矩阵参数指定有限的初始值。
如果init_sys
不是状态空间(中的难点
)模型,软件先转换init_sys
到一个中的难点
模型。党卫军
使用结果模型的参数作为估计的初始猜测。
如果没有指定选择
和init_sys
是通过估计得到的,那么软件使用从init_sys.Report.OptionsUsed
.
例如,请参见用结构化估计估计部分已知状态空间模型.
指定可选的逗号分隔的对名称,值
参数。的名字
参数名和价值
为对应值。的名字
必须出现在引号内。可以以任意顺序指定多个名称和值对参数Name1, Value1,…,的家
.
sys = ss(数据、nx Ts, 0.1)
Ts
- - - - - -估计模型的样本时间0
(持续时间)(默认)|数据采样时间(数据。Ts
)|积极的标量估计模型的样本时间,指定为逗号分隔对,由“t”
,要么0
或者一个正标量。
对于连续时间模型,指定“t”
作为0
.
对于离散时间模型,指定“t”
作为数据样本,时间存储在单元中TimeUnit
财产。
InputDelay
- - - - - -输入延迟0
(默认)|标量|向量每个输入通道的输入延迟,指定为逗号分隔对组成“InputDelay”
和一个数字向量。
对于连续时间模型,指定“InputDelay”
在时间单位中存储TimeUnit
财产。
对于离散时间模型,指定“InputDelay”
采样时间的整数倍Ts
.例如,设置“InputDelay”
来3.
指定三个采样周期的延迟。
对于一个系统Nu输入,设置InputDelay
到一个Nu1的向量。这个向量的每一项都是一个数值,表示对应输入通道的输入延迟。例如,请参见识别具有输入延迟的状态空间模型.
若要对所有信道应用相同的延迟,请指定InputDelay
作为一个标量。
形式
- - - - - -标准形的类型“免费”
(默认)|“模态”
|“同伴”
|“规范”
的标准形式的类型sys
,指定为逗号分隔的对,由“形式”
以及下列值之一:
“免费”
-矩阵的所有项一个,B,C,D,K都是免费的。
“模态”
——获得sys
在模态形式。
“同伴”
——获得sys
在同伴的形式。
“规范”
——获得sys
在可观察性规范形式中。
有关规范形式的定义,请参见状态空间实现规范化.
有关更多信息,请参见用规范参数化估计状态空间模型.例如,请参见修改形式、馈通和干扰模型矩阵.
直通的
- - - - - -直接从输入到输出0
(默认)|1
|逻辑向量从输入到输出的直接馈通,指定为逗号分隔对组成“引线”
一个长度的逻辑向量Nu,在那里Nu为输入的个数。如果您指定直通的
作为逻辑标量,该值应用于所有输入。对于静态系统,软件总是假定“引线”
是1
.
例如,请参见修改形式、馈通和干扰模型矩阵.
DisturbanceModel
- - - - - -选择估计时域噪声成分参数“估计”
(默认)|“没有”
选择估计时域噪声分量参数的K矩阵,指定为逗号分隔对组成“DisturbanceModel”
以及下列值之一:
“估计”
-估计噪声分量。的K矩阵被视为一个自由参数。
“没有”
—不要估计噪声分量。这些元素K矩阵在0处是固定的。
对于频域数据,软件假设“DisturbanceModel”
是“没有”
.
例如,请参见修改形式、馈通和干扰模型矩阵.
sys
—识别状态空间模型中的难点
模型标识的状态空间模型,返回为中的难点
模型。这个模型是使用指定的模型顺序、延迟和估计选项创建的。
中存储了有关评估结果和所使用选项的信息报告
模型的属性。报告
具有以下字段。
报告字段 | 描述 | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
状态 |
模型状态的总结,表明模型是通过构造创建的还是通过估计获得的。 |
||||||||||||||||||
方法 |
评估使用的命令。 |
||||||||||||||||||
InitialState |
在评估期间如何处理初始状态,返回如下值之一:
这个字段特别有用 |
||||||||||||||||||
N4Weight |
N4SID算法用于单值分解的加权方案,返回如下值之一:
这个选项特别有用,当 |
||||||||||||||||||
N4Horizon |
N4SID算法使用的前向和后向预测视野,返回为带有三个元素的行向量- |
||||||||||||||||||
适合 |
定量评估的估计,返回作为一个结构。看到损失函数和模型质量度量有关这些质量度量标准的更多信息。该结构有以下字段:
|
||||||||||||||||||
参数 |
模型参数估计值。 |
||||||||||||||||||
OptionsUsed |
用于估计的选项集。如果没有配置自定义选项,这是一组默认选项。看到 |
||||||||||||||||||
RandState |
估计开始时随机数流的状态。空的, |
||||||||||||||||||
DataUsed |
用于估计的数据的属性。结构中包含以下字段:
|
||||||||||||||||||
终止 |
用于最小化预测误差的迭代搜索的终止条件,返回为具有以下字段的结构:
对于不需要数值搜索优化的估计方法 |
,以获取更多使用信息报告
,请参阅评估报告.
x0
-在估计期间计算的初始状态党卫军
使用非迭代子空间方法或迭代有理函数估计方法初始化参数估计。然后利用预测误差最小化方法对参数值进行优化。有关更多信息,请参见pem
和ssestOptions
.
[1] Ljung, L。系统识别:用户的理论,第二版。上鞍河,NJ: Prentice Hall PTR, 1999。
的并行计算支持可用于估计金宝applsqnonlin
搜索方法(需要最优化工具箱™)。要启用并行计算,请使用ssestOptions
,设置SearchMethod
来“lsqnonlin”
,并设置SearchOptions.Advanced.UseParallel
来真正的
.
例如:
选择= ssestOptions;opt.SearchMethod =“lsqnonlin”;opt.SearchOptions.Advanced.UseParallel = true;
你点击一个链接对应于这个MATLAB命令:
通过在MATLAB命令窗口中输入命令来运行命令。Web浏览器不支持MATLAB命令。金宝app
你也可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。