主要内容gydF4y2Ba

nlarxgydF4y2Ba

非线性ARX模型参数估计gydF4y2Ba

描述gydF4y2Ba

指定解释变量gydF4y2Ba

例子gydF4y2Ba

sysgydF4y2Ba= nlarx (gydF4y2Ba数据gydF4y2Ba,gydF4y2Ba订单gydF4y2Ba)gydF4y2Ba使用指定的ARX模型阶数和默认的小波网络输出函数估计一个非线性ARX模型来拟合给定的估计数据。当您扩展ARX线性模型时,或者当您只使用具有连续滞后的线性回归器时,请使用此语法。gydF4y2Ba

例子gydF4y2Ba

sysgydF4y2Ba= nlarx (gydF4y2Ba数据gydF4y2Ba,gydF4y2Ba解释变量gydF4y2Ba)gydF4y2Ba使用指定的回归集估计非线性ARX模型gydF4y2Ba解释变量gydF4y2Ba.当你有非连续滞后的线性回归量,或者你有多项式回归量,自定义回归量,或者两者都有时,请使用此语法。gydF4y2Ba

例子gydF4y2Ba

sysgydF4y2Ba= nlarx (gydF4y2Ba___gydF4y2Ba,gydF4y2Baoutput_fcngydF4y2Ba)gydF4y2Ba指定将回归函数映射到模型输出的输出函数。您可以将此语法用于前面的任何输入参数组合。gydF4y2Ba

指定线性模型gydF4y2Ba

例子gydF4y2Ba

sysgydF4y2Ba= nlarx (gydF4y2Ba数据gydF4y2Ba,gydF4y2BalinmodelgydF4y2Ba)gydF4y2Ba使用线性ARX模型gydF4y2BalinmodelgydF4y2Ba指定模型阶数和模型线性系数的初始值。当您想要创建一个非线性ARX模型作为现有线性模型的扩展或改进时,请使用此语法。使用此语法时,软件将偏移值初始化为gydF4y2Ba0gydF4y2Ba.在某些情况下,可以通过使用命令重写此初始化来改进估计结果gydF4y2Basys.OutputFcn.Offset.Value = NaNgydF4y2Ba.gydF4y2Ba

例子gydF4y2Ba

sysgydF4y2Ba= nlarx (gydF4y2Ba数据gydF4y2Ba,gydF4y2BalinmodelgydF4y2Ba,gydF4y2Baoutput_fcngydF4y2Ba)gydF4y2Ba指定用于模型估计的输出函数。gydF4y2Ba

改进现有模型gydF4y2Ba

例子gydF4y2Ba

sysgydF4y2Ba= nlarx (gydF4y2Ba数据gydF4y2Ba,gydF4y2Basys0gydF4y2Ba)gydF4y2Ba估计或细化非线性ARX模型的参数gydF4y2Basys0gydF4y2Ba.gydF4y2Ba

使用此语法:gydF4y2Ba

  • 方法估计先前创建的模型的参数gydF4y2BaidnlarxgydF4y2Ba构造函数。在进行估计之前,您可以使用点表示法配置模型属性。gydF4y2Ba

  • 更新先前估计模型的参数,以提高对估计数据的拟合。在这种情况下,估计算法使用的参数gydF4y2Basys0gydF4y2Ba作为最初的猜测。gydF4y2Ba

指定的选项gydF4y2Ba

例子gydF4y2Ba

sysgydF4y2Ba= nlarx (gydF4y2Ba___gydF4y2Ba,gydF4y2Ba选项gydF4y2Ba)gydF4y2Ba为模型估计指定其他配置选项。gydF4y2Ba

例子gydF4y2Ba

全部折叠gydF4y2Ba

加载估计数据。gydF4y2Ba

负载gydF4y2BatwotankdatagydF4y2Ba;gydF4y2Ba

创建一个gydF4y2BaiddatagydF4y2Ba对象从估计数据中获取,采样时间为0.2秒。gydF4y2Ba

Ts = 0.2;z = iddata(y,u,Ts);gydF4y2Ba

利用ARX模型的阶数来确定回归量,估计非线性ARX模型。gydF4y2Ba

sysNL = nlarx(z,[4 4 1])gydF4y2Ba
sysNL = 1输出1输入的非线性ARX模型输入:u1输出:y1回归器:变量y1, u1中的线性回归器所有回归器列表输出函数:11个单元的小波网络采样时间:0.2秒状态:在时域数据“z”上使用NLARX估计。拟合估计数据:96.84%(预测焦点)FPE: 3.482e-05, MSE: 3.431e-05gydF4y2Ba

sysgydF4y2Ba使用默认值gydF4y2BaidWaveletNetworkgydF4y2Ba函数作为输出函数。gydF4y2Ba

为了进行比较,计算具有相同模型阶数的线性ARX模型。gydF4y2Ba

sysL = arx(z,[4 4 1]);gydF4y2Ba

将模型输出与原始数据进行比较。gydF4y2Ba

比较(z, sysNL sysL)gydF4y2Ba

图中包含一个轴对象。axis对象包含3个line类型的对象。这些对象分别代表z (y1), sysNL: 82.73%, syl: 51.41%。gydF4y2Ba

非线性模型比线性模型对数据有更好的拟合。gydF4y2Ba

指定一个线性回归函数,它等价于的ARX模型阶矩阵gydF4y2Ba[4 4 1]gydF4y2Ba.gydF4y2Ba

的阶矩阵gydF4y2Ba[4 4 1]gydF4y2Ba指定输入和输出回归函数集都包含四个滞后从1到4的回归函数。例如,gydF4y2Ba ugydF4y2Ba 1gydF4y2Ba (gydF4y2Ba tgydF4y2Ba -gydF4y2Ba 2gydF4y2Ba )gydF4y2Ba 表示第二个输入回归函数。gydF4y2Ba

指定输出和输入名称。gydF4y2Ba

output_name =gydF4y2Ba“日元”gydF4y2Ba;input_name =gydF4y2Ba‘u1’gydF4y2Ba;Names = {output_name,input_name};gydF4y2Ba

指定输出和输入滞后。gydF4y2Ba

Output_lag = [1 2 3 4];Input_lag = [1 2 3 4];滞后= {output_lag,input_lag};gydF4y2Ba

创建线性回归对象。gydF4y2Ba

lreg =线性回归(名称,滞后)gydF4y2Ba
lreg =变量y1, u1中的线性回归变量变量:{'y1' 'u1'}滞后:{[1 2 3 4][1 2 3 4]}UseAbsolute: [0 0] TimeVariable: 't'由这个集合描述的回归变量gydF4y2Ba

加载估计数据并创建一个iddata对象。gydF4y2Ba

负载gydF4y2BatwotankdatagydF4y2BaZ = iddata(y,u,0.2);gydF4y2Ba

估计非线性ARX模型。gydF4y2Ba

Sys = nlarx(z,lreg)gydF4y2Ba
sys = 1输出1输入的非线性ARX模型输入:u1输出:y1回归函数:变量y1, u1中的线性回归函数所有回归函数的列表输出函数:11个单元的小波网络采样时间:0.2秒状态:在时域数据“z”上使用NLARX估计。拟合估计数据:96.84%(预测焦点)FPE: 3.482e-05, MSE: 3.431e-05gydF4y2Ba

查看回归量gydF4y2Ba

getreg(系统)gydF4y2Ba
ans =gydF4y2Ba8 x1细胞gydF4y2Ba{y1 (t - 1)的}{‘y1 (2)} {y1(条t - 3)的}{y1(第四节)的}{u1 (t - 1)的}{的u1 (2)} {u1(条t - 3)的}{}“u1(第四节)”gydF4y2Ba

将模型输出与估计数据进行比较。gydF4y2Ba

比较(z, sys)gydF4y2Ba

图中包含一个轴对象。axis对象包含2个line类型的对象。这些对象表示z (y1), sys: 82.73%。gydF4y2Ba

创建时间和数据数组。gydF4y2Ba

Dt = 0.01;T = 0:dt:10;Y = 10*sin(2*pi*t)+rand(size(t));gydF4y2Ba

创建一个gydF4y2BaiddatagydF4y2Ba未指定输入信号的对象。gydF4y2Ba

Z = iddata(y',[],dt);gydF4y2Ba

估计非线性ARX模型。gydF4y2Ba

Sys = nlarx(z,2)gydF4y2Ba
sys =非线性时间序列模型输出:y1回归函数:变量中的线性回归函数y1所有回归函数列表输出函数:8单元小波网络采样时间:0.01秒状态:在时域数据“z”上使用NLARX估计。与估计数据拟合:92.92%(预测焦点)FPE: 0.2568, MSE: 0.2507gydF4y2Ba

估计一个使用映射函数的非线性ARX模型gydF4y2BaidSigmoidNetworkgydF4y2Ba作为输出函数。gydF4y2Ba

加载数据并将其划分为估计和验证数据集gydF4y2Ba泽gydF4y2Ba而且gydF4y2BazvgydF4y2Ba.gydF4y2Ba

负载gydF4y2Batwotankdata.matgydF4y2BaugydF4y2BaygydF4y2BaZ = iddata(y,u,gydF4y2Ba“t”gydF4y2Ba, 0.2);Ze = z(1:1500);Zv = z(1501:end);gydF4y2Ba

配置gydF4y2BaidSigmoidNetworkgydF4y2Ba映射函数。将偏移量固定为0.2,单元数固定为15。gydF4y2Ba

s = idSigmoidNetwork;s.Offset.Value = 0.2;年代,NonlinearFcn。NumberOfUnits = 15;gydF4y2Ba

创建一个包含四个输出回归量和五个输入回归量的线性模型回归量规范。gydF4y2Ba

reg1 =线性回归({gydF4y2Ba“日元”gydF4y2Ba,gydF4y2Ba‘u1’gydF4y2Ba}, {1:4, 0:4});gydF4y2Ba

创建一个多项式模型回归规范,其中包含两个输入项和三个输出项的平方。gydF4y2Ba

reg2 =多项式回归器({gydF4y2Ba“日元”gydF4y2Ba,gydF4y2Ba‘u1’gydF4y2Ba}, {1:2 0:2} 2);gydF4y2Ba

设置搜索方法和最大迭代次数的估计选项。gydF4y2Ba

选择nlarxOptions(gydF4y2Ba“SearchMethod”gydF4y2Ba,gydF4y2Ba“fmincon”gydF4y2Ba)”;opt.SearchOptions.MaxIterations = 40;gydF4y2Ba

估计非线性ARX模型。gydF4y2Ba

Sys = nlarx(ze,[reg1;reg2],s,opt);gydF4y2Ba

验证gydF4y2BasysgydF4y2Ba通过将模拟模型响应与验证数据集进行比较。gydF4y2Ba

比较(zv sys)gydF4y2Ba

图中包含一个轴对象。axis对象包含2个line类型的对象。这些对象表示zv (y1), sys: 89.75%。gydF4y2Ba

对线性模型进行估计,并对模型进行改进gydF4y2BatreepartitiongydF4y2Ba输出函数。gydF4y2Ba

加载估计数据。gydF4y2Ba

负载gydF4y2BathrottledatagydF4y2BaThrottleDatagydF4y2Ba

估计一个线性ARX模型gydF4y2BalinsysgydF4y2Ba与订单gydF4y2Ba[2 2 1]gydF4y2Ba.gydF4y2Ba

linsys = arx(ThrottleData,[2 2 1]);gydF4y2Ba

创建一个gydF4y2BaidnlarxgydF4y2Ba使用的模板模型gydF4y2BalinsysgydF4y2Ba并指定gydF4y2BasigmoidnetgydF4y2Ba作为输出函数。gydF4y2Ba

sys0 = idnlarx(linsys,idTreePartition);gydF4y2Ba

固定的线性分量gydF4y2Basys0gydF4y2Ba在估计过程中,的线性部分gydF4y2Basys0gydF4y2Ba保持相同gydF4y2BalinsysgydF4y2Ba.将偏移组件值设置为gydF4y2Ba南gydF4y2Ba.gydF4y2Ba

sys0.OutputFcn.LinearFcn。Free = false;sys0.OutputFcn.Offset。值= NaN;gydF4y2Ba

的自由参数估计gydF4y2Basys0gydF4y2Ba,分别为非线性函数参数和偏移量。gydF4y2Ba

sys = nlarx(ThrottleData,sys0);gydF4y2Ba

比较线性模型和非线性模型的拟合精度。gydF4y2Ba

比较(ThrottleData linsys sys)gydF4y2Ba

图中包含一个轴对象。axis对象包含3个line类型的对象。这些对象表示ThrottleData(节流阀位置),linsys: 64.45%, sys: 90.32%。gydF4y2Ba

生成自定义网络映射对象需要定义用户定义的单元函数。gydF4y2Ba

定义单元函数并将其保存为gydF4y2Bagaussunit.mgydF4y2Ba.gydF4y2Ba

函数gydF4y2Ba[f,g,a] = gaussunit(x)gydF4y2Ba%自定义单位函数非线性。gydF4y2Ba%gydF4y2Ba版权所有The MathWorks, Inc.gydF4y2BaF = exp(-x.*x);gydF4y2Ba如果gydF4y2BaNargout >1 g = -2*x.*f;A = 0.2;gydF4y2Ba结束gydF4y2Ba

属性的句柄创建自定义网络映射对象gydF4y2BagaussunitgydF4y2Ba函数。gydF4y2Ba

H = @gaussunit;CNet = idCustomNetwork(H);gydF4y2Ba

加载估计数据。gydF4y2Ba

负载gydF4y2Baiddata1gydF4y2Ba

使用自定义网络估计一个非线性ARX模型。gydF4y2Ba

sys = nlarx(z1,[1 2 1],CNet)gydF4y2Ba
sys = 非线性ARX模型与1输出和1输入输入:u1输出:y1回归:线性回归变量y1, u1输出函数:自定义网络与10个单位和“gaussunit”单位函数采样时间:0.1秒状态:估计使用NLARX对时域数据“z1”。与估计数据拟合:64.35%(预测焦点)FPE: 3.58, MSE: 2.465gydF4y2Ba

加载估计数据。gydF4y2Ba

负载gydF4y2BamotorizedcameragydF4y2Ba;gydF4y2Ba

创建一个gydF4y2BaiddatagydF4y2Ba对象。gydF4y2Ba

Z = iddata(y,u,0.02,gydF4y2Ba“名字”gydF4y2Ba,gydF4y2Ba“机动相机”gydF4y2Ba,gydF4y2Ba“TimeUnit”gydF4y2Ba,gydF4y2Ba“年代”gydF4y2Ba);gydF4y2Ba

zgydF4y2Ba是一个gydF4y2BaiddatagydF4y2Ba对象,具有六个输入和两个输出。gydF4y2Ba

指定模型顺序。gydF4y2Ba

Orders = [ones(2,2),2*ones(2,6),ones(2,6)];gydF4y2Ba

为每个输出通道指定不同的映射函数。gydF4y2Ba

NL = [idWaveletNetwork(2),idLinear];gydF4y2Ba

估计非线性ARX模型。gydF4y2Ba

sys = nlarx(z,Orders,NL)gydF4y2Ba
sys = 2输出6输入的非线性ARX模型输入:u1, u2, u3, u4, u5, u6输出:y1, y2回归函数:变量y1, y2, u1, u2, u3, u4, u5, u6所有回归函数列表输出函数:输出1:2单元小波网络输出2:无采样时间:0.02秒状态:在时域数据“机动相机”上使用NLARX估计。拟合估计数据:[98.72;98.77]%(预测焦点)FPE: 0.5719, MSE: 1.061gydF4y2Ba

加载估计数据并创建一个gydF4y2BaiddatagydF4y2Ba对象gydF4y2BazgydF4y2Ba.gydF4y2BazgydF4y2Ba包含两个输出通道和六个输入通道。gydF4y2Ba

负载gydF4y2BamotorizedcameragydF4y2Ba;Z = iddata(y,u,0.02);gydF4y2Ba

指定一组线性回归器,其中使用来自的输出和输入名称gydF4y2BazgydF4y2Ba,包含:gydF4y2Ba

  • 2个输出回归器,1个滞后。gydF4y2Ba

  • 6个输入回归函数对,有1个和2个滞后。gydF4y2Ba

names = [z.OutputName;z.InputName];滞后= {1 1 [1,2],[1,2],[1,2],[1,2],[1,2],[1,2]};reg =线性回归(名称,滞后);gydF4y2Ba

估计一个非线性ARX模型使用gydF4y2BaidSigmoidNetworkgydF4y2Ba映射功能与四个单位的所有输出通道。gydF4y2Ba

sys = nlarx(z,reg,idSigmoidNetwork(4))gydF4y2Ba
sys = 2输出6输入的非线性ARX模型输入:u1, u2, u3, u4, u5, u6输出:y1, y2回归量:变量y1, y2, u1, u2, u3, u4, u5, u6所有回归量的列表输出函数:输出1:4单元Sigmoid网络输出2:4单元Sigmoid网络采样时间:0.02秒状态:在时域数据“z”上使用NLARX估计。拟合估计数据:[98.86;98.79]%(预测焦点)FPE: 2.641, MSE: 0.9233gydF4y2Ba

加载估计数据gydF4y2Baz1gydF4y2Ba,其中有一个输入和一个输出,并获取输出和输入名称。gydF4y2Ba

负载gydF4y2Baiddata1gydF4y2Baz1gydF4y2Ba;Names = [z1.]OutputName z1。InputName]gydF4y2Ba
名称=gydF4y2Ba1 x2单元格gydF4y2Ba{“日元”}{u1的}gydF4y2Ba

指定gydF4y2BalgydF4y2Ba线性回归函数的集合表示gydF4y2Ba ygydF4y2Ba 1gydF4y2Ba (gydF4y2Ba tgydF4y2Ba -gydF4y2Ba 1gydF4y2Ba )gydF4y2Ba ,gydF4y2Ba ugydF4y2Ba 1gydF4y2Ba (gydF4y2Ba tgydF4y2Ba -gydF4y2Ba 2gydF4y2Ba )gydF4y2Ba ,gydF4y2Ba ugydF4y2Ba 1gydF4y2Ba (gydF4y2Ba tgydF4y2Ba -gydF4y2Ba 5gydF4y2Ba )gydF4y2Ba .gydF4y2Ba

L =线性回归(names,{1,[2 5]});gydF4y2Ba

指定gydF4y2BaPgydF4y2Ba作为多项式回归函数gydF4y2Ba ygydF4y2Ba 1gydF4y2Ba (gydF4y2Ba tgydF4y2Ba -gydF4y2Ba 1gydF4y2Ba )gydF4y2Ba 2gydF4y2Ba .gydF4y2Ba

P =多项式回归(names(1),1,2);gydF4y2Ba

指定gydF4y2BaCgydF4y2Ba作为自定义回归函数gydF4y2Ba ygydF4y2Ba 1gydF4y2Ba (gydF4y2Ba tgydF4y2Ba -gydF4y2Ba 2gydF4y2Ba )gydF4y2Ba ugydF4y2Ba 1gydF4y2Ba (gydF4y2Ba tgydF4y2Ba -gydF4y2Ba 3.gydF4y2Ba )gydF4y2Ba .使用匿名函数句柄定义此函数。gydF4y2Ba

C = customRegressor(names,{2 3},@(x,y)x.*y)gydF4y2Ba
C =自定义回归:y1(t-2).*u1(t-3) VariablesToRegressorFcn: @(x,y)x。*y变量:{'y1' 'u1'}滞后:{[2][3]}Vectorized: 1 TimeVariable: 't'由这个集合描述的回归gydF4y2Ba

结合列向量中的回归量gydF4y2BaRgydF4y2Ba.gydF4y2Ba

R = [l; p; c]gydF4y2Ba
R =[3 1]线性回归,多项式回归,customRegressor对象数组。------------------------------------ 1。线性解释变量y₁,u1变量:{“日元”的u1}滞后:{[1][2 - 5]}UseAbsolute: [0 0] TimeVariable:“t ' ------------------------------------ 2。2阶回归变量y1阶:2变量:{'y1'}滞后:{[1]}UseAbsolute: 0 AllowVariableMix: 0 AllowLagMix: 0 TimeVariable: 't' ------------------------------------自定义回归:y1(t-2).*u1(t-3) VariablesToRegressorFcn: @(x,y)x。*y变量:{'y1' 'u1'}滞后:{[2][3]}Vectorized: 1 TimeVariable: 't'由这个集合描述的回归gydF4y2Ba

估计一个非线性ARX模型gydF4y2BaRgydF4y2Ba.gydF4y2Ba

sys = nlarx(z1,R)gydF4y2Ba
sys =非线性ARX模型,1输出1输入输入:u1输出:y1回归量:1。变量y1 u1 2中的线性回归。变量y13中的二阶回归量。自定义回归函数:y1(t-2).*u1(t-3)所有回归函数列表输出函数:1单位小波网络采样时间:0.1秒状态:在时域数据“z1”上使用NLARX估计。与估计数据拟合:59.73%(预测焦点)FPE: 3.356, MSE: 3.147gydF4y2Ba

查看完整的回归集。gydF4y2Ba

getreg(系统)gydF4y2Ba
ans =gydF4y2Ba5 x1细胞gydF4y2Ba{y1 (t - 1)的}{的u1(2)}{的u1 (t-5)} {y1 (t - 1) ^ 2的}{y1(2)。* u1(条t - 3)}gydF4y2Ba

加载估计数据。gydF4y2Ba

负载gydF4y2Baiddata1gydF4y2Ba;gydF4y2Ba

创建一个包含10个单元且没有线性项的sigmoid网络映射对象。gydF4y2Ba

SN = idSigmoidNetwork(10,false);gydF4y2Ba

估计非线性ARX模型。确认模型没有使用线性函数。gydF4y2Ba

sys = nlarx(z1,[2 2 1],SN);sys.OutputFcn.LinearFcn.UsegydF4y2Ba
ans =gydF4y2Ba逻辑gydF4y2Ba0gydF4y2Ba

加载估计数据。gydF4y2Ba

负载gydF4y2BathrottledatagydF4y2Ba;gydF4y2Ba

去趋势数据。gydF4y2Ba

Tr = getTrend(ThrottleData);Tr.OutputOffset = 15;DetrendedData = dettrend (ThrottleData,Tr);gydF4y2Ba

估计线性ARX模型。gydF4y2Ba

线性模型= arx(DetrendedData,[2 1 1]);gydF4y2Ba

利用线性模型估计非线性ARX模型。模型的阶数、时延和线性参数gydF4y2BaNonlinearModelgydF4y2Ba都是从gydF4y2BaLinearModelgydF4y2Ba.gydF4y2Ba

非线性模型= nlarx(ThrottleData,线性模型)gydF4y2Ba
非线性模型= 1输出1输入的非线性ARX模型输入:步骤命令输出:节流阀位置回归器:变量中的线性回归器节流阀位置,所有回归器的步骤命令列表输出函数:12单元小波网络采样时间:0.01秒状态:使用NLARX对时域数据“ThrottleData”进行估计。与估计数据拟合:65.67%(预测焦点)FPE: 145.7, MSE: 130gydF4y2Ba

加载估计数据。gydF4y2Ba

负载gydF4y2Baiddata1gydF4y2Ba;gydF4y2Ba

创建一个gydF4y2BaidnlarxgydF4y2Ba模型。gydF4y2Ba

Sys = idnlarx([2 2 1]);gydF4y2Ba

使用点表示法配置模型:gydF4y2Ba

  • 使用sigmoid网络映射对象。gydF4y2Ba

  • 分配一个名称。gydF4y2Ba

sys。非线性=gydF4y2Ba“idSigmoidNetwork”gydF4y2Ba;sys。的名字=gydF4y2Ba“模式1”gydF4y2Ba;gydF4y2Ba

方法中指定的结构和属性估计一个非线性ARX模型gydF4y2BaidnlarxgydF4y2Ba对象。gydF4y2Ba

Sys = nlarx(z1, Sys)gydF4y2Ba
sys = 1输出1输入的非线性ARX模型输入:u1输出:y1回归函数:变量y1中的线性回归函数,u1所有回归函数的列表输出函数:10个单元的Sigmoid网络名称:模型1采样时间:0.1秒状态:在时域数据“z1”上使用NLARX估计。与估计数据拟合:69.03%(预测焦点)FPE: 2.918, MSE: 1.86gydF4y2Ba

如果估计在局部最小值处停止,则可以使用gydF4y2Ba初始化gydF4y2Ba重新评估模型。gydF4y2Ba

加载估计数据。gydF4y2Ba

负载gydF4y2Baiddata1gydF4y2Ba;gydF4y2Ba

估计初始非线性模型。gydF4y2Ba

Sys1 = nlarx(z1,[4 2 1],gydF4y2Ba“idSigmoidNetwork”gydF4y2Ba);gydF4y2Ba

随机扰动模型参数以避免局部极小值。gydF4y2Ba

Sys2 = init(sys1);gydF4y2Ba

用扰动值估计新的非线性模型。gydF4y2Ba

Sys2 = nlarx(z1,sys1);gydF4y2Ba

加载估计数据。gydF4y2Ba

负载gydF4y2BatwotankdatagydF4y2Ba;gydF4y2Ba

创建一个gydF4y2BaiddatagydF4y2Ba对象从估计数据中获取。gydF4y2Ba

Z = iddata(y,u,0.2);gydF4y2Ba

创建一个gydF4y2BanlarxOptionsgydF4y2Ba指定模拟误差最小化目标和最多10个估计迭代的选项集。gydF4y2Ba

opt = nlarxOptions;opt.Focus =gydF4y2Ba“模拟”gydF4y2Ba;opt.SearchOptions.MaxIterations = 10;gydF4y2Ba

估计非线性ARX模型。gydF4y2Ba

sys = nlarx(z,[4 4 1],idSigmoidNetwork(3),opt)gydF4y2Ba
sys = 1输出1输入的非线性ARX模型输入:u1输出:y1回归函数:变量y1, u1中的线性回归函数所有回归函数的列表输出函数:3单元Sigmoid网络采样时间:0.2秒状态:在时域数据“z”上使用NLARX估计。拟合估计数据:85.86%(模拟焦点)FPE: 3.791e-05, MSE: 0.0006853gydF4y2Ba

加载正则化示例数据。gydF4y2Ba

负载gydF4y2BaregularizationExampleData.matgydF4y2BanldatagydF4y2Ba;gydF4y2Ba

创建一个gydF4y2BaidSigmoidnetworkgydF4y2Ba将对象映射为30个单元,并指定模型顺序。gydF4y2Ba

MO = idSigmoidNetwork(30);订单= [1 2 1];gydF4y2Ba

创建一个评估选项集,并将评估搜索方法设置为gydF4y2BalmgydF4y2Ba.gydF4y2Ba

选择nlarxOptions(gydF4y2Ba“SearchMethod”gydF4y2Ba,gydF4y2Ba“lm”gydF4y2Ba);gydF4y2Ba

估计一个非正则模型。gydF4y2Ba

sys = nlarx(nldata,Orders,MO,opt);gydF4y2Ba

配置正则化gydF4y2BaλgydF4y2Ba参数。gydF4y2Ba

opt. regulalizing . lambda = 1e-8;gydF4y2Ba

估计一个正则化模型。gydF4y2Ba

sysR = nlarx(nldata,Orders,MO,opt);gydF4y2Ba

比较这两个模型。gydF4y2Ba

比较(nldata sys sysR)gydF4y2Ba

图中包含一个轴对象。axis对象包含3个line类型的对象。这些对象分别表示nldata (y1)、sys: -7.404e+04%、sysR: 98.63%。gydF4y2Ba

非正则化模型的负拟合结果较大,表明与数据拟合较差。估计正则化模型会产生明显更好的结果。gydF4y2Ba

输入参数gydF4y2Ba

全部折叠gydF4y2Ba

时域估计数据,指定为gydF4y2BaiddatagydF4y2Ba对象或数值矩阵。gydF4y2Ba

  • 如果gydF4y2Ba数据gydF4y2Ba是一个gydF4y2BaiddatagydF4y2Ba对象,然后gydF4y2Ba数据gydF4y2Ba可以有一个或多个输出通道和零个或多个输入通道。gydF4y2Ba

  • 如果gydF4y2Ba数据gydF4y2Ba是数值矩阵,则数据列数必须与输入数(gydF4y2BangydF4y2BaugydF4y2Ba)和输出数目(gydF4y2BangydF4y2BaygydF4y2Ba.gydF4y2Ba

数据gydF4y2Ba必须均匀采样且不能包含缺失(gydF4y2Ba南gydF4y2Ba)样品。gydF4y2Ba

ARX订单模型,指定为矩阵gydF4y2Ba[na nb nk]gydF4y2Ba.gydF4y2BanagydF4y2Ba表示延迟输出的数量,gydF4y2Ba注gydF4y2Ba表示延迟输入的数量,和gydF4y2BankgydF4y2Ba表示最小输入延迟。最小输出延迟固定为gydF4y2Ba1gydF4y2Ba.属性的详细信息gydF4y2Ba订单gydF4y2Ba矩阵,看到gydF4y2BaarxgydF4y2Ba.gydF4y2Ba

当你指定gydF4y2Ba订单gydF4y2Ba时,软件将订单信息转换为线性回归形式gydF4y2BaidnlarxgydF4y2Ba解释变量gydF4y2Ba财产。有关示例,请参见gydF4y2Ba使用ARX模型顺序创建非线性ARX模型gydF4y2Ba.gydF4y2Ba

回归器规范,指定为包含一个或多个回归器规范对象的列向量gydF4y2BalinearRegressorgydF4y2Ba对象,gydF4y2BapolynomialRegressorgydF4y2Ba对象,gydF4y2BacustomRegressorgydF4y2Ba对象。每个对象都指定一个公式,用于从滞后变量中生成回归量。例如:gydF4y2Ba

  • L =线性回归({'y1','u1'},{1,[2 5]})gydF4y2Ba生成回归量gydF4y2BaygydF4y2Ba1gydF4y2Ba(gydF4y2BatgydF4y2Ba1),gydF4y2BaugydF4y2Ba1gydF4y2Ba(gydF4y2BatgydF4y2Ba2),gydF4y2BaugydF4y2Ba2gydF4y2Ba(gydF4y2BatgydF4y2Ba5)。gydF4y2Ba

  • P =多项式回归('y2',4:7,2)gydF4y2Ba生成回归量gydF4y2BaygydF4y2Ba2gydF4y2Ba(gydF4y2BatgydF4y2Ba4)gydF4y2Ba2gydF4y2Ba,gydF4y2BaygydF4y2Ba2gydF4y2Ba(gydF4y2BatgydF4y2Ba5)gydF4y2Ba2gydF4y2Ba,gydF4y2BaygydF4y2Ba2gydF4y2Ba(gydF4y2BatgydF4y2Ba6)gydF4y2Ba2gydF4y2Ba,gydF4y2BaygydF4y2Ba2gydF4y2Ba(gydF4y2BatgydF4y2Ba7)gydF4y2Ba2gydF4y2Ba.gydF4y2Ba

  • C = customRegressor ({y1, u1, u2的},{1 2 2},@ (x, y, z) sin (x) * y + z))gydF4y2Ba生成单个回归因子sin(gydF4y2BaygydF4y2Ba1gydF4y2Ba(gydF4y2BatgydF4y2Ba1)gydF4y2BaugydF4y2Ba1gydF4y2Ba(gydF4y2BatgydF4y2Ba2) +gydF4y2BaugydF4y2Ba2gydF4y2Ba(gydF4y2BatgydF4y2Ba2))。gydF4y2Ba

类创建支持估计的回归集时金宝appgydF4y2BaiddatagydF4y2Ba对象时,您可以使用对象的输入和输出名称,而不是为回归函数创建名称。例如,假设您为一个模型创建一个线性回归函数,计划使用gydF4y2BaiddatagydF4y2Ba对象gydF4y2BazgydF4y2Ba对模型进行估计。您可以使用以下命令来创建线性回归函数。gydF4y2Ba

L =线性回归([z. outputname;z. outputname;inputName) {1, 2 [5]})gydF4y2Ba

有关创建和使用SISO线性回归集的示例,请参见gydF4y2Ba用线性回归集估计非线性ARX模型gydF4y2Ba.有关创建从估计数据集中获取变量名的MIMO线性回归集的示例,请参见gydF4y2Ba估计所有输出具有相同映射函数的MIMO非线性ARX模型gydF4y2Ba.gydF4y2Ba

函数的回归函数的映射gydF4y2BaidnlarxgydF4y2Ba模型到模型输出中,指定为包含零个或多个以下字符串或对象的列数组:gydF4y2Ba

“idWaveletNetwork”gydF4y2Ba或gydF4y2BaidWaveletNetworkgydF4y2Ba对象gydF4y2Ba 小波网络gydF4y2Ba
“线性”gydF4y2Ba或gydF4y2Ba”gydF4y2Ba或gydF4y2Ba[]gydF4y2Ba或gydF4y2BaidLineargydF4y2Ba对象gydF4y2Ba 线性函数gydF4y2Ba
“idSigmoidNetwork”gydF4y2Ba或gydF4y2BaidSigmoidNetworkgydF4y2Ba对象gydF4y2Ba 乙状结肠网络gydF4y2Ba
“idTreePartition”gydF4y2Ba或gydF4y2BaidTreePartitiongydF4y2Ba对象gydF4y2Ba 二叉树划分回归模型gydF4y2Ba
“idGaussianProcess”gydF4y2Ba或gydF4y2BaidGaussianProcessgydF4y2Ba对象gydF4y2Ba 高斯过程回归模型(需要统计和机器学习工具箱™)gydF4y2Ba
“idTreeEnsemble”gydF4y2Ba或gydF4y2BaidTreeEnsemblegydF4y2Ba 回归树集成模型要求(统计和机器学习工具箱)gydF4y2Ba
idFeedforwardNetworkgydF4y2Ba对象gydF4y2Ba 神经网络-深度学习工具箱™前馈网络。gydF4y2Ba
idCustomNetworkgydF4y2Ba对象gydF4y2Ba 自定义网络-类似gydF4y2BaidSigmoidNetworkgydF4y2Ba,但是使用用户定义的sigmoid函数替换。gydF4y2Ba

使用字符串,例如gydF4y2Ba“idSigmoidNetwork”gydF4y2Ba,以使用映射函数对象的默认属性。使用对象本身,例如gydF4y2BaidSigmoidNetworkgydF4y2Ba,当需要配置映射对象的属性时。gydF4y2Ba

的gydF4y2BaidWaveletNetworkgydF4y2Ba,gydF4y2BaidSigmoidNetworkgydF4y2Ba,gydF4y2BaidTreePartitiongydF4y2Ba,gydF4y2BaidCustomNetworkgydF4y2Ba对象包含线性和非线性成分。的线性分量可以去掉(不使用)gydF4y2BaidWaveletNetworkgydF4y2Ba,gydF4y2BaidSigmoidNetworkgydF4y2Ba,gydF4y2BaidCustomNetworkgydF4y2Ba通过设置gydF4y2BaLinearFcn。使用gydF4y2Ba价值gydF4y2Ba假gydF4y2Ba.gydF4y2Ba

的gydF4y2BaidFeedforwardNetworkgydF4y2Ba函数只有一个非线性分量,即gydF4y2Ba网络gydF4y2Ba(深度学习工具箱)gydF4y2Ba深度学习工具箱的对象。的gydF4y2BaidLineargydF4y2Ba对象,顾名思义,只有一个线性分量。gydF4y2Ba

output_fcngydF4y2Ba是静态的,因为它只依赖于特定时间的数据值,而不直接依赖于时间本身。例如,如果输出函数gydF4y2BaygydF4y2Ba(gydF4y2BatgydF4y2Ba)等于gydF4y2BaygydF4y2Ba0gydF4y2Ba+gydF4y2Ba一个gydF4y2Ba1gydF4y2BaygydF4y2Ba(gydF4y2BatgydF4y2Ba1) +gydF4y2Ba一个gydF4y2Ba2gydF4y2BaygydF4y2Ba(gydF4y2BatgydF4y2Ba2) +…gydF4y2BabgydF4y2Ba1gydF4y2BaugydF4y2Ba(gydF4y2BatgydF4y2Ba1) +gydF4y2BabgydF4y2Ba2gydF4y2BaugydF4y2Ba(gydF4y2BatgydF4y2Ba-2) +gydF4y2Baoutput_fcngydF4y2Ba是线性函数吗gydF4y2Ba线性gydF4y2Ba映射对象表示。gydF4y2Ba

例如,指定一个字符向量gydF4y2Ba“idSigmoidNetwork”gydF4y2Ba,使用默认设置创建映射对象。或者,你可以用两种方式指定映射对象属性:gydF4y2Ba

  • 使用参数创建映射对象以修改默认属性。gydF4y2Ba

    MO = idSigmoidNetwork(15);gydF4y2Ba
  • 首先创建默认映射对象,然后使用点表示法修改属性。gydF4y2Ba

    MO = idSigmoidNetwork;MO.NumberOfUnits = 15;gydF4y2Ba

为gydF4y2BangydF4y2BaygydF4y2Ba输出通道,您可以通过设置为每个通道单独指定映射对象gydF4y2Baoutput_fcngydF4y2Ba的数组gydF4y2BangydF4y2BaygydF4y2Ba映射对象。例如,下面的代码指定gydF4y2BaOutputFcngydF4y2Ba在有两个输入通道和两个输出通道的系统中使用点表示法。gydF4y2Ba

Sys = idnlarx({gydF4y2Ba“日元”gydF4y2Ba,gydF4y2Ba“日元”gydF4y2Ba},{gydF4y2Ba‘u1’gydF4y2Ba,gydF4y2Ba“u2”gydF4y2Ba});sys。OutputFcn = [idWaveletNetwork;idSigmoidNetwork];gydF4y2Ba
若要为所有输出指定相同的映射,请指定gydF4y2BaOutputFcngydF4y2Ba作为字符向量或单个映射对象。gydF4y2Ba

output_fcngydF4y2Ba表示一个静态映射函数,将非线性ARX模型的回归函数转换为模型输出。gydF4y2Baoutput_fcngydF4y2Ba是静态的,因为它不依赖于时间。例如,如果gydF4y2Ba ygydF4y2Ba (gydF4y2Ba tgydF4y2Ba )gydF4y2Ba =gydF4y2Ba ygydF4y2Ba 0gydF4y2Ba +gydF4y2Ba 一个gydF4y2Ba 1gydF4y2Ba ygydF4y2Ba (gydF4y2Ba tgydF4y2Ba −gydF4y2Ba 1gydF4y2Ba )gydF4y2Ba +gydF4y2Ba 一个gydF4y2Ba 2gydF4y2Ba ygydF4y2Ba (gydF4y2Ba tgydF4y2Ba −gydF4y2Ba 2gydF4y2Ba )gydF4y2Ba +gydF4y2Ba ...gydF4y2Ba +gydF4y2Ba bgydF4y2Ba 1gydF4y2Ba ugydF4y2Ba (gydF4y2Ba tgydF4y2Ba −gydF4y2Ba 1gydF4y2Ba )gydF4y2Ba +gydF4y2Ba bgydF4y2Ba 2gydF4y2Ba ugydF4y2Ba (gydF4y2Ba tgydF4y2Ba −gydF4y2Ba 2gydF4y2Ba )gydF4y2Ba +gydF4y2Ba ...gydF4y2Ba ,然后gydF4y2Baoutput_fcngydF4y2Ba线性函数是用gydF4y2BaidLineargydF4y2Ba对象。gydF4y2Ba

有关指定输出函数的示例,请参见gydF4y2Ba指定和自定义输出函数gydF4y2Ba.gydF4y2Ba

离散时间识别的输入/输出线性模型,指定为使用估计器创建的任何线性模型,例如gydF4y2BaarxgydF4y2Ba,gydF4y2BaarmaxgydF4y2Ba,gydF4y2Ba特遣部队gydF4y2Ba,或gydF4y2Ba党卫军gydF4y2Ba.例如,创建一个状态空间gydF4y2Ba中的难点gydF4y2Ba模型,估计模型使用gydF4y2Ba党卫军gydF4y2Ba.gydF4y2Ba

非线性ARX模型,指定为gydF4y2BaidnlarxgydF4y2Ba模型。gydF4y2Basys0gydF4y2Ba可以是:gydF4y2Ba

  • 以前估计的模型gydF4y2BanlarxgydF4y2Ba.估计算法使用的参数gydF4y2Basys0gydF4y2Ba作为最初的猜测。在这种情况下,使用gydF4y2Ba初始化gydF4y2Ba轻微扰动模型属性,以避免将模型困在局部极小值。gydF4y2Ba

    Sys = init(Sys);Sys = nlarx(数据,Sys);gydF4y2Ba
  • 方法创建的模型gydF4y2BaidnlarxgydF4y2Ba构造函数,并使用点表示法设置属性。例如,使用以下命令创建一个idnlarx对象,设置其属性并估计模型。gydF4y2Ba

    Sys1 = idnlarx(gydF4y2Ba“日元”gydF4y2Ba,gydF4y2Ba‘u1’gydF4y2Ba解释变量);sys1。OutputFcn =gydF4y2Ba“idTreePartition”gydF4y2Ba;sys1。Ts=0.02;sys1。TimeUnit =“分钟”gydF4y2Ba;sys1。InputName =gydF4y2Ba“我的资料”gydF4y2Ba;Sys2 = nlarx(data,sys1);gydF4y2Ba

    上面的代码等价于下面的nlarx命令。gydF4y2Ba

    sys2 = nlarx(data,Regressors,gydF4y2Ba“idTreePartition”gydF4y2Ba,gydF4y2Ba“t”gydF4y2Ba, 0.02,gydF4y2Ba“TimeUnit”gydF4y2Ba,gydF4y2Ba“分钟”gydF4y2Ba,gydF4y2Ba...gydF4y2Ba“InputName”gydF4y2Ba,gydF4y2Ba“我的资料”gydF4y2Ba);gydF4y2Ba

非线性ARX模型识别的估计选项,指定为gydF4y2BanlarxOptionsgydF4y2Ba选项设置。gydF4y2Ba

输出参数gydF4y2Ba

全部折叠gydF4y2Ba

拟合给定估计数据的非线性ARX模型,返回为gydF4y2BaidnlarxgydF4y2Ba对象。该模型是使用指定的模型顺序、非线性估计器和估计选项创建的。gydF4y2Ba

有关所使用的估计结果和选项的信息存储在gydF4y2Ba报告gydF4y2Ba模型的属性。的内容gydF4y2Ba报告gydF4y2Ba取决于您指定的非线性和估计焦点的选择gydF4y2BanlarxgydF4y2Ba.gydF4y2Ba报告gydF4y2Ba具有以下字段:gydF4y2Ba

报告字段gydF4y2Ba 描述gydF4y2Ba
状态gydF4y2Ba

模型状态的总结,表明模型是通过构造创建的还是通过估计获得的。gydF4y2Ba

方法gydF4y2Ba

使用估计命令。gydF4y2Ba

适合gydF4y2Ba

估计的定量评估,作为结构返回。看到gydF4y2Ba损失函数和模型质量度量gydF4y2Ba有关这些质量度量的更多信息。该结构有以下字段:gydF4y2Ba

场gydF4y2Ba 描述gydF4y2Ba
FitPercentgydF4y2Ba

归一化均方根误差(NRMSE)衡量模型响应与估计数据的吻合程度,以百分比表示gydF4y2BafitpercentgydF4y2Ba= 100 (1-NRMSE)。gydF4y2Ba

LossFcngydF4y2Ba

估计完成时损失函数的值。gydF4y2Ba

均方误差gydF4y2Ba

均方误差(MSE)衡量模型的响应与估计数据的吻合程度。gydF4y2Ba

消防工程gydF4y2Ba

模型的最终预测误差。gydF4y2Ba

另类投资会议gydF4y2Ba

原始赤池信息标准(AIC)是模型质量的度量标准。gydF4y2Ba

AICcgydF4y2Ba

小样本量校正AIC。gydF4y2Ba

保险代理人gydF4y2Ba

标准化的另类投资会议。gydF4y2Ba

BICgydF4y2Ba

贝叶斯信息准则(BIC)。gydF4y2Ba

参数gydF4y2Ba

模型参数估计值。gydF4y2Ba

OptionsUsedgydF4y2Ba

用于估计的选项集。如果没有配置自定义选项,则这是一组默认选项。看到gydF4y2BanlarxOptionsgydF4y2Ba获取更多信息。gydF4y2Ba

RandStategydF4y2Ba

估计开始时随机数流的状态。空的,gydF4y2Ba[]gydF4y2Ba,如果在估计过程中没有使用随机化。有关更多信息,请参见gydF4y2BarnggydF4y2Ba.gydF4y2Ba

DataUsedgydF4y2Ba

用于估计的数据的属性,作为具有以下字段的结构返回。gydF4y2Ba

场gydF4y2Ba 描述gydF4y2Ba
的名字gydF4y2Ba

数据集的名称。gydF4y2Ba

类型gydF4y2Ba

数据类型。gydF4y2Ba

长度gydF4y2Ba

数据样本数量。gydF4y2Ba

TsgydF4y2Ba

样品时间。gydF4y2Ba

InterSamplegydF4y2Ba

输入样例间行为,作为以下值之一返回:gydF4y2Ba

  • “zoh”gydF4y2Ba-零阶保持器在样本之间保持分段恒定的输入信号。gydF4y2Ba

  • “呸”gydF4y2Ba-一阶保持器在样本之间保持分段线性输入信号。gydF4y2Ba

  • “提单”gydF4y2Ba—限带行为指连续时间输入信号在奈奎斯特频率以上的功率为零。gydF4y2Ba

InputOffsetgydF4y2Ba

在估计过程中从时域输入数据中删除的偏移量。对于非线性模型,它是gydF4y2Ba[]gydF4y2Ba.gydF4y2Ba

OutputOffsetgydF4y2Ba

在估计过程中从时域输出数据中删除的偏移量。对于非线性模型,它是gydF4y2Ba[]gydF4y2Ba.gydF4y2Ba

终止gydF4y2Ba

用于预测误差最小化的迭代搜索的终止条件,作为具有以下字段的结构返回:gydF4y2Ba

场gydF4y2Ba 描述gydF4y2Ba
WhyStopgydF4y2Ba

终止数值搜索的原因。gydF4y2Ba

迭代gydF4y2Ba

由估计算法执行的搜索迭代次数。gydF4y2Ba

FirstOrderOptimalitygydF4y2Ba

∞gydF4y2Ba -搜索算法结束时梯度搜索向量的norm。gydF4y2Ba

FcnCountgydF4y2Ba

目标函数被调用的次数。gydF4y2Ba

UpdateNormgydF4y2Ba

最后一次迭代中梯度搜索向量的范数。搜索方法为时省略gydF4y2Ba“lsqnonlin”gydF4y2Ba或gydF4y2Ba“fmincon”gydF4y2Ba.gydF4y2Ba

LastImprovementgydF4y2Ba

最后一次迭代中的标准改进,以百分比表示。搜索方法为时省略gydF4y2Ba“lsqnonlin”gydF4y2Ba或gydF4y2Ba“fmincon”gydF4y2Ba.gydF4y2Ba

算法gydF4y2Ba

使用的算法gydF4y2Ba“lsqnonlin”gydF4y2Ba或gydF4y2Ba“fmincon”gydF4y2Ba搜索方法。使用其他搜索方法时省略。gydF4y2Ba

对于不需要数值搜索优化的估计方法,请使用gydF4y2Ba终止gydF4y2Ba字段省略。gydF4y2Ba

有关使用的更多信息gydF4y2Ba报告gydF4y2Ba,请参阅gydF4y2Ba评估报告gydF4y2Ba.gydF4y2Ba

算法gydF4y2Ba

全部折叠gydF4y2Ba

非线性ARX模型结构gydF4y2Ba

非线性ARX模型由模型回归器和输出函数组成。输出函数包括作用于模型回归函数的线性和非线性函数,以给出模型输出和该输出的固定偏移量。该方框图表示仿真场景中非线性ARX模型的结构。gydF4y2Ba

回归块在左边。输出函数在右边。输出函数块从上到下分别包含偏移量、非线性函数和线性函数。回归块的输入是系统输入u和输出函数y的输出。gydF4y2Ba

该软件计算非线性ARX模型输出gydF4y2BaygydF4y2Ba分两个阶段:gydF4y2Ba

  1. 它根据当前和过去的输入值以及过去的输出数据计算回归值。gydF4y2Ba

    在最简单的情况下,回归量是延迟的输入和输出,例如gydF4y2BaugydF4y2Ba(gydF4y2BatgydF4y2Ba1)和gydF4y2BaygydF4y2Ba(gydF4y2BatgydF4y2Ba3)。这种回归量叫做gydF4y2Ba线性解释变量gydF4y2Ba.函数指定线性回归函数gydF4y2BalinearRegressorgydF4y2Ba对象。您还可以通过使用线性ARX模型顺序作为输入参数来指定线性回归器。有关更多信息,请参见gydF4y2Ba非线性ARX模型的阶数与时滞gydF4y2Ba.然而,第二种方法将你的回归函数集限制为连续延迟的线性回归函数。创建gydF4y2Ba多项式解释变量gydF4y2Ba,使用gydF4y2BapolynomialRegressorgydF4y2Ba对象。你也可以指定gydF4y2Ba自定义的解释变量gydF4y2Ba,它们是延迟输入和输出的非线性函数。例如,gydF4y2BaugydF4y2Ba(gydF4y2BatgydF4y2Ba1)gydF4y2BaygydF4y2Ba(gydF4y2BatgydF4y2Ba-3)是一个自定义回归器,它将输入和输出实例相乘。属性指定自定义回归器gydF4y2BacustomRegressorgydF4y2Ba对象。gydF4y2Ba

    您可以将任何回归函数作为输入分配给输出函数的线性函数块,非线性函数块,或两者兼有。gydF4y2Ba

  2. 它使用输出函数块将回归函数映射到模型输出。输出函数块可以并行地包括线性和非线性块。例如,考虑下面的方程:gydF4y2Ba

    FgydF4y2Ba (gydF4y2Ba xgydF4y2Ba )gydF4y2Ba =gydF4y2Ba lgydF4y2Ba TgydF4y2Ba (gydF4y2Ba xgydF4y2Ba −gydF4y2Ba rgydF4y2Ba )gydF4y2Ba +gydF4y2Ba ggydF4y2Ba (gydF4y2Ba 问gydF4y2Ba (gydF4y2Ba xgydF4y2Ba −gydF4y2Ba rgydF4y2Ba )gydF4y2Ba )gydF4y2Ba +gydF4y2Ba dgydF4y2Ba

    在这里,gydF4y2BaxgydF4y2Ba是回归量的向量,和gydF4y2BargydF4y2Ba的均值gydF4y2BaxgydF4y2Ba.gydF4y2Ba FgydF4y2Ba (gydF4y2Ba xgydF4y2Ba )gydF4y2Ba =gydF4y2Ba lgydF4y2Ba TgydF4y2Ba (gydF4y2Ba xgydF4y2Ba −gydF4y2Ba rgydF4y2Ba )gydF4y2Ba +gydF4y2Ba ygydF4y2Ba 0gydF4y2Ba 是线性函数块的输出。gydF4y2Ba ggydF4y2Ba (gydF4y2Ba 问gydF4y2Ba (gydF4y2Ba xgydF4y2Ba −gydF4y2Ba rgydF4y2Ba )gydF4y2Ba )gydF4y2Ba +gydF4y2Ba ygydF4y2Ba 0gydF4y2Ba 表示非线性函数块的输出。gydF4y2Ba问gydF4y2Ba是一个投影矩阵,使计算条件良好。gydF4y2BadgydF4y2Ba是添加到线性和非线性块的组合输出中的标量偏移量。确切的形式gydF4y2BaFgydF4y2Ba(gydF4y2BaxgydF4y2Ba)取决于你选择的输出函数。您可以从gydF4y2Ba可用的映射对象gydF4y2Ba如树划分网络、小波网络、多层神经网络等。您还可以从输出函数中排除线性或非线性函数块。gydF4y2Ba

    在估计非线性ARX模型时,该软件计算模型参数值,例如gydF4y2BalgydF4y2Ba,gydF4y2BargydF4y2Ba,gydF4y2BadgydF4y2Ba,gydF4y2Ba问gydF4y2Ba等参数指定gydF4y2BaggydF4y2Ba.gydF4y2Ba

所得到的非线性ARX模型为gydF4y2BaidnlarxgydF4y2Ba对象,其中存储所有模型数据,包括模型回归器和输出函数的参数。有关这些对象的详细信息,请参见gydF4y2Ba非线性模型结构gydF4y2Ba.gydF4y2Ba

兼容性的考虑gydF4y2Ba

全部展开gydF4y2Ba

不建议从R2021b开始gydF4y2Ba

不建议从R2021a开始gydF4y2Ba

扩展功能gydF4y2Ba

在R2007a中引入gydF4y2Ba