⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 siarx.m

📁 matlab辨识算法的仿真程序。。很有用哦
💻 M
字号:
function  [sys0,sys1]=siarx(Ts,orderx)
clc;

load SIdata.mat                                     %导入用于模型辨识的数据
N=length(z);
servo=iddata(z,u,Ts);
servo.InputName='position';
servo.OutputName='distance';
ze=servo(1:N);
zv=servo(1:N);
figure,plot(ze)
%figure, plot(ze(1:1000))
%ze=dtrend(ze); 
%zv=dtrend(zv); 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%ARX模型辨识
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
NN=struc(2,2,0:100);                                %模型结构辨识
v=arxstruc(ze,zv,NN);
nn=selstruc(v,0);
nk=nn(3);                                           %确定延迟周期nk
NN=struc(1:orderx,1:orderx,0:nk+1); 
v=arxstruc(ze,zv,NN);
nn=selstruc(v,0)
m=arx(ze,nn);                                       %ARX模型辨识
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%ARX模型及降阶模型分析
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
disp('检验数据下ARX模型与实际系统的吻合程度:')       %模型检验
[yh1,f1]=compare(zv,m);
fit=f1   
disp('按任意键继续!')
pause
mj=idmodred(m);                                     %模型降阶
disp('检验数据下降阶模型与实际系统的吻合程度:')
[yh1,f1]=compare(zv,mj);
fit=f1  
figure,compare(zv,m,mj);

my=noisecnv(m);
s=tf(my);                                           %将模型转化为传递函数
sys0=s(1);                                          %ARX模型的传递函数                               
mjj=noisecnv(mj);
sy=tf(mjj);                                         %降阶模型转化为传递函数
sys1=sy(1);                                         %降阶模型的传递函数
disp('降阶后模型的传递函数:')
sys1
[num,den]=tfdata(sys1);
disp('传递函数的系数向量:')
num=num{1}
den=den{1}

⌨️ 快捷键说明

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