customreg
(不推荐)定制的回归量非线性ARX模型
的customreg
命令不推荐。对于多项式解释变量,使用polynomialRegressor
代替。其他自定义的解释变量,使用customRegressor
。有关更多信息,请参见兼容性的考虑。
语法
C
= customreg (函数
,变量
)C
= customreg (函数
,变量
,延迟
,矢量化
)
描述
customreg
类代表过去的输入和输出的任意函数,如产品,权力,和其他MATLABs manbetx 845®输入和输出变量的表达式。
您可以指定自定义解释变量除了或者更大的灵活性的标准解释变量使用非线性ARX模型建模数据。例如,您可以定义解释变量谭(u (t - 1)),u (t - 1)2,u (t - 1) * y(条t - 3)。
对于简单的回归量表达式,指定直接在应用程序或自定义的解释变量nlarx
估计命令。对于更复杂的表达式创建一个customreg
对象为每个定制回归量和指定评估这些对象作为输入。不管你如何指定自定义的解释变量,工具箱代表这些解释变量customreg
对象。使用getreg
列出的所有标准和自定义模型中解释变量。
特殊情况定制的解释变量包括多项式组合过去的输入和输出。例如,通常使用多项式表达式捕获系统中非线性y(t−1)2、u(t−1)2、y(t−2)2,y (t−1)*y(t−2),y(t−1)*u(t−1),y(t−2)*u(t−1)。在命令行中使用polyreg
命令由计算机自动生成polynomial-type解释所有的输入和输出变量组合到一个指定的学位。polyreg
生产customreg
估计您指定的对象作为输入。
非线性ARX模型(idnlarx
对象)存储所有定制的解释变量CustomRegressors
财产。你可以列出所有自定义解释变量使用m.CustomRegressors
,在那里米
是一个非线性ARX模型。MIMO模型,检索r
自定义回归量输出肯塔基州
,使用肯塔基州m.CustomRegressors{}(右)
。
使用矢量化
属性来指定是否要计算自定义解释变量估计期间使用矢量化形式。如果你知道你的回归量公式可以矢量化,集矢量化
来1
为了达到更好的性能。为了更好地理解向量化,考虑自定义回归量函数处理z = @ (x, y) x ^ 2 * y
。x
和y
向量和评估每个变量在一个网格。因此,z
都必须被(xi,易)
对,结果是产生一个连接z
向量:
为k = 1:长度(x) z (k) y = x (k) ^ 2 * (k)结束
上面的表达式是一个nonvectorized计算和往往是缓慢的。指定一个矢量化
计算使用MATLAB向量化规则评估使用矩阵而不是回归量表达式为
循环,导致更快的计算:
%”。*”表示element-wise操作z = (x ^ 2)。* y
建设
指定一个自定义非线性ARX模型的回归量。C
= customreg (函数
,变量
)C
是一个customreg
对象存储自定义回归量。函数
是一个函数的输入和输出变量。变量
代表模型的输入和输出函数的名称函数
。每个输入和输出名称必须符合InputName
和OutputName
相应的属性idnlarx
对象。的大小变量
必须匹配的数量吗函数
输入。对于输出模型p
输出,定制的回归量是p
1细胞数组或数组customreg
对象,肯塔基州
入口定义定制的回归量输出肯塔基州
。你必须将这些解释变量添加到模型
通过分配CustomRegressors
模型
财产或通过使用addreg
。
创建一个定制的回归量包括延迟相应的输入或输出C
= customreg (函数
,变量
,延迟
,矢量化
)参数
。延迟
是一个向量的正整数代表的延迟变量
变量为每个向量元素(默认为1)。的大小延迟
必须匹配的大小变量
。矢量化
的价值1
使用MATLAB向量化规则评价回归量表达式函数
。默认情况下,矢量化
值是0
(假)。
属性
创建对象后,您可以使用得到
或者点符号来访问对象属性值。例如:
%列出所有属性值得到(C)%得到的参数属性值C.Arguments
您还可以使用集
函数设置特定的价值属性。例如:
集(C,矢量化的,1)
属性名 | 描述 |
---|---|
函数 |
函数处理或特征向量代表一个标准解释变量的函数。 例如: cr = @ (x, y) x * y |
变量 |
单元阵列特征向量代表的名字模型的输入和输出变量的函数 例如, C = customreg (cr, {“日元”,‘u1’}3 [2]) |
延迟 |
向量的正整数表示的延迟 默认值: 例如, C = customreg (cr, {“日元”,‘u1’}3 [2]) |
矢量化 |
可转让的价值观:
|