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];
指定为连续系统。
Ts = 0;
创建idnlgrey
模型对象。
nlgr = idnlgrey(文件名,顺序,参数,InitialStates,Ts,...“名字”,“两个坦克”);
设置一些参数为常量。
nlgr.Parameters(1)。Fixed = true;nlgr.Parameters(4)。Fixed = true;nlgr.Parameters(5)。Fixed = true;
估计模型参数。
NLGR = nlgreyest(z, NLGR);
使用特定选项估计非线性灰盒模型
为创建估计选项集nlgreyest
查看估计进度,并将最大迭代步骤设置为50。
opt = 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,Order,Parameters,InitialStates,0,...“名字”,直流电机的);
使用估计选项估计模型参数。
Sys = nlgreyest(z,init_sys,opt);
输入参数
数据
- - - - - -时域数据
iddata
对象
时域估计数据,指定为iddata
对象。数据
有相同的输入和输出尺寸init_sys
.
如果您指定InterSample
的属性数据
作为“提单”
(带限)且模型是连续时间的,软件将数据作为一阶保持器(foh)进行插值估计。
选项
- - - - - -估计选项
nlgreyestOptions
选项设置
非线性灰盒模型识别的估计选项,指定为nlgreyestOptions
选项设置。
输出参数
sys
-估计非线性灰盒模型
idnlgrey
对象
与结构相同的非线性灰盒模型init_sys
,作为idnlgrey
对象。的参数sys
估计这样的反应sys
在估计数据中匹配输出信号。
有关所使用的估计结果和选项的信息存储在报告
模型的属性。报告
具有以下字段:
报告字段 | 描述 | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
状态 |
模型状态的总结,表明模型是通过构造创建的还是通过估计获得的。 |
||||||||||||||||||
方法 |
模拟求解器的名称和估计期间使用的搜索方法。 |
||||||||||||||||||
适合 |
估计的定量评估,作为结构返回。看到损失函数和模型质量度量有关这些质量度量的更多信息。该结构有以下字段:
|
||||||||||||||||||
参数 |
模型参数估计值。结构,使用以下字段:
|
||||||||||||||||||
OptionsUsed |
用于估计的选项集。如果没有配置自定义选项,则这是一组默认选项。看到 |
||||||||||||||||||
RandState |
估计开始时随机数流的状态。空的, |
||||||||||||||||||
DataUsed |
用于估计的数据的属性-具有以下字段的结构:
|
||||||||||||||||||
终止 |
用于预测误差最小化的迭代搜索的终止条件,作为具有以下字段的结构返回:
对于不需要数值搜索优化的估计方法,请使用 |
有关更多信息,请参见评估报告.
扩展功能
自动平行支撑金宝app
通过使用并行计算工具箱™自动并行运行计算来加速代码。
并行计算支持可用于使用金宝applsqnonlin
搜索方法(需要优化工具箱™)。要启用并行计算,请使用nlgreyestOptions
,设置SearchMethod
来“lsqnonlin”
,并设置SearchOptions.Advanced.UseParallel
来真正的
.
例如:
opt = nlgreyestOptions;opt.SearchMethod =“lsqnonlin”;opt.SearchOptions.Advanced.UseParallel = true;
版本历史
在R2015a中引入
Abrir比如
Tiene una versión modificada de este ejemplo。¿Desea abrir este ejemplo con sus modificaciones?
MATLAB突击队
Ha hecho clic en unenlace que对应一个este commando de MATLAB:
弹射突击队introduciéndolo en la ventana de commandos de MATLAB。Los navegadores web no permission comandos de MATLAB。
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。