example3.m

来自「是关于系统辨识的一篇论文和本人对文中所提论文方法的Matlab程序验证」· M 代码 · 共 22 行

M
22 行
字号
clear all;
N=1000;
A=[1 -1.5 0.705];
B=[0 0.65 0.48 -0.008];
C=[1 -0.527 0.01];
M1=idpoly(A,B,C);   % 理想系统模型
% ARMAX模型
step(M1,[0 100]);grid on; % 绘制系统阶跃响应曲线
%-----------------------产生输入输出数据---------------------------%
U=iddata([],idinput(N,'prbs')); % 伪随机序列
E=iddata([],idinput(N,'rgs'));  % 白噪声序列
Y1=sim(M1,[U,E]);               % 输出数据
Z=iddata(Y1,U);
%----------------------ARMAX模型阶次的估计-------------------------%
NN=struc(1:2,1:4,1:4);
Loss_fun=arxstruc(Z,Z,NN);
order=selstruc(Loss_fun,'aic');
order=[order(1),order(2),1,order(3)]
%----------------ARMAX模型参数的估计(最小二乘法)------------------%
Model_para=armax(Z,order);      % 参数估计
present(Model_para);            % 显示辨识结果
compare(Z,Model_para);          % 辨识结果与实际输出比较

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?