线性重构器
指定非线性ARX模型的线性回归器
描述
线性回归器是滞后输出或输入变量,例如y((t-1)或你((t-2)。在这里,y术语有1个样本和你项有2个样本的滞后。一个线性重构器
对象封装一组线性回归器。利用线性重构器
当您使用非线性ARX模型时idnlarx
或者Nlarx
。线性重构器
概括订单在ARX模型或换句话说,[na nb nk]
矩阵,允许绝对值和非连续滞后。使用线性重构器
对象还使您可以将线性回归器与polyenmialRegressor
,,,,周期性重物
, 和CustomRegressor
单个回归器集中的对象。
创建
特性
变量
-输出和输入变量名称
细胞阵列|iddata
对象属性
输出和输入变量名称,指定为字符串或单元格数组的单元格数组输出名称
和输入名
An的属性iddata
目的。每个条目必须是一个没有特殊字符的字符串。有关使用此属性的示例,请参见使用线性回归器集估算非线性ARX模型。
例子:{'y1','u1'}
例子:[z.Outputname;Z.InputName]''
滞后
-每个变量中的滞后
非阴性整数的单元阵列
每个变量中的滞后,指定为1乘nv非负整数行向量的单元格数,其中nv是回归变量的总数。每个行向量都包含nr指定的整数nr相应变量的回归滞后。例如,假设您需要以下回归量:
输出变量y1:y1((t–1)和y1((t–2)
输入变量你1:你1((t–3)
要获得这些滞后,请设置滞后
至{[1 2],3}
。
如果滞后对应于一个的输出变量idnlarx
模型,最小滞后必须大于或等于1。
有关使用此属性的示例,请参见使用线性回归器集估算非线性ARX模型。
例子:{1 1}
例子:{[1 2],[1,3,4]}
用途
-绝对值指示器
错误的
(默认)|逻辑向量
绝对值指示灯确定是否使用回归器变量的绝对值,而不是符号值,该值指定为逻辑向量,其长度等于变量数量。有关设置此属性的示例,请参阅在线性回归器集中使用绝对值。
例子:[真假]
时间变化
-时间名称变量
't'
(默认)|字符阵列|细绳
时间变量的名称,指定为有效MATLAB®可变名称与值不同变量
。
例子:'时钟时间'
例子
使用线性回归器集估算非线性ARX模型
指定等同于ARX模型订单矩阵的线性回归器[4 4 1]
。
订单矩阵的[4 4 1]
指定输入和输出回归器集包含四个回归器,延迟范围为1到4。
代表第二个输入回归器。
指定输出名称。
output_name ='y1';input_name ='u1';名称= {output_name,input_name};
指定输出和输入滞后。
output_lag = [1 2 3 4];input_lag = [1 2 3 4];lags = {output_lag,input_lag};
创建线性回归对象。
lreg =线性regressor(名称,滞后)
lreg =变量中的线性回归器y1,u1变量:{'y1''u1'} lags:{[1 2 3 4] [1 2 3 4]} useAbsolute:[0 0] timeVariable:timeVariable:'t'回归剂,由此描述。放
加载估计数据并创建一个IDDATA对象。
加载twotankdataz = iddata(y,u,0.2);
估计非线性ARX模型。
sys = nlarx(z,lreg)
SYS =具有1个输出和1个输入输入的非线性ARX模型:U1输出:Y1回归器:变量中的线性回归器Y1,所有回归器输出函数的U1列表:带有11个单位的小波网络样本时间:0.2秒样本:0.2秒状态:按时使用NLARX按时估算域数据“ Z”。适合估计数据:96.84%(预测焦点)FPE:3.482E-05,MSE:3.431E-05
查看回归器
getReg(sys)
ans =8x1单元{'y1(t-1)'} {'y1(t-2)'} {'y1(t-3)'} {'y1(t-4)'} {'u1(t-1)'}{'u1(t-2)'} {'u1(t-3)'} {'u1(t-4)'}
将模型输出与估计数据进行比较。
比较(z,sys)
在线性回归器集中使用绝对值
创建一个线性回归仪集,该集合在可变中使用3、10和100的滞后Y1
和0和4的滞后U1
。
vars = {'y1',,,,'u1'};lags = {[3 10 100],[0,4]};
指定Y1
回归器使用的绝对值Y1
。
useabs = [true,false];
创建线性回归器。
reg = linearregressor(var,lags,useabs)
reg =变量中的线性回归器y1,u1变量:{'y1''u1'} lags:{[3 10 100] [0 4]} useAbsolute:[1 0] TimeVariable:'t'regressor thit set sec
指定线性,多项式和自定义回归器
加载估计数据Z1
,它具有一个输入和一个输出,并获得输出和输入名称。
加载IDDATA1Z1;名称= [z1.outputname z1.inputName]
名称=1x2单元{'y1'} {'u1'}
指定l
作为代表的线性回归器集
,,,,
, 和
。
l = linearRegressor(名称,{1,[2 5]});
指定p
作为多项式回归器
。
p = polyenmialRegressor(名称(1),1,2);
指定C
作为自定义回归器
。使用匿名函数句柄定义此功能。
C = CustomRegressor(名称,{2 3},@(x,y)x。*y)
c =自定义回归器:y1(t-2)。*u1(t-3)variablestoregressorfcn: @(x,y)x。}矢量化:1个时间变量:此集描述的“ T”回归剂
将回归器组合在列矢量中r
。
r = [l; p; c]
r = [3 1]线性Regressor,polyenmialRegressor,CustomRegressor对象的数组。-------------------------------------------- 1.变量中的线性回归器Y1,U1变量:{'Y1''u1'} lags:{[1] [2 5]} useabsolute:[0 0] timeVariable:'t'--------------------------------------------------------------- 2. Order 2 regressors in variables y1 Order: 2 Variables: {'y1'} Lags: {[1]} UseAbsolute: 0 AllowVariableMix: 0 AllowLagMix: 0 TimeVariable: 't' ------------------------------------ 3. Custom regressor: y1(t-2).*u1(t-3) VariablesToRegressorFcn: @(x,y)x.*y Variables: {'y1' 'u1'} Lags: {[2] [3]} Vectorized: 1 TimeVariable: 't' Regressors described by this set
估计具有的非线性ARX模型r
。
sys = nlarx(z1,r)
SYS =具有1个输出和1个输入输入的非线性ARX模型:U1输出:Y1回归器:1。变量中的线性回归器Y1,U1 2.订购2个变量中的Recressor y1 3.自定义回归器:y1(t-2)。*U1*U1(T-3)所有回归器输出功能的列表:带有1个单位样本时间的小波网络:0.1秒状态:使用NLARX在时域数据“ Z1”上估算。适合估计数据:59.73%(预测焦点)FPE:3.356,MSE:3.147
查看完整的回归器集。
getReg(sys)
ans =5x1单元{'y1(t-1)'} {'u1(t-2)'} {'u1(t-5)'} {'y1(t-1)^2'} {'y1(t-2)。*u1(t-3)'}
版本历史记录
matlab命令
您单击了与此MATLAB命令相对应的链接:
通过在MATLAB命令窗口中输入该命令。Web浏览器不支持MATLAB命令。万博1manbetx
您还可以从以下列表中选择一个网站:
如何获得最佳网站性能
选择中国网站(中文或英语)以获得最佳场地性能。其他Mathworks乡村网站未针对您所在的访问进行优化。
美洲
- AméricaLatina(Español)
- 加拿大(英语)
- 美国(英语)