文档帮助中心
idnlhw
nlhw
估算的Hammerstein-Wiener模型
SYS = nlhw(数据,命令)
sys = nlhw(数据、订单、InputNL OutputNL)
SYS = nlhw(数据,LinModel)
sys = nlhw(数据、LinModel InputNL OutputNL)
SYS = nlhw(数据,sys0)
SYS = nlhw(___,选项)
例子
SYS= nlhw(数据,命令)创建并使用所述估计数据,模型订单和延迟,并且默认分段线性函数作为输入,并输出非线性估计估计的Hammerstein-Wiener模型。
SYS= nlhw(数据,命令)
SYS
数据
命令
SYS= nlhw(数据,命令,InputNL,OutputNL)指定InputNL和OutputNL分别作为输入和输出非线性估计量。
SYS= nlhw(数据,命令,InputNL,OutputNL)
InputNL
OutputNL
SYS= nlhw(数据,LinModel)使用一个线性模型来指定模型的阶数和延迟,以及输入和输出非线性估计器的默认分段线性函数。
SYS= nlhw(数据,LinModel)
LinModel
SYS= nlhw(数据,LinModel,InputNL,OutputNL)指定InputNL和OutputNL分别作为输入和输出非线性估计量。
SYS= nlhw(数据,LinModel,InputNL,OutputNL)
SYS= nlhw(数据,sys0)提炼或估计一个的Hammerstein-Wiener模型的参数,sys0,使用估计数据。
SYS= nlhw(数据,sys0)
sys0
使用此语法:
更新之前估计的模型的参数,以提高对估计数据的拟合。在这种情况下,估计算法使用的参数sys0作为初始猜测。
估计以前使用创建的模型的参数idnlhw构造函数。在此之前的估计,你可以配置使用点符号模型属性。
SYS= nlhw(___,选项)指定额外的模型估计选项。用选项与任何以前的语法。
SYS= nlhw(___,选项)
选项
全部折叠
负载iddata3M1 = nlhw(Z3,[4 2 1]);
加载数据。
负载twotankdata;Z = IDDATA(Y,U,0.2%,“名字”,“两舱系统”);Z1 = Z(1:1000);
具有0下限和5上限创建一个饱和对象。
InputNL =饱和度('LinearInterval',[0 5]);
无输出非线性的估计模型。
米= nlhw(Z1,[2 3 0],InputNL,[]);
生成自定义网络非线性需要一个用户定义的单元的功能的定义。
定义单元功能,并将其保存为gaussunit.m。
gaussunit.m
%2015年版权所有MathWorks公司功能并[f,G,A] = gaussunit(X)F = EXP(-x * X。);如果1 g = -2*x.*f;一个= 0.2;结束
属性创建自定义网络非线性gaussunit函数。
gaussunit
H = @gaussunit;CNET的= customnet(H);
加载估计数据。
估计使用自定义网络的Hammerstein-Wiener模型。
米= nlhw(Z1,[5 1 3],CNET,[]);
估计线性模型OE。
负载throttledata.matTR = getTrend(ThrottleData);Tr.OutputOffset = 15;DetrendedData =消除趋势(ThrottleData,TR);选择= oeOptions('焦点',“模拟”);线性模型= OE(DetrendedData,[1 2 1],优化);
估计哈默斯汀-维纳模型使用OE模型作为它的线性成分和饱和作为它的输出非线性。
SYS = nlhw(ThrottleData,线性模型,[]'饱和');
负载iddata1
通过构建的Hammerstein-Wiener模型idnlhw以限定的模型属性B和F。
B
F
sys0 = idnlhw ((2 2 0), [],'wavenet');sys0。B{1} = [0.8,1]; sys0.F{1} = [1,-1.2,0.5];
估计模型。
SYS = nlhw(Z1,sys0);
使用估计的Hammerstein-Wiener模型nlhw以限定的模型属性B和F。
sys2 = nlhw (z1 (2 2 0), [],'wavenet','B',{[0.8,1]},'F',{1,-1.2,0.5});
比较两个估计的模型,看看它们是等价的。
比较(Z1,SYS,'G'sys2,'R--');
估计一个Hammerstein-Wiener模型。
负载iddata3SYS = nlhw(Z3,[4 2 1],'sigmoidnet','wavenet');
细化模型,SYS。
sys = nlhw (z3、sys);
创建估计选项集nlhw到视野估计进展和最大迭代步骤设定为50。
选择= nlhwOptions;opt.Display =“上”;opt.SearchOptions。MaxIterations = 50;
加载数据并估计模型。
负载iddata3SYS = nlhw(Z3,[4 2 1],'sigmoidnet','盲区',选择);
IDDATA
时域估计数据,指定为IDDATA。
(nb nf nk)
顺序和线性子系统传递函数的延迟,指定为(nb nf nk)向量。
的尺寸命令:
对于SISO传递函数,命令是正整数的向量。
NB是零加1的数量,NF是极数,以及NK为输入延迟。
NB
NF
NK
对于具有MIMO传输函数nu输入和ny输出,命令是矩阵的向量。
nu
ny
NB,NF和NK是ny-通过-nu矩阵,其i j个条目指定从订单和传递函数的延迟j个输入到我个输出。
“pwlinear”
'sigmoidnet'
'wavenet'
'饱和'
'盲区'
'poly1d'
'unitgain'
输入静态非线性估计器,指定如下之一。
pwlinear
sigmoidnet
wavenet
饱和
死区
poly1d
[]
unitgain
customnet
指定字符载体,例如'sigmoidnet',创建具有默认设置的非线性估计对象。使用对象表示,而不是配置非线性估计的性能。
InputNL = wavenet;InputNL.NumberOfUnits = 10;
另外,使用与名称 - 值对的参数相关联的输入非线性估计功能。
InputNL = wavenet('单位的数量',10);
为nu输入通道,可以分别指定非线性估计用于通过设定每个输入通道InputNL到nu×1阵列非线性估计量。
InputNL = [sigmoidnet('单位的数量',5);死区([ - 1,2])]
输出静态非线性估计,指定为下列之一:
指定字符向量创建具有默认设置的非线性估计对象。使用对象表示,而不是配置非线性估计的性能。
OutputNL = sigmoidnet;OutputNL。NumberOfUnits = 10;
OutputNL = sigmoidnet('单位的数量',10);
为ny输出通道,您可以通过设置为每个输出通道分别指定非线性估计器OutputNL到ny×1阵列非线性估计量。要指定所有输出相同的非线性,指定单个输出非线性估计。
idpoly
中的难点
K
0
idtf
离散时间线性模型用于指定线性子系统,指定为以下一种:
输出误差(OE)结构的输入 - 输出多项式模型(idpoly)
状态空间模型,没有干扰分量(中的难点与K=0)
传递函数模型(idtf)
通常情况下,你使用估计模型OE,N4SID, 要么tfest。
OE
N4SID
tfest
的Hammerstein-Wiener模型,指定为idnlhw目的。sys0可以是:
先前创建的模型idnlhw指定模型属性。
使用先前估计的模型nlhw,你想用一个新的估计数据集进行更新。
你也可以改进sys0使用原始估计数据集。如果在数值搜索陷入代价函数的局部极小值时,先前的估计停止,则使用初始化到第一随机化的参数sys0。看到sys0.Report.Termination停止搜索的条件。使用初始化不能保证在进一步细化时得到更好的解决方案。
初始化
sys0.Report.Termination
nlhwOptions
估计选项的Hammerstein-Wiener模型识别,指定为nlhwOptions选项集。
估计Hammerstein-Wiener模型,返回作为一个idnlhw目的。该模型是使用指定模型订单和延迟,输入和输出的非线性估计,和估计选项估计。
关于所使用的估计结果和选项的信息存储在报告模型的属性。报告具有以下字段:
报告
状态
的模型状态,其指示该模型是否是由结构创建或通过估计获得摘要。
方法
使用估计命令。
适合
定量评估的估计,返回作为一个结构。看到损失函数和模型质量度量对这些质量度量的更多信息。该结构具有以下字段:
FitPercent
归根的模型的响应如何适合评价数据均方误差(NRMSE)测量,表示为百分比适合= 100(1-NRMSE)。
LossFcn
估计完成时损失函数的值。
MSE
模型的响应如何适合评价数据均方误差(MSE)的措施。
消防工程
该模型最终预测误差。
另类投资会议
原赤池信息量准则(AIC)模型质量的措施。
AICC
小样本大小的修正AIC。
NAIC
标准化AIC。
BIC
贝叶斯信息标准(BIC)。
参数
模型参数估计值。
OptionsUsed
用于估计选项设置。如果尚未配置自定义选项,这是一组的默认选项。看到nlhwOptions想要查询更多的信息。
RandState
随机数流在估计开始时的状态。空的,[],如果在估计期间未使用随机化。有关更多信息,请参见RNG在MATLAB®文档。
RNG
DataUsed
用于估计的数据,返回为具有以下字段的结构的属性:
名称
数据集的名称。
类型
数据类型。
长度
数据样本的数量。
TS
样品时间。
InterSample
输入采样间的行为,返回下列值之一:
“zoh”-零阶保持器保持样本之间的输入信号为分段常数。
“zoh”
'FOH'- 第一阶保持保持样本之间的分段线性输入信号。
'FOH'
'BL'- 带限行为指明所述连续时间输入信号具有零功率高于奈奎斯特频率。
'BL'
InputOffset
偏移估计在从时域输入数据中去除。对于非线性模型,它是[]。
OutputOffset
偏移估计在从时域输出数据中去除。对于非线性模型,它是[]。
终止
预测误差最小化迭代搜索的终止条件。结构具有以下字段:
WhyStop
原因终止数值搜索。
迭代
估计算法进行搜索迭代次数。
FirstOrderOptimality
∞ -搜索算法终止时梯度搜索向量的范数。
FcnCount
调用目标函数的次数。
UpdateNorm
在最后一次迭代的梯度搜索向量的模。省略当搜索方法'lsqnonlin'要么'fmincon'。
'lsqnonlin'
'fmincon'
LastImprovement
在最后一次迭代准则的改进,以百分比表示。省略当搜索方法'lsqnonlin'要么'fmincon'。
算法
算法使用'lsqnonlin'要么'fmincon'搜索方法。当使用其他的搜索方法略。
对于估计方法不需要数值搜索优化,终止字段是省略。
有关更多信息,请参见评估报告。
并行计算支持可用于利用估计金宝applsqnonlin搜索方法(需要优化工具箱™)。要启用并行计算,请使用nlhwOptions,设置SearchMethod至'lsqnonlin'和集SearchOptions.Advanced.UseParallel至真正。
lsqnonlin
SearchMethod
SearchOptions.Advanced.UseParallel
真正
例如:
选择= nlhwOptions;opt.SearchMethod ='lsqnonlin';opt.SearchOptions.Advanced.UseParallel = TRUE;
另类投资会议|customnet|死区|消防工程|goodnessOfFit|idnlhw|idnlhw / findop|初始化|linapp|线性化|N4SID|nlhwOptions|OE|pem|poly1d|pwlinear|饱和|sigmoidnet|tfest|unitgain|wavenet
goodnessOfFit
idnlhw / findop
linapp
线性化
pem
这个例子的修改版本的系统上存在。你要打开这个版本呢?
您点击了对应于以下MATLAB命令的链接:
在MATLAB命令窗口中输入它运行的命令。Web浏览器不支持MATLAB的命令。金宝app
选择一个网站,以获得翻译的内容,其中可看到当地的活动和优惠。根据您的位置,我们建议您选择:。
您还可以选择从下面的列表中的网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。
请联系您当地的办事处
得到审判现在