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

📄 rff.m

📁 渐消记忆最小二乘法。系统辨识matlab源程序。
💻 M
字号:
u=[1.1470    0.2010   -0.7870   -1.5890   -1.0520    0.8660    1.1520    1.5730    0.6260...
   0.4330   -0.9580    0.8100   -0.0440    0.9470   -1.4740   -0.7190   -0.0860   -1.0990...
   1.4500    1.1510    0.4850    1.6330    0.0430    1.3260    1.7060   -0.3400    0.8900...
   1.1440    1.1770   -0.3900];    %给定的30组输入数据
y=[      0    0.4470   -0.2550   -0.1380   -0.4860   -0.0690    0.4310    0.0940    0.5540...
   -0.1820    0.2910   -0.5700    0.7080   -0.4890    0.6500   -0.9620    0.3180   -0.1200...
   -0.4900    1.0700   -0.4510    0.5670    0.2000   -0.1420    0.6240    0.2070   -0.3210...
    0.6070   -0.0100    0.4420];   %对应的30组输出数据
y1=-y(:,2:30)';
y2=-y(:,1:29)';
u1=u(:,2:30)';
u2=u(:,1:29)';
X=[y1 y2 u1 u2];                   %用输入输出数据构成X阵
P=10^8*eye(4,4);                   %为P(0)赋初值为一个4×4的单位阵×10^8
sit=zeros(4,1);                    %为所求向量赋初值为0阵
lmd=0.95;                          %取遗忘指数为0.95
for i=1:28;
    yk=y(:,i+2);                   %在y中依次取y(k+1)值
    xk=(X(i,:))';                  %在X中依次取x(k+1)的值
    K=P*xk/(lmd+xk'*P*xk);         %依次递推K(k+1)的值
    sit=sit+K*(yk-xk'*sit);        %依次递推所求向量的值
    P=(P-K*xk'*P)/lmd;             %依次递推P(k+1)的值
end
sit                                %28次循环后得到所求参数

⌨️ 快捷键说明

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