主要内容

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 * yxy向量和评估每个变量在一个网格。因此,z都必须被(xi,易)对,结果是产生一个连接z向量:

k = 1:长度(x) z (k) y = x (k) ^ 2 * (k)结束

上面的表达式是一个nonvectorized计算和往往是缓慢的。指定一个矢量化计算使用MATLAB向量化规则评估使用矩阵而不是回归量表达式循环,导致更快的计算:

%”。*”表示element-wise操作z = (x ^ 2)。* y

建设

C= customreg (函数,变量)指定一个自定义非线性ARX模型的回归量。C是一个customreg对象存储自定义回归量。函数是一个函数的输入和输出变量。变量代表模型的输入和输出函数的名称函数。每个输入和输出名称必须符合InputNameOutputName相应的属性idnlarx对象。的大小变量必须匹配的数量吗函数输入。对于输出模型p输出,定制的回归量是p1细胞数组或数组customreg对象,肯塔基州入口定义定制的回归量输出肯塔基州。你必须将这些解释变量添加到模型通过分配CustomRegressors模型财产或通过使用addreg

C= customreg (函数,变量,延迟,矢量化)创建一个定制的回归量包括延迟相应的输入或输出参数延迟是一个向量的正整数代表的延迟变量变量为每个向量元素(默认为1)。的大小延迟必须匹配的大小变量矢量化的价值1使用MATLAB向量化规则评价回归量表达式函数。默认情况下,矢量化值是0(假)。

属性

创建对象后,您可以使用得到或者点符号来访问对象属性值。例如:

%列出所有属性值得到(C)%得到的参数属性值C.Arguments

您还可以使用函数设置特定的价值属性。例如:

集(C,矢量化的,1)
属性名 描述
函数

函数处理或特征向量代表一个标准解释变量的函数。

例如:

cr = @ (x, y) x * y
变量

单元阵列特征向量代表的名字模型的输入和输出变量的函数函数。每个输入和输出名称必须符合InputNameOutputName的属性idnlarx对象模型的定义定制的解释变量。的大小变量必须匹配的数量吗函数输入。

例如,变量对应于{“日元”,‘u1’}:

C = customreg (cr, {“日元”,‘u1’}3 [2])
延迟

向量的正整数表示的延迟变量。的大小延迟必须匹配的大小参数

默认值:1为每一个向量元素。

例如,延迟3 [2]:

C = customreg (cr, {“日元”,‘u1’}3 [2])
矢量化

可转让的价值观:

  • 0(默认)函数不计算在矢量化的形式。

  • 1- - - - - -函数计算在矢量化时形成称为向量参数。

例子

全部折叠

负荷估算数据。

负载iddata1

指定字符的解释变量作为一个单元阵列向量。

C = {“u1 (t - 1) * sin (y1(条t - 3))”,“u1 (2) ^ 3”};

u1和y1分别输入和输出数据。

估计非线性ARX模型使用自定义的解释。

m = nlarx (z1 (2 2 1),“idLinear”,“CustomRegressors”C);

负荷估算数据。

负载iddata1

估计非线性ARX模型与自定义的解释。

m = nlarx (z1 (2 2 1),“idLinear”,“CustomRegressors”,{“u1 (t - 1) * sin (y1(条t - 3))”,“u1 (2) ^ 3”});

负荷估算数据。

负载iddata1

构造一个非线性ARX模型。

m = idnlarx ([2 2 1]);

定义自定义的解释。

cr1 = @ (x, y) x * sin (y);cr2 = @ (x) x ^ 3;C = [customreg (cr1、{“u”,“y”}1 [3]),customreg (cr2, {“u”},2)];

添加自定义解释变量的模型。

m2 = addreg (m C);

负荷估算数据。

负载iddata1

指定解释变量。

C = customreg (@ x (x, y)。* sin (y), {“u”“y”},[1 3]);集(C,矢量化的1);

估计非线性ARX模型与自定义的解释。

m = nlarx (z1 (2 2 1) idSigmoidNetwork,“CustomReg”C);

版本历史

介绍了R2007a

全部展开