nlarxgydF4y2Ba
非线性ARX模型参数估计gydF4y2Ba
语法gydF4y2Ba
描述gydF4y2Ba
指定解释变量gydF4y2Ba
使用指定的ARX模型阶数和默认的小波网络输出函数估计一个非线性ARX模型来拟合给定的估计数据。gydF4y2BasysgydF4y2Ba
= nlarx (gydF4y2Ba数据gydF4y2Ba
,gydF4y2Ba订单gydF4y2Ba
)gydF4y2Ba数据gydF4y2Ba
可以是a的形式gydF4y2Ba时间表gydF4y2Ba
、逗号分隔的一对数值矩阵、单个数值矩阵或数据对象。当您扩展ARX线性模型时,或者当您只使用具有连续滞后的线性回归器时,请使用此语法。gydF4y2Ba
使用指定的回归集估计非线性ARX模型gydF4y2BasysgydF4y2Ba
= nlarx (gydF4y2Ba数据gydF4y2Ba
,gydF4y2Ba解释变量gydF4y2Ba
)gydF4y2Ba解释变量gydF4y2Ba
.当你有非连续滞后的线性回归量,或者当你有多项式回归量、周期回归量和自定义回归量的任意组合时,请使用此语法。gydF4y2Ba
指定将回归函数映射到模型输出的输出函数。您可以将此语法用于前面的任何输入参数组合。gydF4y2BasysgydF4y2Ba
= nlarx (gydF4y2Ba___gydF4y2Ba,gydF4y2Baoutput_fcngydF4y2Ba
)gydF4y2Ba
指定线性模型gydF4y2Ba
使用线性ARX模型gydF4y2BasysgydF4y2Ba
= nlarx (gydF4y2Ba数据gydF4y2Ba
,gydF4y2BalinmodelgydF4y2Ba
)gydF4y2BalinmodelgydF4y2Ba
指定模型阶数和模型线性系数的初始值。当您想要创建一个非线性ARX模型作为现有线性模型的扩展或改进时,请使用此语法。使用此语法时,软件将偏移值初始化为gydF4y2Ba0gydF4y2Ba
.在某些情况下,可以通过使用命令重写此初始化来改进估计结果gydF4y2Basys.OutputFcn.Offset.Value = NaNgydF4y2Ba
.gydF4y2Ba
指定用于模型估计的输出函数。gydF4y2BasysgydF4y2Ba
= nlarx (gydF4y2Ba数据gydF4y2Ba
,gydF4y2BalinmodelgydF4y2Ba
,gydF4y2Baoutput_fcngydF4y2Ba
)gydF4y2Ba
改进现有模型gydF4y2Ba
估计或细化非线性ARX模型的参数gydF4y2BasysgydF4y2Ba
= nlarx (gydF4y2Ba数据gydF4y2Ba
,gydF4y2Basys0gydF4y2Ba
)gydF4y2Basys0gydF4y2Ba
.gydF4y2Ba
使用此语法:gydF4y2Ba
方法估计先前创建的模型的参数gydF4y2Ba
idnlarxgydF4y2Ba
构造函数。在进行估计之前,您可以使用点表示法配置模型属性。gydF4y2Ba更新先前估计模型的参数,以提高对估计数据的拟合。在这种情况下,估计算法使用的参数gydF4y2Ba
sys0gydF4y2Ba
作为最初的猜测。gydF4y2Ba
指定的选项gydF4y2Ba
为模型估计指定其他配置选项。gydF4y2BasysgydF4y2Ba
= nlarx (gydF4y2Ba___gydF4y2Ba,gydF4y2Ba选项gydF4y2Ba
)gydF4y2Ba
例子gydF4y2Ba
估计非线性ARX模型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-05更多信息在模型的“报告”属性。gydF4y2Ba
sysgydF4y2Ba
使用默认值gydF4y2BaidWaveletNetworkgydF4y2Ba
函数作为输出函数。gydF4y2Ba
为了进行比较,计算具有相同模型阶数的线性ARX模型。gydF4y2Ba
sysL = arx(z,[4 4 1]);gydF4y2Ba
将模型输出与原始数据进行比较。gydF4y2Ba
比较(z, sysNL sysL)gydF4y2Ba
非线性模型比线性模型对数据有更好的拟合。gydF4y2Ba
用线性回归集估计非线性ARX模型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 =线性回归(名称,滞后)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-05更多信息在模型的“报告”属性。gydF4y2Ba
查看回归量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
从时间序列数据估计非线性ARX模型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.2507更多信息在模型的“报告”属性。gydF4y2Ba
指定和自定义输出函数gydF4y2Ba
估计一个使用映射函数的非线性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。νmberOfUnits = 15;
创建一个包含四个输出回归量和五个输入回归量的线性模型回归量规范。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
增加输出函数对线性模型进行扩展和改进gydF4y2Ba
对线性模型进行估计,并通过添加参数对模型进行改进gydF4y2BaidTreePartitiongydF4y2Ba
输出函数。gydF4y2Ba
加载估计数据。gydF4y2Ba
负载gydF4y2BathrottledatagydF4y2BaThrottleDatagydF4y2Ba
估计一个线性ARX模型gydF4y2BalinsysgydF4y2Ba
与订单gydF4y2Ba[2 2 1]gydF4y2Ba
.gydF4y2Ba
linsys = arx(ThrottleData,[2 2 1]);gydF4y2Ba
创建一个gydF4y2BaidnlarxgydF4y2Ba
使用的模板模型gydF4y2BalinsysgydF4y2Ba
并指定gydF4y2BaidTreePartitiongydF4y2Ba
作为输出函数。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
利用自定义网络映射对象估计非线性ARX模型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秒状态:终止条件:最大迭代次数达到。迭代次数:20,函数求值次数:613使用NLARX对时域数据“z1”进行估计。拟合估计数据:64.35%(预测焦点)FPE: 3.58, MSE: 2.465更多信息在模型的“报告”属性。gydF4y2Ba
估计MIMO非线性ARX模型gydF4y2Ba
加载估计数据。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秒状态:终止条件:达到的最大迭代次数。迭代次数:20次,功能评估次数:710次,在时域数据“机动相机”上使用NLARX估计。拟合估计数据:[98.82;98.77]%(预测焦点)FPE: 0.4839, MSE: 0.9762更多信息在模型的“报告”属性。gydF4y2Ba
估计所有输出具有相同映射函数的MIMO非线性ARX模型gydF4y2Ba
加载估计数据并创建一个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秒状态:终止条件:达到的最大迭代次数。迭代次数:20,函数评估次数:177使用NLARX对时域数据“z”进行估计。拟合估计数据:[98.86;98.79]%(预测焦点)FPE: 2.641, MSE: 0.9233更多信息在模型的“报告”属性。gydF4y2Ba
指定线性、多项式和自定义回归器gydF4y2Ba
加载估计数据gydF4y2Baz1gydF4y2Ba
,其中有一个输入和一个输出,并获取输出和输入名称。gydF4y2Ba
负载gydF4y2Baiddata1gydF4y2Baz1gydF4y2Ba;Names = [z1.]OutputName z1。InputName]gydF4y2Ba
名称=gydF4y2Ba1 x2单元格gydF4y2Ba{“日元”}{u1的}gydF4y2Ba
指定gydF4y2BalgydF4y2Ba
线性回归函数的集合表示gydF4y2Ba
,gydF4y2Ba
,gydF4y2Ba
.gydF4y2Ba
L =线性回归(names,{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 =自定义回归: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.147更多信息在模型的“报告”属性。gydF4y2Ba
查看完整的回归集。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
输出函数中无线性项的非线性ARX模型估计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
用线性ARX模型指定非线性ARX阶和线性参数gydF4y2Ba
加载估计数据。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
非线性模型=非线性ARX模型与1输出和1输入输入:步骤命令输出:节流阀位置回归:线性回归变量节流阀位置,步骤命令输出函数:小波网络与7个单元采样时间:0.01秒状态:估计使用NLARX在时域数据“ThrottleData”。拟合估计数据:99.03%(预测焦点)FPE: 0.1127, MSE: 0.1039更多信息在模型的“报告”属性。gydF4y2Ba
利用构造的方法估计非线性ARX模型gydF4y2BaidnlarxgydF4y2Ba
对象gydF4y2Ba
加载估计数据。gydF4y2Ba
负载gydF4y2Baiddata1gydF4y2Ba;gydF4y2Ba
创建一个gydF4y2BaidnlarxgydF4y2Ba
模型。gydF4y2Ba
Sys = idnlarx([2 2 1]);gydF4y2Ba
使用点表示法配置模型:gydF4y2Ba
使用sigmoid网络映射对象。gydF4y2Ba
分配一个名称。gydF4y2Ba
sys。Nonlinearity =“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秒状态:终止条件:达到的最大迭代次数。迭代次数:20,函数计算次数:353使用NLARX对时域数据“z1”进行估计。拟合估计数据:69.03%(预测焦点)FPE: 2.918, MSE: 1.86更多信息在模型的“报告”属性。gydF4y2Ba
非线性ARX模型估计及局部极小值避免gydF4y2Ba
如果估计在局部最小值处停止,则可以使用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
使用特定选项估计非线性ARX模型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秒状态:终止条件:达到最大迭代次数。迭代次数:10,函数求值次数:114使用NLARX对时域数据“z”进行估计。拟合估计数据:85.86%(模拟焦点)FPE: 3.791e-05, MSE: 0.0006853更多信息在模型的“报告”属性。gydF4y2Ba
正则化非线性大单元ARX模型的估计gydF4y2Ba
加载正则化示例数据。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
非正则化模型的负拟合结果较大,表明与数据拟合较差。估计正则化模型会产生明显更好的结果。gydF4y2Ba
利用回归量的最优子集估计非线性ARX模型gydF4y2Ba
加载估计数据。gydF4y2Ba
负载gydF4y2BatwotankdatagydF4y2BaygydF4y2BaugydF4y2Ba
创建一个gydF4y2BaiddatagydF4y2Ba
对象从数据中获取。使用前1000个样本进行估计,其余样本进行验证。gydF4y2Ba
Ts = 0.2;z = iddata(y,u,Ts);Ze = z(1:1000);Zv = z(1001:结束);gydF4y2Ba
创建一个gydF4y2BanlarxOptionsgydF4y2Ba
选项设置。指定模拟误差最小化目标,gydF4y2Ba“lm”gydF4y2Ba
最小二乘搜索,最多10次估计迭代。在估计期间显示进度。gydF4y2Ba
选择nlarxOptions(gydF4y2Ba“焦点”gydF4y2Ba,gydF4y2Ba“模拟”gydF4y2Ba,gydF4y2Ba“SearchMethod”gydF4y2Ba,gydF4y2Ba“lm”gydF4y2Ba,gydF4y2Ba“显示”gydF4y2Ba,gydF4y2Ba“上”gydF4y2Ba);opt.SearchOptions.MaxIterations = 10;gydF4y2Ba
估计一个非线性ARX模型,利用ARX模型的阶数来指定回归量和参数gydF4y2BaidSigmoidNetworkgydF4y2Ba
映射函数。该模型使用了所有候选回归量。要查看回归器使用信息,请在MATLAB®命令提示符下输入gydF4y2Basys。RegressorUsage
.gydF4y2Ba
订单= [8 8 1];outputFcn = idSigmoidNetwork;sys = nlarx(ze,orders,outputFcn,opt);allRegressors = getreg(sys);gydF4y2Ba
使模型稀疏化(减少所使用的回归量)gydF4y2Ba“σ”gydF4y2Ba
衡量。gydF4y2Ba
opt.SearchOptions.MaxIterations = 20;opt.SparsifyRegressors = true;opt.SparsificationOptions.MaxIterations = 10;opt.SparsificationOptions.Lambda = 2;Sysr1 = nlarx(ze,sys,opt);T = sysr1.RegressorUsage;inUse = any(T{::},2);流(gydF4y2Ba'正在使用的回归函数:%s\n'gydF4y2Ba其中,strjoin (allRegressors (inUse),gydF4y2Ba”、“gydF4y2Ba))gydF4y2Ba
解释变量的使用:日元(t - 1), y1 (t-5), u1 (2) u1(条t - 3), u1(第四节),u1 (t-7), u1 (t-8)gydF4y2Ba
使模型再次稀疏化gydF4y2Ba“l1”gydF4y2Ba
衡量。gydF4y2Ba
opt.SparsificationOptions.SparsityMeasure =gydF4y2Ba“l1”gydF4y2Ba;opt.SparsificationOptions.Lambda = 2.2;Sysr2 = nlarx(ze,sys,opt);T = sys2 . regressorusage;inUse = any(T{::},2);流(gydF4y2Ba'正在使用的回归函数:%s\n'gydF4y2Ba其中,strjoin (allRegressors (inUse),gydF4y2Ba”、“gydF4y2Ba))gydF4y2Ba
解释变量的使用:日元(t - 1), y1 (t-5), u1 (2) u1(条t - 3), u1(第四节),u1 (t-6), u1 (t-7), u1 (t-8)gydF4y2Ba
使模型再次稀疏化gydF4y2Ba“10”gydF4y2Ba
衡量。gydF4y2Ba
opt.SparsificationOptions.SparsityMeasure =gydF4y2Ba“10”gydF4y2Ba;opt.SparsificationOptions.Lambda = 2.2;Sysr3 = nlarx(ze,sys,opt);T = sys3 . regressorusage;InUse = any(T{::},2);流(gydF4y2Ba'正在使用的回归函数:%s\n'gydF4y2Ba其中,strjoin (allRegressors (inUse),gydF4y2Ba”、“gydF4y2Ba))gydF4y2Ba
解释变量的使用:日元(t - 1), y1 (t-5), u1 (2) u1(条t - 3), u1(第四节),u1 (t-6), u1 (t-7), u1 (t-8)gydF4y2Ba
将完整回归模型和三个稀疏回归模型与验证数据进行比较。gydF4y2Ba
比较(sys, zv sysr1、sysr2 sysr3)gydF4y2Ba
输入参数gydF4y2Ba
数据gydF4y2Ba
- - - - - -gydF4y2Ba估计的数据gydF4y2Ba
时间表gydF4y2Ba|gydF4y2Ba数值矩阵对gydF4y2Ba|gydF4y2Ba数字矩阵gydF4y2Ba|gydF4y2BaiddatagydF4y2Ba
对象gydF4y2Ba
统一采样的估计数据,如以下部分所述。gydF4y2Ba
时间表gydF4y2Ba
指定gydF4y2Ba数据gydF4y2Ba
作为一个gydF4y2Ba时间表gydF4y2Ba
它使用了一个规则间隔的时间向量。gydF4y2BattgydF4y2Ba
包含表示输入和输出通道的变量。对于多实验数据,gydF4y2BattgydF4y2Ba
单元格数组的时间表的长度gydF4y2Ba不gydF4y2Ba
,在那里gydF4y2Ba不gydF4y2Ba
是实验的次数。gydF4y2Ba
当您使用指定gydF4y2Ba订单gydF4y2Ba
或gydF4y2BalinmodelgydF4y2Ba
时,软件确定用于估计的输入和输出通道的数量。gydF4y2Ba
如果gydF4y2Ba
“InputName”gydF4y2Ba
而且gydF4y2Ba“OutputName”gydF4y2Ba
没有指定,那么软件使用第一种gydF4y2BaνgydF4y2Ba的变量gydF4y2BattgydF4y2Ba
作为输入和下一个gydF4y2Ba纽约gydF4y2Ba的变量gydF4y2BattgydF4y2Ba
作为输出。gydF4y2Ba如果gydF4y2Ba
“InputName”gydF4y2Ba
而且gydF4y2Ba“OutputName”gydF4y2Ba
,然后软件使用指定的变量。指定的输入和输出名称的个数必须与gydF4y2BaνgydF4y2Ba而且gydF4y2Ba纽约gydF4y2Ba.gydF4y2Ba对于可以估计没有输入的时间序列模型的函数,gydF4y2Ba
“InputName”gydF4y2Ba
不需要指定。gydF4y2Ba
当您使用指定gydF4y2Ba解释变量gydF4y2Ba
时,软件默认将时间表中的最后一个变量解释为唯一的输出通道,其他变量解释为输入通道。要更改本例中的输入/输出通道选择,请指定gydF4y2Ba“InputName”gydF4y2Ba
而且gydF4y2Ba“OutputName”gydF4y2Ba
.gydF4y2Ba
逗号分隔的矩阵对gydF4y2Ba
指定gydF4y2Ba数据gydF4y2Ba
作为一对包含输入和输出时域信号值的实值矩阵,以逗号分隔。当您指定基于矩阵的数据时,软件假定采样时间为1秒。您可以通过设置属性更改估计后的采样时间gydF4y2Basys。TsgydF4y2Ba
.gydF4y2Ba
对于SISO系统,请指定gydF4y2Ba
数据gydF4y2Ba
作为一对gydF4y2BaNgydF4y2Ba年代gydF4y2Ba-by-1实值矩阵,包含均匀采样的输入和输出时域信号值。在这里,gydF4y2BaNgydF4y2Ba年代gydF4y2Ba是样本的数量。gydF4y2Ba对于MIMO系统,请指定gydF4y2Ba
ugydF4y2Ba
,gydF4y2BaygydF4y2Ba
作为一个输入/输出矩阵对,具有以下维度:gydF4y2BaugydF4y2Ba
- - - - - -gydF4y2BaNgydF4y2Ba年代gydF4y2Ba——- - - - - -gydF4y2BaNgydF4y2BaugydF4y2Ba,在那里gydF4y2BaNgydF4y2BaugydF4y2Ba是输入的数量。gydF4y2BaygydF4y2Ba
- - - - - -gydF4y2BaNgydF4y2Ba年代gydF4y2Ba——- - - - - -gydF4y2BaNgydF4y2BaygydF4y2Ba,在那里gydF4y2BaNgydF4y2BaygydF4y2Ba是输出的数量。gydF4y2Ba
一个矩阵gydF4y2Ba
指定gydF4y2Ba数据gydF4y2Ba
作为一个单实值矩阵gydF4y2BaNgydF4y2BaygydF4y2Ba+gydF4y2BaNgydF4y2BaugydF4y2Ba列,其中包含输出信号值,后面跟着输入信号值。注意,此顺序与逗号分隔的矩阵对形式的顺序相反gydF4y2Ba数据gydF4y2Ba
.当您指定基于矩阵的数据时,软件假定采样时间为1秒。您可以通过设置属性更改估计后的采样时间gydF4y2Basys。TsgydF4y2Ba
.gydF4y2Ba
数据对象gydF4y2Ba
一种估计数据对象,指定为时域gydF4y2BaiddatagydF4y2Ba
对象,该对象包含统一采样的输入和输出值。数据对象可以有一个或多个输出通道,零个或多个输入通道。软件默认将模型的采样时间设置为估计数据的采样时间。gydF4y2Ba
有关使用估计数据类型的详细信息,请参见gydF4y2Ba系统标识工具箱中的数据类型gydF4y2Ba.gydF4y2Ba
订单gydF4y2Ba
- - - - - -gydF4y2BaARX模型订单gydF4y2Ba
nlarxgydF4y2Ba
订单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回归量规范gydF4y2Ba
linearRegressorgydF4y2Ba
对象gydF4y2Ba|gydF4y2BapolynomialRegressorgydF4y2Ba
对象gydF4y2Ba|gydF4y2BaperiodicRegressorgydF4y2Ba
|gydF4y2BacustomRegressorgydF4y2Ba
对象gydF4y2Ba|gydF4y2Ba回归器规范对象的列数组gydF4y2Ba
回归器规范,指定为包含一个或多个回归器规范对象的列向量gydF4y2BalinearRegressorgydF4y2Ba
对象,gydF4y2BapolynomialRegressorgydF4y2Ba
对象,gydF4y2BaperiodicRegressorgydF4y2Ba
对象,gydF4y2BacustomRegressorgydF4y2Ba
对象。每个对象都指定一个公式,用于从滞后变量中生成回归量。例如:gydF4y2Ba
L =线性回归({'y1','u1'},{1,[2 5]})gydF4y2Ba
生成回归量gydF4y2BaygydF4y2Ba1gydF4y2Ba(gydF4y2BatgydF4y2Ba1),gydF4y2BaugydF4y2Ba1gydF4y2Ba(gydF4y2BatgydF4y2Ba2),gydF4y2BaugydF4y2Ba2gydF4y2Ba(gydF4y2BatgydF4y2Ba5)。gydF4y2BaP =多项式回归('y2',4:7,2)gydF4y2Ba
生成回归量gydF4y2BaygydF4y2Ba2gydF4y2Ba(gydF4y2BatgydF4y2Ba4)gydF4y2Ba2gydF4y2Ba,gydF4y2BaygydF4y2Ba2gydF4y2Ba(gydF4y2BatgydF4y2Ba5)gydF4y2Ba2gydF4y2Ba,gydF4y2BaygydF4y2Ba2gydF4y2Ba(gydF4y2BatgydF4y2Ba6)gydF4y2Ba2gydF4y2Ba,gydF4y2BaygydF4y2Ba2gydF4y2Ba(gydF4y2BatgydF4y2Ba7)gydF4y2Ba2gydF4y2Ba.gydF4y2BaSC = periodicRegressor({'y1','u1'},{1,2})gydF4y2Ba
生成回归量gydF4y2BaygydF4y2Ba1gydF4y2Ba(gydF4y2BatgydF4y2Ba1)),因为(gydF4y2BaygydF4y2Ba1gydF4y2Ba(gydF4y2BatgydF4y2Ba1)),罪(gydF4y2BaugydF4y2Ba1gydF4y2Ba(gydF4y2BatgydF4y2Ba-2))和cos(gydF4y2BaugydF4y2Ba1gydF4y2Ba(gydF4y2BatgydF4y2Ba2))。gydF4y2BaC = customRegressor ({y1, u1, u2的},{1 2 2},@ (x, y, z) sin (x) * y + z))gydF4y2Ba
生成单个回归因子sin(gydF4y2BaygydF4y2Ba1gydF4y2Ba(gydF4y2BatgydF4y2Ba1)gydF4y2BaugydF4y2Ba1gydF4y2Ba(gydF4y2BatgydF4y2Ba2) +gydF4y2BaugydF4y2Ba2gydF4y2Ba(gydF4y2BatgydF4y2Ba2)gydF4y2Ba.gydF4y2Ba
类创建支持估计的回归集时gydF4y2BaiddatagydF4y2Ba
对象时,您可以使用对象的输入和输出名称,而不是为回归函数创建名称。例如,假设您为一个模型创建一个线性回归函数,计划使用gydF4y2BaiddatagydF4y2Ba
对象gydF4y2BazgydF4y2Ba
对模型进行估计。您可以使用以下命令来创建线性回归函数。gydF4y2Ba
L =线性回归([z. outputname;z. outputname;inputName) {1, 2 [5]})gydF4y2Ba
有关创建和使用SISO线性回归集的示例,请参见gydF4y2Ba用线性回归集估计非线性ARX模型gydF4y2Ba.有关创建从估计数据集中获取变量名的MIMO线性回归集的示例,请参见gydF4y2Ba估计所有输出具有相同映射函数的MIMO非线性ARX模型gydF4y2Ba.gydF4y2Ba
output_fcngydF4y2Ba
- - - - - -gydF4y2Ba输出函数gydF4y2Ba
“idWaveletNetwork”gydF4y2Ba
(默认)|gydF4y2Ba“idLinear”gydF4y2Ba
|gydF4y2Ba[]gydF4y2Ba
|gydF4y2Ba“idSigmoidNetwork”gydF4y2Ba
|gydF4y2Ba“idTreePartition”gydF4y2Ba
|gydF4y2Ba“idTreePartition”gydF4y2Ba
|gydF4y2Ba“idGaussianProcess”gydF4y2Ba
|gydF4y2Ba“idTreeEnsemble”gydF4y2Ba
|gydF4y2Ba“idSupportVectorMachine”gydF4y2Ba
|gydF4y2Ba映射对象gydF4y2Ba|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 |
“idSupportVectorMachine”gydF4y2Ba 或gydF4y2BaidSupportVectorMachinegydF4y2Ba |
基于核的支持向量机(SVM)约束回归模型(需要统计和机器学习工具箱)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
OutputFcngydF4y2Ba
作为字符向量或单个映射对象。gydF4y2Ba
output_fcngydF4y2Ba
表示一个静态映射函数,将非线性ARX模型的回归函数转换为模型输出。gydF4y2Baoutput_fcngydF4y2Ba
是静态的,因为它不依赖于时间。例如,如果gydF4y2Ba
,然后gydF4y2Baoutput_fcngydF4y2Ba
线性函数是用gydF4y2BaidLineargydF4y2Ba
对象。gydF4y2Ba
有关指定输出函数的示例,请参见gydF4y2Ba指定和自定义输出函数gydF4y2Ba.gydF4y2Ba
linmodelgydF4y2Ba
- - - - - -gydF4y2Ba离散时间线性模型gydF4y2Ba
idpolygydF4y2Ba
对象gydF4y2Ba|gydF4y2Ba中的难点gydF4y2Ba
对象gydF4y2Ba|gydF4y2BaidtfgydF4y2Ba
对象gydF4y2Ba|gydF4y2BaidprocgydF4y2Ba
对象gydF4y2Ba
离散时间识别的输入/输出线性模型,指定为使用估计器创建的任何线性模型,例如gydF4y2BaarxgydF4y2Ba
,gydF4y2BaarmaxgydF4y2Ba
,gydF4y2Ba特遣部队gydF4y2Ba
,或gydF4y2Ba党卫军gydF4y2Ba
.例如,创建一个状态空间gydF4y2Ba中的难点gydF4y2Ba
模型,估计模型使用gydF4y2Ba党卫军gydF4y2Ba
.gydF4y2Ba
sys0gydF4y2Ba
- - - - - -gydF4y2Ba非线性ARX模型gydF4y2Ba
idnlarxgydF4y2Ba
模型gydF4y2Ba
非线性ARX模型,指定为gydF4y2BaidnlarxgydF4y2Ba
模型。gydF4y2Basys0gydF4y2Ba
可以是:gydF4y2Ba
以前估计的模型gydF4y2Ba
nlarxgydF4y2Ba
.估计算法使用的参数gydF4y2Basys0gydF4y2Ba
作为最初的猜测。在这种情况下,使用gydF4y2Ba初始化gydF4y2Ba
轻微扰动模型属性,以避免将模型困在局部极小值。gydF4y2BaSys = init(Sys);Sys = nlarx(数据,Sys);gydF4y2Ba
方法创建的模型gydF4y2Ba
idnlarxgydF4y2Ba
构造函数,并使用点表示法设置属性。例如,使用以下命令创建一个idnlarx对象,设置其属性并估计模型。gydF4y2BaSys1 = 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
选项gydF4y2Ba
- - - - - -gydF4y2Ba估计选项gydF4y2Ba
nlarxOptionsgydF4y2Ba
选项设置gydF4y2Ba
非线性ARX模型识别的估计选项,指定为gydF4y2BanlarxOptionsgydF4y2Ba
选项设置。可用的选项包括:gydF4y2Ba
最小化的目标gydF4y2Ba
归一化选项gydF4y2Ba
正则化选项gydF4y2Ba
输出参数gydF4y2Ba
sysgydF4y2Ba
-非线性ARX模型gydF4y2Ba
idnlarxgydF4y2Ba
对象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
算法gydF4y2Ba
非线性ARX模型结构gydF4y2Ba
非线性ARX模型由模型回归器和输出函数组成。输出函数包含一个或多个gydF4y2Ba映射对象gydF4y2Ba,每个模型输出一个。每个映射对象可以包括作用于模型回归器的线性函数和非线性函数,以给出模型输出和该输出的固定偏移量。该方框图表示仿真场景中单输出非线性ARX模型的结构。gydF4y2Ba
该软件计算非线性ARX模型输出gydF4y2BaygydF4y2Ba分两个阶段:gydF4y2Ba
它根据当前和过去的输入值以及过去的输出数据计算回归值。gydF4y2Ba
在最简单的情况下,回归量是延迟的输入和输出,例如gydF4y2BaugydF4y2Ba(gydF4y2BatgydF4y2Ba1)和gydF4y2BaygydF4y2Ba(gydF4y2BatgydF4y2Ba3)。这种回归量叫做gydF4y2Ba线性解释变量gydF4y2Ba.函数指定线性回归函数gydF4y2Ba
linearRegressorgydF4y2Ba
对象。您还可以通过使用线性ARX模型顺序作为输入参数来指定线性回归器。有关更多信息,请参见gydF4y2Ba非线性ARX模型的阶数与时滞gydF4y2Ba.然而,第二种方法将你的回归函数集限制为连续延迟的线性回归函数。创建gydF4y2Ba多项式解释变量gydF4y2Ba,使用gydF4y2BapolynomialRegressorgydF4y2Ba
对象。创建gydF4y2Ba周期性的解释变量gydF4y2Ba包含延迟输入和输出变量的正弦和余弦函数,则使用gydF4y2BaperiodicRegressorgydF4y2Ba
对象。你也可以指定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
版本历史gydF4y2Ba
在R2007a中引入gydF4y2BaR2022b:gydF4y2Ba时域估计数据以时间表和矩阵的形式接受gydF4y2Ba
大多数估计、验证、分析和效用函数现在都接受时域输入/输出数据,其形式是包含输入和输出数据的单个时间表或分别包含输入和输出数据的一对矩阵。这些功能继续被接受gydF4y2BaiddatagydF4y2Ba
对象也可以作为数据源,用于时域和频域数据。gydF4y2Ba
R2021b:gydF4y2Ba以前的使用gydF4y2BaidnlarxgydF4y2Ba
而且gydF4y2BaidnlhwgydF4y2Ba
不建议使用对象名称映射。gydF4y2Ba
从R2021b开始,映射对象(也称为非线性)用于对象的非线性组件gydF4y2BaidnlarxgydF4y2Ba
而且gydF4y2BaidnlhwgydF4y2Ba
对象已重命名。下表列出了名称更改。gydF4y2Ba
Pre-R2021b名字gydF4y2Ba | R2021b名字gydF4y2Ba |
---|---|
wavenetgydF4y2Ba |
idWaveletNetworkgydF4y2Ba |
sigmoidnetgydF4y2Ba |
idSigmoidNetworkgydF4y2Ba |
treepartitiongydF4y2Ba |
idTreePartitiongydF4y2Ba |
customnetgydF4y2Ba |
idCustomNetworkgydF4y2Ba |
饱和gydF4y2Ba |
idSaturationgydF4y2Ba |
死区gydF4y2Ba |
idDeadZonegydF4y2Ba |
pwlineargydF4y2Ba |
idPiecewiseLineargydF4y2Ba |
poly1dgydF4y2Ba |
idPolynomial1DgydF4y2Ba |
unitgaingydF4y2Ba |
idUnitGaingydF4y2Ba |
线性gydF4y2Ba |
idLineargydF4y2Ba |
neuralnetgydF4y2Ba |
idFeedforwardNetworkgydF4y2Ba |
使用旧名称的脚本仍然正常运行,尽管它们会产生一个警告。考虑使用新名称以继续兼容新开发的特性和算法。目前还没有排除使用这些对象名称的计划gydF4y2Ba
R2018a:gydF4y2Ba的高级选项已弃用gydF4y2BaSearchOptionsgydF4y2Ba
当gydF4y2BaSearchMethodgydF4y2Ba
是gydF4y2Ba“lsqnonlin”gydF4y2Ba
规范的gydF4y2BalsqnonlingydF4y2Ba
类估算时调用并行处理的选项gydF4y2BalsqnonlingydF4y2Ba
搜索方法,或求解器,在优化工具箱™。gydF4y2Ba
另请参阅gydF4y2Ba
idnlarxgydF4y2Ba
|gydF4y2BanlarxOptionsgydF4y2Ba
|gydF4y2BaisnlarxgydF4y2Ba
|gydF4y2BagoodnessOfFitgydF4y2Ba
|gydF4y2Ba另类投资会议gydF4y2Ba
|gydF4y2Ba消防工程gydF4y2Ba
|gydF4y2BapolynomialRegressorgydF4y2Ba
|gydF4y2BaperiodicRegressorgydF4y2Ba
|gydF4y2BalinearRegressorgydF4y2Ba
|gydF4y2BacustomRegressorgydF4y2Ba
MATLAB命令gydF4y2Ba
你点击了一个对应于这个MATLAB命令的链接:gydF4y2Ba
在MATLAB命令窗口中输入该命令来运行该命令。Web浏览器不支持MATLAB命令。gydF4y2Ba
选择网站gydF4y2Ba
选择一个网站,在可用的地方获得翻译的内容,并查看当地的活动和优惠。根据您所在的位置,我们建议您选择:gydF4y2Ba.gydF4y2Ba
您也可以从以下列表中选择一个网站:gydF4y2Ba
如何获得最佳的网站性能gydF4y2Ba
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。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(英语)gydF4y2Ba
- 瑞士gydF4y2Ba
- 联合王国gydF4y2Ba(英语)gydF4y2Ba
亚太地区gydF4y2Ba
- 澳大利亚gydF4y2Ba(英语)gydF4y2Ba
- 印度gydF4y2Ba(英语)gydF4y2Ba
- 新西兰gydF4y2Ba(英语)gydF4y2Ba
- 中国gydF4y2Ba
- 日本gydF4y2Ba(日本語)gydF4y2Ba
- 한국gydF4y2Ba(한국어)gydF4y2Ba