米姆ARX模型的最小二乘参数估计

12个视图(30天)
宣
2021年4月27日
编辑: Ivo Houtzager 2021年9月22日
我知道ARX函数在Matlab可以估计参数的多输入多输出ARX模型。
但是我找不到主程序当我打开ARX估计函数。
我想找一个程序估计MIMO ARX模型与最小二乘法的参数。
我来寻求帮助。

答案(1)

Ivo Houtzager
Ivo Houtzager 2021年9月22日
编辑:Ivo Houtzager 2021年9月22日
示例脚本获得MIMO ARX模型的参数(VARX)使用最小二乘法。
N = 1000;%的样本数量
p = 5;%过去VARX模型的窗口
directfeedthrough = 1;% VARX模型包括直接引线
r = 2;%的输入
l = 3;%的输出
u = randn (r, N);%的输入数据
y = randn (l, N);%输出数据
%连接过去的数据向量
m = r + l;
z = [u;y);
Z = 0 (p * m,阻燃剂);
i = 1: p
Z((张)* m + 1:我* m:) = Z(:,我:N + i-p-1);
结束
%解决VARX问题
Y = Y (:, p + 1: N);
U = U (:, p + 1: N);
如果directfeedthrough
Z = [Z;U];
结束
VARX = Y / Z;%最小二乘估计
% idpoly对象转换解决方案
=细胞(l, l);
B =细胞(左,右);
如果directfeedthrough
VARX0 = [VARX眼(l)];
其他的
VARX0 = [VARX 0(左,右)眼睛(l)];
结束
i = 1: l
j = 1: l
{i, j} = fliplr (VARX0 (i r + j: m: m * p + r + j));
结束
k = 1: r
{我k} = fliplr (VARX0 (i、k: m: m * p + k));
结束
结束
Ts = 1;%样品时间
E = Y - VARX * Z;
NoiseVariance = x (E);
sys = idpoly (A, B, []、[] [], NoiseVariance, Ts);% MIMO ARX模型对象
对于较大的模型,最小二乘问题可以生病的条件和需要正则化得到良好的估计。如果需要调整,我建议看下面的matlab函数的源代码。

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!