主要内容gydF4y2Ba

customnetgydF4y2Ba

自定义网络函数的非线性ARX和Hammerstein-Wiener模型gydF4y2Ba

描述gydF4y2Ba

一个gydF4y2BacustomnetgydF4y2Ba对象实现了一个定制的网络函数,并且是一个用于估计非线性ARX和非线性Hammerstein-Weiner模型的非线性映射函数。映射函数,也称为gydF4y2Ba非线性gydF4y2Ba,使用线性权值、偏移量和非线性函数的组合来计算其输出。非线性函数包含对输入的脊组合(加权线性和)操作的自定义单位函数。gydF4y2Ba

在数学上,gydF4y2BacustomnetgydF4y2Ba网络是一个映射函数gydF4y2Ba米gydF4y2Ba输入gydF4y2BaXgydF4y2Ba(gydF4y2BatgydF4y2Ba)= [gydF4y2BaxgydF4y2Ba(gydF4y2BatgydF4y2Ba1gydF4y2Ba),gydF4y2BaxgydF4y2Ba2gydF4y2Ba(gydF4y2BatgydF4y2Ba),......,gydF4y2BaxgydF4y2Ba米gydF4y2Ba(gydF4y2BatgydF4y2Ba)gydF4y2BaTgydF4y2Ba到标量输出gydF4y2BaygydF4y2Ba(gydF4y2BatgydF4y2Ba),使用以下关系:gydF4y2Ba

ygydF4y2Ba (gydF4y2Ba tgydF4y2Ba )gydF4y2Ba =gydF4y2Ba ygydF4y2Ba 0gydF4y2Ba +gydF4y2Ba (gydF4y2Ba ΧgydF4y2Ba (gydF4y2Ba tgydF4y2Ba )gydF4y2Ba -gydF4y2Ba XgydF4y2Ba ¯gydF4y2Ba )gydF4y2Ba TgydF4y2Ba PgydF4y2Ba lgydF4y2Ba +gydF4y2Ba 年代gydF4y2Ba (gydF4y2Ba ΧgydF4y2Ba (gydF4y2Ba tgydF4y2Ba )gydF4y2Ba )gydF4y2Ba

这里:gydF4y2Ba

  • XgydF4y2Ba(gydF4y2BatgydF4y2Ba) 是一个gydF4y2Ba米gydF4y2Ba-输入的1倍向量,或gydF4y2Ba回归因子选择gydF4y2Ba,意思是gydF4y2Ba ΧgydF4y2Ba ¯gydF4y2Ba .gydF4y2Ba

  • ygydF4y2Ba0gydF4y2Ba是输出偏移量,标量。gydF4y2Ba

  • PgydF4y2Ba是一个gydF4y2Ba米gydF4y2Ba-借-gydF4y2BapgydF4y2Ba投影矩阵,其中gydF4y2Ba米gydF4y2Ba是回归的数量,是gydF4y2BapgydF4y2Ba为线性权值的个数。gydF4y2Ba米gydF4y2Ba必须大于或等于gydF4y2BapgydF4y2Ba.gydF4y2Ba

  • lgydF4y2Ba是一个gydF4y2BapgydF4y2Ba-1的1个重量矢量。gydF4y2Ba

  • 年代gydF4y2Ba(gydF4y2BaXgydF4y2Ba)是扩张和翻译的自定义单元功能的总和。单位函数的总数被称为gydF4y2Ba件数gydF4y2BangydF4y2Ba的网络。gydF4y2Ba

对于单位函数术语的定义gydF4y2Ba年代gydF4y2Ba(gydF4y2BaXgydF4y2Ba) , 看gydF4y2Ba更多关于gydF4y2Ba.gydF4y2Ba

使用gydF4y2BacustomnetgydF4y2Ba作为价值gydF4y2Ba输出FCNgydF4y2Ba财产的财产gydF4y2BaidnlarxgydF4y2Ba模型或gydF4y2Ba输入非线性gydF4y2Ba和gydF4y2Ba输出线性gydF4y2Ba属性A.gydF4y2Baidnlw.gydF4y2Ba目的。例如,指定gydF4y2BacustomnetgydF4y2Ba当你估计gydF4y2BaidnlarxgydF4y2Ba使用以下命令建模。gydF4y2Ba

sys = nlarx(数据、解释变量customnet)gydF4y2Ba
什么时候gydF4y2Banlarx.gydF4y2Ba估计模型,它本质上是估计模型的参数gydF4y2BacustomnetgydF4y2Ba函数。gydF4y2Ba

您可以配置gydF4y2BacustomnetgydF4y2Ba用于禁用组件和修复参数的函数。若要忽略线性组件,请设置gydF4y2Balinearfcn.use.gydF4y2Ba到gydF4y2Ba假gydF4y2Ba. 若要忽略偏移,请设置gydF4y2Baoffset.use.USE.gydF4y2Ba到gydF4y2Ba假gydF4y2Ba.为线性函数和偏移指定已知值,请设置其gydF4y2Ba价值gydF4y2Ba直接属性并设置相应的gydF4y2Ba自由的gydF4y2Ba属性来gydF4y2Ba假gydF4y2Ba.使用gydF4y2Ba评估gydF4y2Ba计算给定输入向量的函数输出。gydF4y2Ba

创建gydF4y2Ba

描述gydF4y2Ba

例子gydF4y2Ba

CgydF4y2Ba=客户网(gydF4y2BaHgydF4y2Ba)gydF4y2Ba使用函数句柄使用用户定义的单位函数创建非线性映射对象gydF4y2BaHgydF4y2Ba.gydF4y2BaHgydF4y2Ba必须指向窗体的函数gydF4y2Ba[f,g,a] = function_name(x)gydF4y2Ba哪里gydF4y2BafgydF4y2Ba是函数的值,gydF4y2Bag = df / dxgydF4y2Ba, 和gydF4y2Ba一个gydF4y2Ba单位功能激活范围gydF4y2Ba[-a]gydF4y2Ba在哪里gydF4y2BaggydF4y2Ba它显著地非零。Hammerstein-Wiener模型要求自定义函数只有一个输入和一个输出。gydF4y2Ba

年代gydF4y2Ba=客户网(gydF4y2BaHgydF4y2Ba,gydF4y2Banumunits.gydF4y2Ba)gydF4y2Ba指定单元函数的个数gydF4y2Banumunits.gydF4y2Ba.gydF4y2Ba

年代gydF4y2Ba=客户网(gydF4y2BaHgydF4y2Ba,gydF4y2Banumunits.gydF4y2Ba,gydF4y2BaUselinearfcn.gydF4y2Ba)gydF4y2Ba指定该函数是否使用线性函数作为子组件。gydF4y2Ba

例子gydF4y2Ba

年代gydF4y2Ba=客户网(gydF4y2BaHgydF4y2Ba,gydF4y2Banumunits.gydF4y2Ba,gydF4y2BaUselinearfcn.gydF4y2Ba,gydF4y2BaUseOffsetgydF4y2Ba)gydF4y2Ba指定函数是否使用偏移量项gydF4y2BaygydF4y2Ba0gydF4y2Ba参数gydF4y2Ba

输入参数gydF4y2Ba

全部展开gydF4y2Ba

指向窗体的自定义函数的函数句柄gydF4y2Ba[f,g,a] = function_name(x)gydF4y2Ba,指定为函数句柄。的函数gydF4y2BaHgydF4y2Ba指向的点必须向量化。也就是说,对于一个向量或矩阵gydF4y2BaxgydF4y2Ba,输出参数gydF4y2BafgydF4y2Ba和gydF4y2BaggydF4y2Ba必须具有与相同的尺寸gydF4y2BaxgydF4y2Ba当逐元素计算时。gydF4y2Ba

此参数设置了gydF4y2BaC.NonlinearFcn.UnitFcngydF4y2Ba财产。gydF4y2Ba

单位数,指定为正整数。gydF4y2Banumunits.gydF4y2Ba确定自定义单元函数的数量。gydF4y2Ba

此参数设置了gydF4y2BaC.NonlinearFcn.NumberOfUnitsgydF4y2Ba财产。gydF4y2Ba

使用线性函数子组件的选项,指定为gydF4y2Ba真的gydF4y2Ba或者gydF4y2Ba假gydF4y2Ba. 此参数设置gydF4y2Bac.linearfcn.use.gydF4y2Ba财产。gydF4y2Ba

使用偏移项的选项,指定为gydF4y2Ba真的gydF4y2Ba或者gydF4y2Ba假gydF4y2Ba. 此参数设置gydF4y2BaC.Offset.UsegydF4y2Ba财产。gydF4y2Ba

性质gydF4y2Ba

全部展开gydF4y2Ba

用于估计的信号的输入信号信息,指定为gydF4y2Ba米gydF4y2Ba特定财产的值,其中gydF4y2Ba米gydF4y2Ba是输入信号的数量。的gydF4y2Ba输入gydF4y2Ba每个输入信号的属性如下:gydF4y2Ba

  • 的名字gydF4y2Ba-输入信号的名称,指定为1-by-gydF4y2Ba米gydF4y2Ba字符串或字符数组,其中gydF4y2Ba米gydF4y2Ba是输入的数量gydF4y2Ba

  • 卑鄙gydF4y2Ba—输入信号的平均值,指定为数字标量gydF4y2Ba

  • 范围gydF4y2Ba- 输入信号的范围,指定为2-by-gydF4y2Ba米gydF4y2Ba包含最小值和最大值的数字数组gydF4y2Ba

输出信号信息,指定为特定属性值。的gydF4y2Ba输出gydF4y2Ba属性如下:gydF4y2Ba

  • 的名字gydF4y2Ba-输出信号的名称,指定为字符串或字符数组gydF4y2Ba

  • 卑鄙gydF4y2Ba-输出信号的平均值,指定为数字标量gydF4y2Ba

  • 范围gydF4y2Ba—输出信号的范围,指定为2乘1的数字数组,包含最小值和最大值。gydF4y2Ba

线性函数的参数,规定如下:gydF4y2Ba

  • 使用gydF4y2Ba- 选项要在自定义网络中使用线性函数,指定为标量逻辑。默认值为gydF4y2Ba真的gydF4y2Ba.gydF4y2Ba

  • 价值gydF4y2Ba-组成的线性权重gydF4y2BalgydF4y2Ba',指定为1-by-gydF4y2BapgydF4y2Ba矢量。gydF4y2Ba

  • 输入投影gydF4y2Ba- 输入投影矩阵gydF4y2BaPgydF4y2Ba,指定为一个gydF4y2Ba米gydF4y2Ba-借-gydF4y2BapgydF4y2Ba矩阵,转换减少的长度的输入向量gydF4y2Ba米gydF4y2Ba进入长度的矢量gydF4y2BapgydF4y2Ba.对于Hammerstein-Wiener型号,gydF4y2Ba输入投影gydF4y2Ba等于gydF4y2Ba1gydF4y2Ba.gydF4y2Ba

  • 自由的gydF4y2Ba- 更新条目的选项gydF4y2Ba价值gydF4y2Ba在估计期间,指定为1-by-gydF4y2BapgydF4y2Ba逻辑向量。软件是为了纪念gydF4y2Ba自由的gydF4y2Ba仅在启动值的情况下规范gydF4y2Ba价值gydF4y2Ba是有限的。默认值为gydF4y2Ba真的gydF4y2Ba.gydF4y2Ba

  • 最低限度gydF4y2Ba-最小界限gydF4y2Ba价值gydF4y2Ba,指定为1-by-gydF4y2BapgydF4y2Ba矢量。如果gydF4y2Ba最低限度gydF4y2Ba用有限值和起始值指定gydF4y2Ba价值gydF4y2Ba是有限的,软件强制模型估计期间的最小界限。gydF4y2Ba

  • 最大限度gydF4y2Ba-上的最大界gydF4y2Ba价值gydF4y2Ba,指定为1-by-gydF4y2BapgydF4y2Ba矢量。如果gydF4y2Ba最大限度gydF4y2Ba用有限值和起始值指定gydF4y2Ba价值gydF4y2Ba是有限的,然后软件在模型估计期间强制最大界限。gydF4y2Ba

  • selectedInputIndex.gydF4y2Ba- 指数gydF4y2BacustomnetgydF4y2Ba输入(见gydF4y2Ba输入。的名字gydF4y2Ba)作为线性函数的输入,指定为1 × -gydF4y2BangydF4y2BargydF4y2Ba整数矢量,在哪里gydF4y2BangydF4y2BargydF4y2Ba为输入的个数。对于非线性ARX模型gydF4y2Ba回归用法gydF4y2Ba属性确定这些索引。对于Hammerstein-Wiener模型,gydF4y2BaselectedInputIndex.gydF4y2Ba总是gydF4y2Ba1gydF4y2Ba.gydF4y2Ba

该软件计算输出gydF4y2Balinearfcn.gydF4y2Ba作为gydF4y2Ba FgydF4y2Ba lgydF4y2Ba (gydF4y2Ba tgydF4y2Ba )gydF4y2Ba =gydF4y2Ba (gydF4y2Ba ΧgydF4y2Ba (gydF4y2Ba tgydF4y2Ba )gydF4y2Ba -gydF4y2Ba XgydF4y2Ba ¯gydF4y2Ba )gydF4y2Ba TgydF4y2Ba PgydF4y2Ba lgydF4y2Ba )gydF4y2Ba .gydF4y2Ba

抵销项的参数,规定如下:gydF4y2Ba

  • 使用gydF4y2Ba-选项使用自定义网络中指定为标量逻辑的偏移量。默认值为gydF4y2Ba真的gydF4y2Ba.gydF4y2Ba

  • 价值gydF4y2Ba—偏移值,指定为标量。gydF4y2Ba

  • 自由的gydF4y2Ba- 更新选项gydF4y2Ba价值gydF4y2Ba在估计过程中,指定为标量逻辑。软件尊重gydF4y2Ba自由的gydF4y2Ba规格gydF4y2Ba假gydF4y2Ba只有当价值gydF4y2Ba价值gydF4y2Ba是有限的。默认值为gydF4y2Ba真的gydF4y2Ba.gydF4y2Ba

  • 最低限度gydF4y2Ba-最小界限gydF4y2Ba价值gydF4y2Ba,指定为数字标量或gydF4y2Ba负gydF4y2Ba.如果gydF4y2Ba最低限度gydF4y2Ba是用一个有限值指定的gydF4y2Ba价值gydF4y2Ba是有限的,软件强制模型估计期间的最小界限。默认值为gydF4y2Ba负gydF4y2Ba.gydF4y2Ba

  • 最大限度gydF4y2Ba-上的最大界gydF4y2Ba价值gydF4y2Ba,指定为数字标量或gydF4y2BaInfgydF4y2Ba.如果gydF4y2Ba最大限度gydF4y2Ba用有限值和起始值指定gydF4y2Ba价值gydF4y2Ba是有限的,然后软件在模型估计期间强制最大界限。默认值为gydF4y2BaInfgydF4y2Ba.gydF4y2Ba

非线性函数的参数,具体如下:gydF4y2Ba

  • UnitFcngydF4y2Ba- 功能句柄指向表单的自定义功能gydF4y2Ba[f,g,a] = function_name(x)gydF4y2Ba.功能gydF4y2BaUnitFcngydF4y2Ba指向的点必须向量化。也就是说,对于一个向量或矩阵gydF4y2BaxgydF4y2Ba,输出参数gydF4y2BafgydF4y2Ba和gydF4y2BaggydF4y2Ba必须具有与相同的尺寸gydF4y2BaxgydF4y2Ba当逐元素计算时。gydF4y2Ba

  • NumberOfUnitsgydF4y2Ba-单位数,指定为正整数。gydF4y2BaNumberOfUnitsgydF4y2Ba确定数量gydF4y2BangydF4y2Ba的自定义函数。gydF4y2Ba

  • 参数gydF4y2Ba-参数gydF4y2BacustomnetgydF4y2Ba,指定如下表中的:gydF4y2Ba

    字段名gydF4y2Ba 描述gydF4y2Ba 默认gydF4y2Ba
    输入投影gydF4y2Ba

    投影矩阵gydF4y2Ba问gydF4y2Ba,指定为一个gydF4y2Ba米gydF4y2Ba-借-gydF4y2Ba问gydF4y2Ba矩阵。gydF4y2Ba问gydF4y2Ba变换去渲染的输入向量gydF4y2Ba (gydF4y2Ba XgydF4y2Ba -gydF4y2Ba XgydF4y2Ba ¯gydF4y2Ba )gydF4y2Ba 长度gydF4y2Ba米gydF4y2Ba进入长度的矢量gydF4y2Ba问gydF4y2Ba典型的gydF4y2Ba问gydF4y2Ba与线性投影矩阵具有相同的尺寸gydF4y2BaPgydF4y2Ba.在这种情况下,gydF4y2Ba问gydF4y2Ba等于gydF4y2BapgydF4y2Ba,这是线性重量的数量。gydF4y2Ba

    对于Hammerstein-Wiener模型,gydF4y2Ba输入投影gydF4y2Ba等于gydF4y2Ba1gydF4y2Ba.gydF4y2Ba

    []gydF4y2Ba
    OutputCoefficientgydF4y2Ba

    自定义函数输出系数gydF4y2Ba年代gydF4y2Ba我gydF4y2Ba,指定为一个gydF4y2BangydF4y2Ba1的向量。gydF4y2Ba

    []gydF4y2Ba
    翻译gydF4y2Ba

    翻译矩阵,指定为一个gydF4y2BangydF4y2Ba-借-gydF4y2Ba问gydF4y2Ba翻译行向量矩阵gydF4y2BacgydF4y2Ba我gydF4y2Ba.gydF4y2Ba

    []gydF4y2Ba
    扩张gydF4y2Ba

    扩张系数gydF4y2BabgydF4y2Ba我gydF4y2Ba,指定为一个gydF4y2BangydF4y2Ba1的向量。gydF4y2Ba

    []gydF4y2Ba

  • 自由的gydF4y2Ba-选项估计参数,指定为逻辑标量。如果所有参数都有有限值,例如gydF4y2BacustomnetgydF4y2Ba对象对应于先前估计的模型,然后设置gydF4y2Ba自由的gydF4y2Ba到gydF4y2Ba假gydF4y2Ba引起非线性函数的参数gydF4y2Ba年代gydF4y2Ba(gydF4y2BaXgydF4y2Ba)在估计期间保持不变。默认值为gydF4y2Ba真的gydF4y2Ba.gydF4y2Ba

  • selectedInputIndex.gydF4y2Ba- 指数gydF4y2BacustomnetgydF4y2Ba输入(见gydF4y2Ba输入。的名字gydF4y2Ba)用作非线性函数的输入,指定为1-by-gydF4y2BangydF4y2BargydF4y2Ba整数矢量,在哪里gydF4y2BangydF4y2BargydF4y2Ba为输入的个数。对于非线性ARX模型gydF4y2Ba回归用法gydF4y2Ba属性确定这些索引。对于Hammerstein-Wiener模型,gydF4y2BaselectedInputIndex.gydF4y2Ba总是gydF4y2Ba1gydF4y2Ba.gydF4y2Ba

例子gydF4y2Ba

全部折叠gydF4y2Ba

加载数据gydF4y2Ba

负载gydF4y2Baiddata1gydF4y2Baz1gydF4y2Ba

创建一个gydF4y2BacustomnetgydF4y2Ba对象,该对象使用gydF4y2Ba高斯gydF4y2Ba作为单位函数。gydF4y2Ba

h = @gaussunit;c = customnet(@gaussunit);gydF4y2Ba

设置属性gydF4y2BaCgydF4y2Ba使用点表示法。将偏移值固定为0.2,并将单元函数数设置为15。gydF4y2Ba

C.Offset.Value = 0.2;C.Offset.Free = false;C.NonlinearFcn.NumberOfUnits = 15gydF4y2Ba
C=具有以下属性的customnet:UnitFcn:@gaussunit NonlinearFcn:[1×1 nlident.internal.RIDGENTFCN]输入:[1×1 idpack.Channel]输出:[1×1 idpack.Channel]LinearFcn:[1×1 nlident.internal.UseProjectedLinearFcn]偏移量:[1×1 nlident.internal.ChooseableOffset]gydF4y2Ba

创建模型回归器。gydF4y2Ba

reg = linearreplorseror([z1.outputname z1.inputname],{1:4 0:4});gydF4y2Ba

估计非线性ARX模型。gydF4y2Ba

sys = nlarx (z1, Reg, C)gydF4y2Ba
sys = 1 output 1 input的非线性ARX模型Inputs: u1 Outputs: y1 order: na = 4, nb = 5, nk = 0样本时间:0.1秒Status:使用NLARX对时域数据“z1”进行估计。拟合估计数据:0.06041%(预测焦点)FPE: 75.67, MSE: 19.38gydF4y2Ba

加载数据。gydF4y2Ba

负载gydF4y2Bathrottledata.gydF4y2Ba

创建一个gydF4y2BacustomnetgydF4y2Ba对象gydF4y2BaCgydF4y2Ba使用gydF4y2Ba高斯gydF4y2Ba作为单位函数。包括指定10个单位的输入参数,并排除线性函数和偏移量。gydF4y2Ba

h = @gaussunit;c = customnet(@ gaussUnit,10,false,false)gydF4y2Ba
C =自定义网络非线性函数:自定义网络与10单位和“gaussunit”单位函数线性函数:未使用输出偏移:未使用输入:[1×1 idpack。输出:[1×1 idpack.]Channel] LinearFcn: [1×1 nlident.internal.UseProjectedLinearFcn] NonlinearFcn: [1×1 nlident.internal.CustomNLFcn] Offset: [1×1 nlident.internal.ChooseableOffset]

使用订单估算Hammerstein-Wiener模型gydF4y2Ba[4 4 1]gydF4y2Ba,没有输入非线性,并且gydF4y2BaCgydF4y2Ba作为输出非线性。gydF4y2Ba

sys=nlhw(节流数据,[4 1],]C)gydF4y2Ba
SYS = HAMBerstein-Wiener模型具有1个输出和1个输入线性传递函数对应于订单NB = 4,NF = 4,NK = 1输入非线性:不存在输出非线性:定制网络具有10个单位采样时间:0.01秒状态:估计使用NLHW在时域数据“throttledata”。适合估算数据:72.35%FPE:108.1,MSE:84.36gydF4y2Ba

更多关于gydF4y2Ba

全部展开gydF4y2Ba

算法gydF4y2Ba

customnetgydF4y2Ba使用迭代搜索技术估计参数。gydF4y2Ba

兼容性考虑因素gydF4y2Ba

全部展开gydF4y2Ba

不建议在R2021a中启动gydF4y2Ba

另请参阅gydF4y2Ba

|gydF4y2Ba|gydF4y2Ba|gydF4y2Ba|gydF4y2Ba|gydF4y2Ba|gydF4y2Ba|gydF4y2Ba|gydF4y2Ba|gydF4y2Ba|gydF4y2Ba|gydF4y2Ba|gydF4y2Ba|gydF4y2Ba|gydF4y2Ba|gydF4y2Ba

介绍了R2007agydF4y2Ba