党卫军
状态空间模型的估计使用时域或频域数据
语法
描述
状态空间模型估计
例子
状态空间模型
估计和比较状态空间模型与测量的响应输出。
负载的输入-输出数据,存储在一个iddata
对象。
负载iddata1z1
估计一个四阶状态空间模型。
nx = 4;sys = ss (z1, nx);
比较模拟模型与测量的输出响应。
比较(z1, sys)
情节表明,适合模拟模型和估计数据之间的比例大于70%。
您可以查看更多信息探索的估计中的难点
财产sys.Report
。
sys.Report
ans =状态:估计用ss预测集中的方法:“党卫军”InitialState:“零”N4Weight:“脑血管意外”N4Horizon:[6 10 10]适合:[1 x1 struct]参数:[1 x1 struct] OptionsUsed: [1 x1 idoptions。党卫军]RandState: [] DataUsed: [1 x1 struct]终止:[1 x1 struct]
例如,找到更多的信息关于终止条件。
sys.Report.Termination
ans =结构体字段:WhyStop:“不改进沿着线搜索的搜索方向。迭代:7 FirstOrderOptimality: 85.9759 FcnCount: 123 UpdateNorm: 9.7655 LastImprovement: 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);
修改表单、引线和Disturbance-Model矩阵
修改规范形式的A、B和C矩阵,包括引线的D矩阵,并消除disturbance-model K矩阵的估计。
负载输入-输出数据和估计使用四阶系统党卫军
默认选项。
负载iddata1z1sys1 = ss (z1, 4);
指定伙伴形式和比较一个
矩阵用默认一个
矩阵。
sys2 = ss (z1 4“形式”,“同伴”);A1 = sys1.A
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.A
A2 =4×4103-0.9547×-7.1122 - 0.0010 0 0 0 0 0 0 0 0 0 -0.3263 0.0010 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);
估计一个unregularized状态空间模型。
选择= ssestOptions (“SearchMethod”,“lm”);m = ss (eData 5“形式”,“模态”,“DisturbanceModel”,“没有”,“t”、eData.Ts选择);
估计一个正规化的状态空间模型。
opt.Regularization。λ= 10;=党卫军先生(eData 5“形式”,“模态”,“DisturbanceModel”,“没有”,“t”、eData.Ts选择);
比较模型输出与估计数据。
比较(eData, m先生);
比较脉冲响应模型。
冲动(trueSys, m先生,50);传奇(“trueSys”,“米”,“先生”);
状态空间模型估计部分已知使用结构化的评估
估计的状态空间模型来衡量投入产出数据。配置参数约束和初始值估计状态空间模型使用。
创建一个中的难点
指定的初始参数估计模型。
一个= 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);x0 = (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.A
是免费的(真正的
)或固定(假
)。
状态空间模型加载测量数据和估计使用指定的参数约束和初始值init_sys
。
负载iddata2z2;sys = ss (z2, init_sys);
的估计参数sys
满足指定的约束init_sys
。
输入参数
数据
- - - - - -估计的数据
iddata
对象|的朋友
对象|idfrd
对象
估计数据,指定为一个iddata
对象,一个的朋友
对象,或一个idfrd
对象。
对时域估计,数据
必须是一个iddata
对象包含输入和输出信号值。
对频域估计,数据
可以是下列之一:
估计数据必须均匀采样。默认情况下,软件集的样本时间模型的样本时间估计数据。
对于multiexperiment数据,所有的样品时间和intersample行为实验必须匹配。
数据的类型决定了模型的域可以估计。
时域或离散频域数据——连续时间和离散时间模型
连续时间频率域数据——连续时间模型
nx
- - - - - -的估计模型
1:10
(默认)|正整数标量|正整数向量|0
的估计模型,指定为一个非负整数或向量包含一个正整数的范围。
如果你已经知道你想要什么顺序估计模型,指定
nx
作为一个标量。如果你想比较一系列潜在的订单选择最有效的为你的估计模型,指定的范围
nx
。党卫军
创建一个汉克尔奇异值图,显示了系统中每个状态的相对能量的贡献。州汉克尔相对较小奇异值贡献小模型的准确性,可以丢弃的影响不大。你保留的最高境界是指数模型。图窗口包含要使用的建议。你可以接受这个建议或进入一个不同的顺序。例如,看到的确定最优估计模型。如果你不指定
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,…,以=家
,在那里的名字
参数名称和吗价值
相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。
R2021a之前,用逗号来分隔每一个名称和值,并附上的名字
在报价。
例子:sys = ss(数据、nx Ts, 0.1)
Ts
- - - - - -样品的时间估计模型
0
(持续时间)(默认)|样本的数据(data.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
可观测性规范形式。
定义的规范形式,明白了状态空间实现规范化。
有关更多信息,请参见估计状态空间模型与标准参数化。例如,看到的修改表单、引线和Disturbance-Model矩阵。
直通的
- - - - - -直接从输入到输出引线
0
(默认)|1
|逻辑向量
直接从输入到输出引线,指定为逗号分隔组成的“引线”
和一个逻辑向量的长度Nu,在那里Nu输入的数量。如果您指定直通的
作为一个逻辑标量,值是适用于所有的输入。对于静态系统,软件总是假定“引线”
是1
。
例如,看到的修改表单、引线和Disturbance-Model矩阵。
DisturbanceModel
- - - - - -估计时域噪声组件参数选项
“估计”
(默认)|“没有”
选择K矩阵估计时域噪声组件参数,指定为逗号分隔组成的“DisturbanceModel”
和下列值之一:
“估计”
——估计噪声分量。的K矩阵视为一个自由参数。“没有”
——不估计噪声组件。的元素K矩阵是固定在零。
对于频域数据,软件假定“DisturbanceModel”
是“没有”
。
例如,看到的修改表单、引线和Disturbance-Model矩阵。
输出参数
sys
状态空间模型,确定
中的难点
模型
标识,状态空间模型作为一个返回中的难点
模型。这个模型是使用指定的模型创建的订单,延误,估计选项。
评估结果和信息存储在选择使用报告
模型的属性。报告
有以下字段。
报告字段 | 描述 | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
状态 |
总结模型的状态,这表明模型是由建设或是否得到评估。 |
||||||||||||||||||
方法 |
评估使用的命令。 |
||||||||||||||||||
InitialState |
在估计初始状态是如何处理,返回以下值之一:
这个字段时特别有用 |
||||||||||||||||||
N4Weight |
N4SID加权方案用于奇异值分解的算法,返回以下值之一:
这个选项的时候尤其有用 |
||||||||||||||||||
N4Horizon |
向前和向后预测视野N4SID所使用的算法,用三个元素——作为一个行向量返回 |
||||||||||||||||||
适合 |
定量评估的评估,作为一个结构返回。看到损失函数和模型质量的指标对这些质量标准的更多信息。结构有以下字段:
|
||||||||||||||||||
参数 |
估计模型参数的值。 |
||||||||||||||||||
OptionsUsed |
选项设置用于估计。如果没有配置自定义选项,这是一组缺省选项。看到 |
||||||||||||||||||
RandState |
的随机数流的估计。空的, |
||||||||||||||||||
DataUsed |
属性的数据用于估计。结构有以下字段:
|
||||||||||||||||||
终止 |
迭代终止条件搜索用于预测误差最小化,作为结构返回以下字段:
估计方法不需要数值搜索优化 |
使用的更多信息报告
,请参阅评估报告。
x0
——初始状态估计计算
矩阵列向量|
算法
党卫军
初始化参数估计使用noniterative子空间方法或迭代的有理函数估计方法。然后改进参数值使用预测误差最小化的方法。有关更多信息,请参见pem
和ssestOptions
。
引用
[1]Ljung, L。为用户系统标识:理论,第二版。上台北:Prentice Hall PTR, 1999。
扩展功能
自动并行支持金宝app
加速代码通过自动运行并行计算使用并行计算工具箱™。
可用于估计使用并行计算支持金宝applsqnonlin
搜索方法(需要优化工具箱™)。要启用并行计算,使用ssestOptions
,设置SearchMethod
来“lsqnonlin”
,并设置SearchOptions.Advanced.UseParallel
来真正的
。
例如:
选择= ssestOptions;opt.SearchMethod =“lsqnonlin”;opt.SearchOptions.Advanced。UseParallel = true;
版本历史
Beispiel offnen
您有一张这本Beispiels geanderte版本。您这本Beispiel麻省理工学院古老Anderungen offnen吗?
MATLAB-Befehl
您有窗户的链接geklickt,汪汪汪der diesem MATLAB-Befehl entspricht:
在das MATLAB-Befehlsfenster Fuhren您窝Befehl军队Eingabe来自。浏览器unterstutzen MATLAB-Befehle。
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。