非线性ARX模型参数估计gydF4y2Ba
利用指定的ARX模型阶数和默认的小波网络输出函数估计一个非线性ARX模型来拟合给定的估计数据。当您扩展ARX线性模型时,或者当您只使用带有连续滞后的线性回归器时,请使用此语法。gydF4y2BasysgydF4y2Ba
= nlarx (gydF4y2Ba数据gydF4y2Ba
,gydF4y2Ba订单gydF4y2Ba
)gydF4y2Ba
使用指定的回归集估计一个非线性ARX模型gydF4y2BasysgydF4y2Ba
= nlarx (gydF4y2Ba数据gydF4y2Ba
,gydF4y2Ba解释变量gydF4y2Ba
)gydF4y2Ba解释变量gydF4y2Ba
.当您的线性回归器具有非连续滞后时,或者您还具有多项式回归器、自定义回归器,或同时具有多项式回归器和自定义回归器时,请使用此语法。gydF4y2Ba
指定将回归函数映射到模型输出的输出函数。可以将此语法与前面的任何输入参数组合一起使用。gydF4y2BasysgydF4y2Ba
= nlarx (gydF4y2Ba___gydF4y2Ba,gydF4y2Baoutput_fcngydF4y2Ba
)gydF4y2Ba
使用线性ARX模型gydF4y2BasysgydF4y2Ba
= nlarx (gydF4y2Ba数据gydF4y2Ba
,gydF4y2BalinmodelgydF4y2Ba
)gydF4y2BalinmodelgydF4y2Ba
指定模型阶数和模型线性系数的初值。当您想要创建一个非线性ARX模型作为现有线性模型的扩展或改进时,可以使用此语法。gydF4y2Ba
指定用于模型估计的输出函数。gydF4y2BasysgydF4y2Ba
= nlarx (gydF4y2Ba数据gydF4y2Ba
,gydF4y2BalinmodelgydF4y2Ba
,gydF4y2Baoutput_fcngydF4y2Ba
)gydF4y2Ba
估计或改进非线性ARX模型的参数gydF4y2BasysgydF4y2Ba
= nlarx (gydF4y2Ba数据gydF4y2Ba
,gydF4y2Basys0gydF4y2Ba
)gydF4y2Basys0gydF4y2Ba
.gydF4y2Ba
使用此语法:gydF4y2Ba
方法估计先前创建的模型的参数gydF4y2BaidnlarxgydF4y2Ba
构造函数。在进行估计之前,您可以使用点表示法配置模型属性。gydF4y2Ba
更新先前估计模型的参数,以提高对估计数据的拟合。在这种情况下,估计算法使用的参数gydF4y2Basys0gydF4y2Ba
作为最初的猜测。gydF4y2Ba
指定模型估计的其他配置选项。gydF4y2BasysgydF4y2Ba
= nlarx (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
使用默认值gydF4y2BawavenetgydF4y2Ba
函数作为输出函数。gydF4y2Ba
为了进行比较,计算一个具有相同模型顺序的线性ARX模型。gydF4y2Ba
syl = arx(z,[4 4 1]);gydF4y2Ba
将模型输出与原始数据进行比较。gydF4y2Ba
比较(z, sysNL sysL)gydF4y2Ba
非线性模型比线性模型对数据有更好的拟合。gydF4y2Ba
指定一个等价于的ARX模型的阶矩阵的线性回归量gydF4y2Ba[4 4 1]gydF4y2Ba
.gydF4y2Ba
的阶矩阵gydF4y2Ba[4 4 1]gydF4y2Ba
指定输入和输出回归函数集都包含四个滞后从1到4的回归函数集。例如,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 = linearRegressor(名称,滞后)gydF4y2Ba
lreg = Linear regrestors in variables y1, u1 variables: {'y1' 'u1'} lag: {[1 2 3 4] [1 2 3 4]} UseAbsolute: [0 0] TimeVariable: 't'由这个集合描述的regrestorsgydF4y2Ba
加载评估数据并创建一个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×1细胞gydF4y2Ba{y1 (t - 1)的}{‘y1 (2)} {y1(条t - 3)的}{y1(第四节)的}{u1 (t - 1)的}{的u1 (2)} {u1(条t - 3)的}{}“u1(第四节)”gydF4y2Ba
将模型输出与估计数据进行比较。gydF4y2Ba
比较(z, sys)gydF4y2Ba
创建时间和数据数组。gydF4y2Ba
Dt = 0.01;T = 0:dt:10;Y = 10*sin(2* t)+rand(size(t));gydF4y2Ba
创建一个gydF4y2BaiddatagydF4y2Ba
对象,没有指定输入信号。gydF4y2Ba
Z = iddata(y',[],dt);gydF4y2Ba
估计非线性ARX模型。gydF4y2Ba
Sys = nlarx(z,2)gydF4y2Ba
输出:y1回归量:变量y1中的线性回归量所有回归量列表输出函数:8单位小波网络采样时间:0.01秒状态:使用时域数据“z”上的NLARX估计。与估计数据拟合:92.92%(预测焦点)FPE: 0.2568, MSE: 0.2507gydF4y2Ba
估计一个使用映射函数的非线性ARX模型gydF4y2BasigmoidnetgydF4y2Ba
作为它的输出函数。gydF4y2Ba
加载数据并将其划分为估计和验证数据集gydF4y2Ba泽gydF4y2Ba
而且gydF4y2BazvgydF4y2Ba
.gydF4y2Ba
负载gydF4y2Batwotankdata.matgydF4y2BaugydF4y2BaygydF4y2BaZ = iddata(y,u,gydF4y2Ba“t”gydF4y2Ba, 0.2);Ze = z(1:1500);Zv = z(1501:end);gydF4y2Ba
配置gydF4y2BasigmoidnetgydF4y2Ba
映射函数。将偏移量固定为0.2,将单元数固定为15。gydF4y2Ba
S = sigmoidnet;s.Offset.Value = 0.2;年代,NonlinearFcn。NumberOfUnits = 15;gydF4y2Ba
创建一个包含四个输出回归量和五个输入回归量的线性模型回归量规范。gydF4y2Ba
reg1 = linearRegressor({gydF4y2Ba“日元”gydF4y2Ba,gydF4y2Ba‘u1’gydF4y2Ba}, {1:4, 0:4});gydF4y2Ba
创建一个多项式模型回归器规范,其中包含两个输入项和三个输出项的平方。gydF4y2Ba
reg2 =多项式回归器({gydF4y2Ba“日元”gydF4y2Ba,gydF4y2Ba‘u1’gydF4y2Ba}, {1:2 0:2} 2);gydF4y2Ba
为搜索方法和最大迭代次数设置估计选项。gydF4y2Ba
opt = 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
估计一个线性模型,并通过添加改进模型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,treepartition);gydF4y2Ba
固定的线性分量gydF4y2Basys0gydF4y2Ba
在估计过程中,线性部分gydF4y2Basys0gydF4y2Ba
仍然与gydF4y2BalinsysgydF4y2Ba
.gydF4y2Ba
sys0.OutputFcn.LinearFcn。自由=假;gydF4y2Ba
的自由参数估计gydF4y2Basys0gydF4y2Ba
,分别为非线性函数参数和偏移量。gydF4y2Ba
sys = nlarx(ThrottleData,sys0);gydF4y2Ba
比较线性模型和非线性模型的拟合精度。gydF4y2Ba
比较(ThrottleData linsys sys)gydF4y2Ba
生成一个自定义网络映射对象需要定义一个用户定义的单元函数。gydF4y2Ba
定义单元函数并将其保存为gydF4y2Bagaussunit.mgydF4y2Ba
.gydF4y2Ba
版权所有2015 The MathWorks, Inc.gydF4y2Ba函数gydF4y2Ba[f, g, a] = gaussunit(x) f = exp(-x.*x);gydF4y2Ba如果gydF4y2BaNargout >1 g = -2*x.*f;A = 0.2;gydF4y2Ba结束gydF4y2Ba
类的句柄创建自定义网络映射对象gydF4y2BagaussunitgydF4y2Ba
函数。gydF4y2Ba
H = @gaussunit;CNet =定制网(H);gydF4y2Ba
加载估计数据。gydF4y2Ba
负载gydF4y2Baiddata1gydF4y2Ba;gydF4y2Ba
利用自定义网络估计一个非线性ARX模型。gydF4y2Ba
sys = nlarx(z1,[1 2 1],CNet)gydF4y2Ba
1输出1输入的非线性ARX模型输入:u1输出:y1回归量:变量y1, u1的线性回归量输出函数:10单位自定义网络采样时间:0.1秒状态:使用时域数据“z1”上的NLARX估计。与估计数据拟合: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 =[小波网(gydF4y2Ba“NumberOfUnits”gydF4y2Ba2)线性);gydF4y2Ba
估计非线性ARX模型。gydF4y2Ba
sys = nlarx(z,Orders,NL)gydF4y2Ba
输入:u1, u2, u3, u4, u5, u6输出:y1, y2回归量:变量y1, y2, u1, u2, u3, u4, u5, u6的线性回归量列表所有回归量输出函数:输出1:2单元小波网络输出2:线性函数采样时间:0.02秒状态:使用时域数据NLARX估计“Motorized Camera”。拟合估计数据:[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模型gydF4y2BasigmoidnetgydF4y2Ba
映射功能与四个单位的所有输出通道。gydF4y2Ba
Sys = nlarx(z,reg,sigmoidnet(4))gydF4y2Ba
sys = 2输出6输入的非线性ARX模型输入:u1, u2, u3, u4, u5, u6输出:y1, y2, u1, u2, u3, u4, u5, u6的线性回归变量y1, y2, u1, u2, u3, u4, u5, u6所有回归器列表输出函数:输出1:Sigmoid网络4单元输出2:Sigmoid网络4单元采样时间:0.02秒状态:使用时域数据“z”上的NLARX估计。拟合估计数据:[98.86;98.79]%(预测焦点)FPE: 2.641, MSE: 0.9233gydF4y2Ba
加载估计数据gydF4y2Baz1gydF4y2Ba
,它有一个输入和一个输出,并获得输出和输入名称。gydF4y2Ba
负载gydF4y2Baiddata1gydF4y2Baz1gydF4y2Ba;Names = [z1.]OutputName z1。InputName]gydF4y2Ba
名称=gydF4y2Ba1×2细胞gydF4y2Ba{“日元”}{u1的}gydF4y2Ba
指定gydF4y2BalgydF4y2Ba
线性回归量的集合表示gydF4y2Ba
,gydF4y2Ba
,gydF4y2Ba
.gydF4y2Ba
L =线性回归(名称,{1,[2 5]});gydF4y2Ba
指定gydF4y2BaPgydF4y2Ba
作为多项式回归量gydF4y2Ba
.gydF4y2Ba
P =多项式回归(names(1),1,2);gydF4y2Ba
指定gydF4y2BaCgydF4y2Ba
作为自定义回归量gydF4y2Ba
.使用匿名函数句柄来定义此函数。gydF4y2Ba
C = customRegressor(names,{2 3},@(x,y)x.*y)gydF4y2Ba
C = Custom regressor: y1(t-2).*u1(t-3) VariablesToRegressorFcn: @(x,y)x。*y变量:{'y1' 'u1'}滞后:{[2][3]}向量化:1 TimeVariable: 't'由此集合描述的回归器gydF4y2Ba
合并列向量中的回归量gydF4y2BaRgydF4y2Ba
.gydF4y2Ba
R = [l; p; c]gydF4y2Ba
R =gydF4y2Ba3×1对象gydF4y2Ba[3 1]线性回归器,多项式回归器,定制回归器对象的数组。------------------------------------ 1。线性解释变量y₁,u1变量:{“日元”的u1}滞后:{[1][2 - 5]}UseAbsolute: [0 0] TimeVariable:“t ' ------------------------------------ 2。Order: 2 variables: {'y1'} lag: {[1]} UseAbsolute: 0 AllowVariableMix: 0 AllowLagMix: 0 TimeVariable: 't' ------------------------------------ 3。自定义回归器:y1(t-2).*u1(t-3) VariablesToRegressorFcn: @(x,y)x。*y变量:{'y1' 'u1'}滞后:{[2][3]}向量化:1 TimeVariable: 't'由此集合描述的回归器gydF4y2Ba
估计一个非线性ARX模型gydF4y2BaRgydF4y2Ba
.gydF4y2Ba
sys = nlarx(z1,R)gydF4y2Ba
1输出1输入的非线性ARX模型输入:u1输出:y1回归量:1。变量y1 u1 2的线性回归量。变量y1的回归量为2阶。自定义回归量:y1(t-2) *u1(t-3)所有回归量列表输出函数:1单位小波网络采样时间:0.1秒状态:使用时域数据“z1”上的NLARX估计。拟合估计数据:59.73%(预测焦点)FPE: 3.356, MSE: 3.147gydF4y2Ba
查看完整的回归集。gydF4y2Ba
getreg(系统)gydF4y2Ba
ans =gydF4y2Ba5×1细胞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 = sigmoidnet(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 =趋势(ThrottleData,Tr);gydF4y2Ba
估计线性ARX模型。gydF4y2Ba
线性模型= arx(DetrendedData,[2 1 1]);gydF4y2Ba
用线性模型估计非线性ARX模型。模型的阶数、时滞和线性参数gydF4y2BaNonlinearModelgydF4y2Ba
都是从gydF4y2BaLinearModelgydF4y2Ba
.gydF4y2Ba
非线性模型= nlarx(ThrottleData,LinearModel)gydF4y2Ba
输入:阶跃命令输出:节流阀位置回归器:变量中的线性回归器节流阀位置,所有回归器的阶跃命令列表输出函数:小波网络,7个单元采样时间:0.01秒状态:使用时域数据“ThrottleData”上的NLARX估计。与估计数据拟合:99.03%(预测焦点)FPE: 0.1127, MSE: 0.1039gydF4y2Ba
idnlarxgydF4y2Ba
对象gydF4y2Ba加载估计数据。gydF4y2Ba
负载gydF4y2Baiddata1gydF4y2Ba;gydF4y2Ba
创建一个gydF4y2BaidnlarxgydF4y2Ba
模型。gydF4y2Ba
Sys = idnlarx([2 2 1]);gydF4y2Ba
使用点表示法配置模型:gydF4y2Ba
使用sigmoid网络映射对象。gydF4y2Ba
指定一个名字。gydF4y2Ba
sys。非线性=gydF4y2Ba“sigmoidnet”gydF4y2Ba;sys。的名字=gydF4y2Ba“模式1”gydF4y2Ba;gydF4y2Ba
中指定的结构和属性估计一个非线性ARX模型gydF4y2BaidnlarxgydF4y2Ba
对象。gydF4y2Ba
Sys = nlarx(z1, Sys)gydF4y2Ba
sys = 1输出1输入的非线性ARX模型输入:u1输出:y1回归函数:变量y1, u1中的线性回归函数所有回归函数列表输出函数:Sigmoid网络10个单元名称:模型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“sigmoidnet”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
选项集,指定模拟误差最小化目标和最多50个估计迭代。gydF4y2Ba
opt = nlarxOptions;opt.Focus =gydF4y2Ba“模拟”gydF4y2Ba;opt.SearchOptions.MaxIterations = 50;gydF4y2Ba
估计非线性ARX模型。gydF4y2Ba
Sys = nlarx(z,[4 4 1],gydF4y2Ba“sigmoidnet”gydF4y2Ba选择)gydF4y2Ba
sys = 1输出1输入的非线性ARX模型输入:u1输出:y1回归器:变量y1, u1的线性回归器列表所有回归器输出函数:Sigmoid网络10单位采样时间:0.2秒状态:使用时域数据“z”上的NLARX估计。拟合估计数据:88.79%(模拟焦点)FPE: 3.341e-05, MSE: 0.0004307gydF4y2Ba
加载正则化示例数据。gydF4y2Ba
负载gydF4y2BaregularizationExampleData.matgydF4y2BanldatagydF4y2Ba;gydF4y2Ba
创建一个gydF4y2BasigmoidnetgydF4y2Ba
映射对象与30个单元,并指定模型订单。gydF4y2Ba
MO = sigmoidnet(30);订单= [1 2 1];gydF4y2Ba
创建一个评估选项集,并将评估搜索方法设置为gydF4y2BalmgydF4y2Ba
.gydF4y2Ba
opt = nlarxOptions(gydF4y2Ba“SearchMethod”gydF4y2Ba,gydF4y2Ba“lm”gydF4y2Ba);gydF4y2Ba
估计一个非正则化模型。gydF4y2Ba
sys = nlarx(nldata,Orders,MO,opt);gydF4y2Ba
配置正则化gydF4y2BaλgydF4y2Ba
参数。gydF4y2Ba
λ = 1e-8;gydF4y2Ba
估计一个正则化的模型。gydF4y2Ba
sysR = nlarx(nldata,Orders,MO,opt);gydF4y2Ba
比较这两个模型。gydF4y2Ba
比较(nldata sys sysR)gydF4y2Ba
非正则化模型较大的负拟合结果表明与数据的拟合较差。估计一个正则化的模型会产生明显更好的结果。gydF4y2Ba
数据gydF4y2Ba
- - - - - -gydF4y2Ba时域估计数据gydF4y2BaiddatagydF4y2Ba
对象gydF4y2Ba|gydF4y2Ba数字矩阵gydF4y2Ba时域估计数据,指定为gydF4y2BaiddatagydF4y2Ba
对象或数值矩阵。gydF4y2Ba
如果gydF4y2Ba数据gydF4y2Ba
是一个gydF4y2BaiddatagydF4y2Ba
对象,然后gydF4y2Ba数据gydF4y2Ba
可以有一个或多个输出通道和零个或多个输入通道。gydF4y2Ba
如果gydF4y2Ba数据gydF4y2Ba
为数值矩阵,则数据的列数必须与输入数的和(gydF4y2BangydF4y2BaugydF4y2Ba)和输出数目(gydF4y2BangydF4y2BaygydF4y2Ba.gydF4y2Ba
数据gydF4y2Ba
必须均匀采样,不能包含遗漏(gydF4y2Ba南gydF4y2Ba
)样品。gydF4y2Ba
订单gydF4y2Ba
- - - - - -gydF4y2BaARX型号订单gydF4y2BanlarxgydF4y2Ba
订单gydF4y2Ba[na nb nk]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
解释变量gydF4y2Ba
- - - - - -gydF4y2Ba回归量规范gydF4y2BalinearRegressorgydF4y2Ba
对象gydF4y2Ba|gydF4y2BapolynomialRegressorgydF4y2Ba
对象gydF4y2Ba|gydF4y2BacustomRegressorgydF4y2Ba
对象gydF4y2Ba|gydF4y2Ba回归器规范对象的列数组gydF4y2Ba类型的回归器规范,指定为包含一个或多个回归器规范对象的列向量gydF4y2BalinearRegressorgydF4y2Ba
对象,gydF4y2BapolynomialRegressorgydF4y2Ba
对象,gydF4y2BacustomRegressorgydF4y2Ba
对象。每个对象指定从滞后变量生成回归量的公式。例如:gydF4y2Ba
L = linearRegressor({'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
当您创建回归函数集以支持使用万博1manbetxgydF4y2BaiddatagydF4y2Ba
对象,您可以使用对象的输入和输出名称,而不是为回归函数创建名称。例如,假设您为模型创建了一个线性回归函数,计划使用gydF4y2BaiddatagydF4y2Ba
对象gydF4y2BazgydF4y2Ba
估计模型。可以使用以下命令创建线性回归函数。gydF4y2Ba
L = linearRegressor([z. outputname;inputName) {1, 2 [5]})gydF4y2Ba
有关创建和使用SISO线性回归函数集的示例,请参见gydF4y2Ba利用线性回归集估计非线性ARX模型gydF4y2Ba.有关创建从估计数据集获取变量名的MIMO线性回归集的示例,请参见gydF4y2Ba估计所有输出具有相同映射函数的MIMO非线性ARX模型gydF4y2Ba.gydF4y2Ba
output_fcngydF4y2Ba
- - - - - -gydF4y2Ba输出函数gydF4y2Ba“wavenet”gydF4y2Ba
(默认)|gydF4y2Ba“线性”gydF4y2Ba
|gydF4y2Ba[]gydF4y2Ba
|gydF4y2Ba”gydF4y2Ba
|gydF4y2Ba“sigmoidnet”gydF4y2Ba
|gydF4y2Ba“treepartition”gydF4y2Ba
|gydF4y2Ba“neuralnet”gydF4y2Ba
|gydF4y2Ba“customnet”gydF4y2Ba
|gydF4y2Ba映射对象gydF4y2Ba|gydF4y2Ba映射对象数组gydF4y2Ba函数的回归量映射的输出函数gydF4y2BaidnlarxgydF4y2Ba
模型到模型输出中,指定为包含零个或多个以下字符串或对象的列数组:gydF4y2Ba
“wavenet”gydF4y2Ba 或gydF4y2BawavenetgydF4y2Ba 对象gydF4y2Ba |
小波网络gydF4y2Ba |
“线性”gydF4y2Ba 或gydF4y2Ba”gydF4y2Ba 或gydF4y2Ba[]gydF4y2Ba 或gydF4y2Ba线性gydF4y2Ba 对象gydF4y2Ba |
线性函数gydF4y2Ba |
“sigmoidnet”gydF4y2Ba 或gydF4y2BasigmoidnetgydF4y2Ba 对象gydF4y2Ba |
乙状结肠网络gydF4y2Ba |
“treepartition”gydF4y2Ba 或gydF4y2BatreepartitiongydF4y2Ba 对象gydF4y2Ba |
二叉树划分回归模型gydF4y2Ba |
neuralnetgydF4y2Ba 对象gydF4y2Ba |
神经网络-深度学习工具箱的前馈网络。gydF4y2Ba |
customnetgydF4y2Ba 对象gydF4y2Ba |
自定义网络——类似于gydF4y2BasigmoidnetgydF4y2Ba ,但使用用户定义的sigmoid函数替换。gydF4y2Ba |
使用字符串,例如gydF4y2Ba“sigmoidnet”gydF4y2Ba
,以使用映射函数对象的默认属性。使用对象本身,例如gydF4y2BasigmoidnetgydF4y2Ba
,当需要配置映射对象的属性时。gydF4y2Ba
的gydF4y2BawavenetgydF4y2Ba
,gydF4y2BasigmoidnetgydF4y2Ba
,gydF4y2BatreepartiongydF4y2Ba
,gydF4y2BacustomnetgydF4y2Ba
对象包含线性和非线性组件。的线性分量可以删除(不使用)gydF4y2BawavenetgydF4y2Ba
,gydF4y2BasigmoidnetgydF4y2Ba
,gydF4y2BacustomnetgydF4y2Ba
通过设置gydF4y2BaLinearFcn。使用gydF4y2Ba
价值gydF4y2Ba假gydF4y2Ba
.gydF4y2Ba
的gydF4y2BaneuralnetgydF4y2Ba
函数只有一个非线性分量,即gydF4y2Ba网络gydF4y2Ba
(深度学习工具箱)gydF4y2Ba深度学习工具箱的对象。线性函数,顾名思义,只有一个线性分量。gydF4y2Ba
output_fcngydF4y2Ba
是静态的,因为它只依赖于特定时间的数据值,而不直接依赖于时间本身。例如,如果输出函数gydF4y2BaygydF4y2Ba(gydF4y2BatgydF4y2Ba)等于gydF4y2BaygydF4y2Ba0gydF4y2Ba+gydF4y2Ba一个gydF4y2Ba1gydF4y2BaygydF4y2Ba(gydF4y2BatgydF4y2Ba1) +gydF4y2Ba一个gydF4y2Ba2gydF4y2BaygydF4y2Ba(gydF4y2BatgydF4y2Ba-2) +…gydF4y2BabgydF4y2Ba1gydF4y2BaugydF4y2Ba(gydF4y2BatgydF4y2Ba1) +gydF4y2BabgydF4y2Ba2gydF4y2BaugydF4y2Ba(gydF4y2BatgydF4y2Ba-2) +…,那么gydF4y2Baoutput_fcngydF4y2Ba
是一个线性函数吗gydF4y2Ba线性gydF4y2Ba
映射对象表示。gydF4y2Ba
例如,指定字符向量gydF4y2Ba“sigmoidnet”gydF4y2Ba
,使用默认设置创建映射对象。或者,你可以用两种方式指定映射对象属性:gydF4y2Ba
使用参数创建映射对象以修改默认属性。gydF4y2Ba
MO = sigmoidnet(15);gydF4y2Ba
首先创建默认映射对象,然后使用点表示法修改属性。gydF4y2Ba
MO = sigmoidnet;MO.NumberOfUnits = 15;gydF4y2Ba
为gydF4y2BangydF4y2BaygydF4y2Ba输出通道,您可以通过设置为每个通道单独指定映射对象gydF4y2Baoutput_fcngydF4y2Ba
的数组gydF4y2BangydF4y2BaygydF4y2Ba映射对象。例如,以下代码指定gydF4y2BaOutputFcngydF4y2Ba
对有两个输入通道和两个输出通道的系统使用点表示法。gydF4y2Ba
Sys = idnlarx({gydF4y2Ba“日元”gydF4y2Ba,gydF4y2Ba“日元”gydF4y2Ba}, {gydF4y2Ba‘u1’gydF4y2Ba,gydF4y2Ba“u2”gydF4y2Ba});sys。OutputFcn = [wavenet;sigmoidnet];gydF4y2Ba
OutputFcngydF4y2Ba
作为字符向量或单个映射对象。gydF4y2Ba
output_fcngydF4y2Ba
表示将非线性ARX模型的回归量转换为模型输出的静态映射函数。gydF4y2Baoutput_fcngydF4y2Ba
是静态的,因为它不依赖于时间。例如,如果gydF4y2Ba
,然后gydF4y2Baoutput_fcngydF4y2Ba
线性函数是用gydF4y2Ba线性gydF4y2Ba
对象。gydF4y2Ba
有关指定输出函数的示例,请参见gydF4y2Ba指定和自定义输出函数gydF4y2Ba.gydF4y2Ba
linmodelgydF4y2Ba
- - - - - -gydF4y2Ba离散时间线性模型gydF4y2BaidpolygydF4y2Ba
对象gydF4y2Ba|gydF4y2Ba中的难点gydF4y2Ba
对象gydF4y2Ba|gydF4y2BaidtfgydF4y2Ba
对象gydF4y2Ba|gydF4y2BaidprocgydF4y2Ba
对象gydF4y2Ba离散时间识别的输入/输出线性模型,指定为使用估计器创建的任何线性模型,如gydF4y2BaarxgydF4y2Ba
,gydF4y2BaarmaxgydF4y2Ba
,gydF4y2Ba特遣部队gydF4y2Ba
,或gydF4y2Ba党卫军gydF4y2Ba
.例如,创建状态空间gydF4y2Ba中的难点gydF4y2Ba
模型,估计使用的模型gydF4y2Ba党卫军gydF4y2Ba
.gydF4y2Ba
sys0gydF4y2Ba
- - - - - -gydF4y2Ba非线性ARX模型gydF4y2BaidnlarxgydF4y2Ba
模型gydF4y2Ba非线性ARX模型,指定为gydF4y2BaidnlarxgydF4y2Ba
模型。gydF4y2Basys0gydF4y2Ba
可以是:gydF4y2Ba
先前估计使用的模型gydF4y2BanlarxgydF4y2Ba
.估计算法使用的参数gydF4y2Basys0gydF4y2Ba
作为最初的猜测。在这种情况下,使用gydF4y2Ba初始化gydF4y2Ba
轻微扰动模型属性,以避免将模型困于局部极小值。gydF4y2Ba
Sys = init(Sys);Sys = nlarx(data, Sys);gydF4y2Ba
类先前创建的模型gydF4y2BaidnlarxgydF4y2Ba
构造函数和使用点表示法设置的属性。例如,使用以下命令创建idnlarx对象、设置其属性并估计模型。gydF4y2Ba
Sys1 = idnlarx(gydF4y2Ba“日元”gydF4y2Ba,gydF4y2Ba‘u1’gydF4y2Ba解释变量);sys1。OutputFcn =gydF4y2Ba“treepartition”gydF4y2Ba;sys1。Ts=0.02;sys1。TimeUnit =“分钟”gydF4y2Ba;sys1。InputName =gydF4y2Ba“我的资料”gydF4y2Ba;Sys2 = nlarx(data,sys1);gydF4y2Ba
上述代码相当于下面的nlarx命令。gydF4y2Ba
sys2 = nlarx(data, regresors,gydF4y2Ba“treepartition”gydF4y2Ba,gydF4y2Ba“t”gydF4y2Ba, 0.02,gydF4y2Ba“TimeUnit”gydF4y2Ba,gydF4y2Ba“分钟”gydF4y2Ba,gydF4y2Ba...gydF4y2Ba“InputName”gydF4y2Ba,gydF4y2Ba“我的资料”gydF4y2Ba);gydF4y2Ba
选项gydF4y2Ba
- - - - - -gydF4y2Ba估计选项gydF4y2BanlarxOptionsgydF4y2Ba
选项设置gydF4y2Ba非线性ARX模型辨识的估计选项,指定为gydF4y2BanlarxOptionsgydF4y2Ba
选项设置。gydF4y2Ba
sysgydF4y2Ba
-非线性ARX模型gydF4y2BaidnlarxgydF4y2Ba
对象gydF4y2Ba拟合给定估计数据的非线性ARX模型,返回为gydF4y2BaidnlarxgydF4y2Ba
对象。该模型是使用指定的模型顺序、非线性估计器和估计选项创建的。gydF4y2Ba
关于所使用的估计结果和选项的信息存储在gydF4y2Ba报告gydF4y2Ba
模型的属性。的内容gydF4y2Ba报告gydF4y2Ba
取决于您指定的非线性和估计焦点的选择gydF4y2BanlarxgydF4y2Ba
.gydF4y2Ba报告gydF4y2Ba
具有以下字段:gydF4y2Ba
报告字段gydF4y2Ba | 描述gydF4y2Ba | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
状态gydF4y2Ba |
模型状态的摘要,它表明模型是通过构建创建的还是通过估计获得的。gydF4y2Ba |
||||||||||||||||||
方法gydF4y2Ba |
使用的估计命令。gydF4y2Ba |
||||||||||||||||||
适合gydF4y2Ba |
估计的定量评估,作为结构返回。看到gydF4y2Ba损失函数和模型质量度量gydF4y2Ba有关这些质量指标的更多信息。该结构有以下字段:gydF4y2Ba
|
||||||||||||||||||
参数gydF4y2Ba |
模型参数估计值。gydF4y2Ba |
||||||||||||||||||
OptionsUsedgydF4y2Ba |
用于估计的选项集。如果没有配置自定义选项,则这是一组默认选项。看到gydF4y2Ba |
||||||||||||||||||
RandStategydF4y2Ba |
估计开始时随机数流的状态。空的,gydF4y2Ba |
||||||||||||||||||
DataUsedgydF4y2Ba |
用于估计的数据的属性,作为具有以下字段的结构返回:gydF4y2Ba
|
||||||||||||||||||
终止gydF4y2Ba |
用于预测误差最小化的迭代搜索的终止条件,作为具有以下字段的结构返回:gydF4y2Ba
对于不需要数值搜索优化的估计方法gydF4y2Ba |
有关使用的更多信息gydF4y2Ba报告gydF4y2Ba
,请参阅gydF4y2Ba评估报告gydF4y2Ba.gydF4y2Ba
非线性ARX模型由模型回归器和输出函数组成。输出函数包括作用于模型回归器的线性和非线性函数,以给出模型输出和该输出的固定偏移量。此框图表示了仿真场景中一个非线性ARX模型的结构。gydF4y2Ba
该软件计算非线性ARX模型输出gydF4y2BaygydF4y2Ba分为两个阶段:gydF4y2Ba
它从当前和过去的输入值以及过去的输出数据计算回归值。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
它使用输出函数块将回归函数映射到模型输出。输出函数块可以并行包含线性和非线性块。例如,考虑下面的等式:gydF4y2Ba
在这里,gydF4y2BaxgydF4y2Ba是一个回归量的向量,和gydF4y2BargydF4y2Ba的均值gydF4y2BaxgydF4y2Ba.gydF4y2Ba 是线性函数块的输出。gydF4y2Ba 表示非线性函数块的输出。gydF4y2Ba问gydF4y2Ba是一个投影矩阵,使计算条件良好。gydF4y2BadgydF4y2Ba是添加到线性和非线性块的组合输出中的标量偏移量。确切的形式gydF4y2BaFgydF4y2Ba(gydF4y2BaxgydF4y2Ba)取决于你选择的输出函数。您可以从gydF4y2Ba可用的映射对象gydF4y2Ba,如树划分网络,小波网络,多层神经网络。还可以从输出函数中排除线性或非线性函数块。gydF4y2Ba
在估计一个非线性ARX模型时,该软件计算模型参数值,如gydF4y2BalgydF4y2Ba,gydF4y2BargydF4y2Ba,gydF4y2BadgydF4y2Ba,gydF4y2Ba问gydF4y2Ba,以及其他参数指定gydF4y2BaggydF4y2Ba.gydF4y2Ba
得到的非线性ARX模型为gydF4y2BaidnlarxgydF4y2Ba
存储所有模型数据的对象,包括模型回归器和输出函数的参数。有关这些对象的更多信息,请参见gydF4y2Ba非线性模型结构gydF4y2Ba.gydF4y2Ba
idnlarxgydF4y2Ba
不推荐使用。gydF4y2Ba不建议从R2021a开始gydF4y2Ba
的几个属性从R2021a开始gydF4y2BaidnlarxgydF4y2Ba
已修改或更换。gydF4y2Ba
这些变化会影响两者的语法gydF4y2BaidnlarxgydF4y2Ba
而且gydF4y2BanlarxgydF4y2Ba
.不建议使用下表中的pre-R2021a属性。但是,软件仍然接受包含这些属性的调用语法。目前还没有排除这些语法的计划。使用ARX模型命令的命令语法仍然是推荐的语法。gydF4y2Ba
Pre-R2021a财产gydF4y2Ba | R2021a财产gydF4y2Ba | 使用gydF4y2Ba |
---|---|---|
ARX型号订单gydF4y2Bana, nb, nkgydF4y2Ba |
解释变量gydF4y2Ba ,其中包括gydF4y2BalinearRegressorgydF4y2Ba ,gydF4y2BapolynomialRegressorgydF4y2Ba ,gydF4y2BacustomRegressorgydF4y2Ba 对象。gydF4y2Ba |
您不能再更改现有的gydF4y2Ba |
customRegressorsgydF4y2Ba |
解释变量gydF4y2Ba |
使用gydF4y2BapolynomialRegressorgydF4y2Ba 或gydF4y2BacustomRegressorgydF4y2Ba 创建回归函数对象,并将对象添加到gydF4y2Ba解释变量gydF4y2Ba 数组中。gydF4y2Ba |
NonlinearRegressorsgydF4y2Ba |
RegressorUsagegydF4y2Ba |
RegressorUsagegydF4y2Ba 包含线性和非线性输出组件的回归函数赋值的表。修改相应的赋值gydF4y2BaRegressorUsagegydF4y2Ba 表条目。gydF4y2Ba |
非线性gydF4y2Ba |
OutputFcngydF4y2Ba |
改变只是名义上的。属性保持为对象或数组或将回归函数输入映射到输出的对象。gydF4y2Ba |
的并行计算支持可用于估计万博1manbetxgydF4y2BalsqnonlingydF4y2Ba
搜索方法(需要优化工具箱™)。要启用并行计算,请使用gydF4y2BanlarxOptionsgydF4y2Ba
,设置gydF4y2BaSearchMethodgydF4y2Ba
来gydF4y2Ba“lsqnonlin”gydF4y2Ba
,并设置gydF4y2BaSearchOptions.Advanced.UseParallelgydF4y2Ba
来gydF4y2Ba真正的gydF4y2Ba
,如下例所示。gydF4y2Ba
opt = nlarxOptions;opt.SearchMethod =gydF4y2Ba“lsqnonlin”gydF4y2Ba;opt.SearchOptions.Advanced.UseParallel = true;gydF4y2Ba
另类投资会议gydF4y2Ba
|gydF4y2Ba消防工程gydF4y2Ba
|gydF4y2BagoodnessOfFitgydF4y2Ba
|gydF4y2BaidnlarxgydF4y2Ba
|gydF4y2BaisnlarxgydF4y2Ba
|gydF4y2BalinearRegressorgydF4y2Ba
|gydF4y2BanlarxOptionsgydF4y2Ba
|gydF4y2BapolynomialRegressorgydF4y2Ba
你点击了一个对应于这个MATLAB命令的链接:gydF4y2Ba
在MATLAB命令窗口中输入命令来运行该命令。Web浏览器不支持MATLAB命令。万博1manbetxgydF4y2Ba
选择一个网站,在可用的地方获得翻译的内容,并查看当地的活动和优惠。根据您的地理位置,我们建议您选择:gydF4y2Ba.gydF4y2Ba
选择gydF4y2Ba网站gydF4y2Ba您也可以从以下列表中选择网站:gydF4y2Ba
选择中国网站(中文或英文)以获得最佳的网站表现。其他MathWorks国家网站没有针对从您的位置访问进行优化。gydF4y2Ba