📄 3.m
字号:
load V10.txt;
u1=V10;
u=u1(1:100);
load T5.txt;
z1=T5;
z=z1(1:100);
N=4;
c3=eye(1,N);
h2=eye(1,N);
for i=1:N
c3(1,i)=0.001;
h2(1,i)=-z(k-i);
end
for j=N+1:2*N
c3(1,i)=0.001;
h2(1,i)=u(k-i);
end
d=zeros(N,1);
%RLS递推最小二乘法
c0=c3';
p0=10^6*eye(N,N);
%E=0.00000000005;%相对误差E=0.00000000005
c=[c0,zeros(N,14)];
e=zeros(N,15);
for k=N+1:100
h1=h2';
x=h1'*p0*h1+1;
x1=inv(x);
k1=p0*h1*x1;%求出K值
m1=z(k)-h1'*c0;
c1=c0+k1*m1;%辨识参数c
% v(k)=z(k)-h1'*c1;
e1=c1-c0;
e2=e1./c0;
e(:,k)=e2;
c0=c1;
c(:,k)=c1;%把递推出的辨识参数C的列向量加入辨识参数矩阵
p1=p0-k1*h1'*p0;%find p(k)
p0=p1;%给下次使用
%if e2<=E break;%若参数收敛满足要求,终止计算
%end%小循环结束
end%大循环结束
d=[d,c1];
d%显示被辨识参数
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -