nlgreyest
估计非线性灰盒模型参数
描述
例子
非线性灰盒模型参数的选择性估计
加载数据。
负载(fullfile (matlabroot“工具箱”,“识别”,“iddemos”,“数据”,“twotankdata”));z = iddata (y, u, 0.2,“名字”,“两个坦克”);
该数据包含3000个双槽系统的输入输出数据样本。输入是施加在泵上的电压,输出是下槽的液位。
指定描述双槽系统模型结构的文件。该文件将状态导数和模型输出指定为时间、状态、输入和模型参数的函数。
文件名=“twotanks_c”;
指定型号订单[ny nu nx]。
Order = [1 1 2];
指定初始参数(Np = 6)。
参数= {0.5;0.0035;0.019;...9.81; 0.25; 0.016};
指定初始初始状态。
InitialStates = [0, 0.1];
指定为连续系统。
t = 0;
创建idnlgrey
模型对象。
nlgr = idnlgrey(文件名、秩序、参数、InitialStates Ts,...“名字”,“两个坦克”);
设置一些参数为常量。
nlgr.Parameters(1)。固定= true;nlgr.Parameters(4)。固定= true;nlgr.Parameters(5)。固定= true;
估计模型参数。
nlgr = nlgreyest (z, nlgr);
利用特定选项估计非线性灰盒模型
创建评估选项集nlgreyest
查看评估进度,并将最大迭代步骤设置为50。
选择= nlgreyestOptions;opt.Display =“上”;opt.SearchOptions.MaxIterations = 50;
加载数据。
负载(fullfile (matlabroot“工具箱”,“识别”,“iddemos”,“数据”,“dcmotordata”));z = iddata (y, u, 0.1,“名字”,直流电机的);
数据来自一个线性直流电动机,有一个输入(电压)和两个输出(角位置和角速度)。模型的结构由dcmotor_m.m
文件。
创建一个非线性灰盒模型。
file_name =“dcmotor_m”;Order = [2 1 2];参数= (1;0.28);InitialStates = (0, 0);init_sys = idnlgrey (file_name、秩序、参数InitialStates 0...“名字”,直流电机的);
使用估计选项估计模型参数。
sys = nlgreyest (z, init_sys,选择);
输入参数
数据
- - - - - -时间域数据
iddata
对象
时域估计数据,指定为iddata
对象。数据
有相同的输入和输出尺寸init_sys
.
如果指定InterSample
的属性数据
作为“提单”
(带宽受限)且模型为连续时间,软件将数据作为插值的一阶保持(foh)进行估计。
选项
- - - - - -估计选项
nlgreyestOptions
选项设置
非线性灰盒模型辨识的估计选项,指定为nlgreyestOptions
选项设置。
输出参数
sys
-估计非线性灰盒模型
idnlgrey
对象
结构相同的非线性灰盒模型init_sys
,作为idnlgrey
对象。的参数sys
的响应估计sys
匹配估计数据中的输出信号。
关于所使用的估计结果和选项的信息存储在报告
模型的属性。报告
具有以下字段:
报告字段 | 描述 | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
状态 |
模型状态的摘要,它表明模型是通过构建创建的还是通过估计获得的。 |
||||||||||||||||||
方法 |
模拟求解器的名称和估计期间使用的搜索方法。 |
||||||||||||||||||
适合 |
估计的定量评估,作为结构返回。看到损失函数和模型质量度量有关这些质量指标的更多信息。该结构有以下字段:
|
||||||||||||||||||
参数 |
模型参数估计值。具有以下字段的结构:
|
||||||||||||||||||
OptionsUsed |
用于估计的选项集。如果没有配置自定义选项,则这是一组默认选项。看到 |
||||||||||||||||||
RandState |
估计开始时随机数流的状态。空的, |
||||||||||||||||||
DataUsed |
用于估计的数据的属性-具有以下字段的结构:
|
||||||||||||||||||
终止 |
用于预测误差最小化的迭代搜索的终止条件,作为具有以下字段的结构返回:
对于不需要数值搜索优化的估计方法 |
有关更多信息,请参见评估报告.
扩展功能
自动并行支持
通过使用并行计算工具箱™自动并行运行计算来加速代码。
的并行计算支持可用于估计lsqnonlin
搜索方法(需要优化工具箱™)。要启用并行计算,请使用nlgreyestOptions
,设置SearchMethod
来“lsqnonlin”
,并设置SearchOptions.Advanced.UseParallel
来真正的
.
例如:
选择= nlgreyestOptions;opt.SearchMethod =“lsqnonlin”;opt.SearchOptions.Advanced.UseParallel = true;
版本历史
介绍了R2015a
MATLAB命令
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入命令来运行该命令。Web浏览器不支持MATLAB命令。
您也可以从以下列表中选择网站:
如何获得最佳的网站性能
选择中国网站(中文或英文)以获得最佳的网站表现。其他MathWorks国家网站没有针对从您的位置访问进行优化。