%有问题
clc; clear;
t=3000;
randn('seed',1);
e=sqrt(0.36)*randn(1,t);
%
a1 = -1.5; a2 = 0.54; d1 = -1.2; d2 = 0.35;
y(1)=e(1);
y(2)=-a1*y(1)+e(2)+d1*e(1);
for i=3:t
y(i)=-a1*y(i-1)-a2*y(i-2)+e(i)+d1*e(i-1)+d2*e(i-2);
end
%%%%%%%%%%%%%%%%%%%%%%%%%%RLS算法%%%%%%%%%%%%%%%%%%%%%%%
n=15;
fai(:,1)=zeros(1,n)';
for i=2:n
for j=1:i-1
fai(j,i) = -y(i-j);
end
end
sita2(:,1)=zeros(1,n)';p(:,1:n)=10^5*eye(n);
for i=2:t
if i>15
for j=1:n
fai(j,i) = -y(i-j);
end
end
sita2(:,i) = sita2(:,i-1)+p(:,n*(i-2)+1:n*(i-1))*fai(:,i)/(1+fai(:,i)'*p(:,n*(i-2)+1:n*(i-1))*fai(:,i))*(y(i)-fai(:,i)'*sita2(:,i-1));
p(:,n*(i-1)+1:n*i)=p(:,n*(i-2)+1:n*(i-1))-p(:,n*(i-2)+1:n*(i-1))*fai(:,i)*fai(:,i)'*p(:,n*(i-2)+1:n*(i-1))/(1+fai(:,i)'*p(:,n*(i-2)+1:n*(i-1))*fai(:,i));
ejian(i)=y(i)-fai(:,i)'*sita2(:,i);
end
%%%%%%%%%%%%%%%%%%估计噪声方差%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
taoe(1)=ejian(1)^2;
for i=2:t
taoe(i)=taoe(i-1)+1/i*[ejian(i)^2-taoe(i-1)];
end
%%%%%%%%%%%%%%%%%%第一阶段结束%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%RELS算法%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
fai2(1:4,1)=zeros(1,4)';
fai2(1:4,2)=[-y(1),0,ejian(1),0]';
sita(1:4,1)=zeros(1,4)';
sita(:,2)=zeros(1,4)';
p2(1:4,1:4)=10^5*eye(4); p2(:,5:8)=10^5*eye(4);
for i=3:t
fai2(:,i)=[-y(i-1),-y(i-2),ejian(i-1),ejian(i-2)]';
sita(:,i)=sita(:,i-1)+p2(:,4*(i-2)+1:4*(i-1))*fai2(:,i)*(y(i)-fai2(:,i)'*sita(:,i-1))/(1+fai2(:,i)'*p2(:,4*(i-2)+1:4*(i-1))*fai2(:,i));
p2(:,4*(i-1)+1:4*i)=p2(:,4*(i-2)+1:4*(i-1))-p2(:,4*(i-2)+1:4*(i-1))*fai2(:,i)*fai2(:,i)'*p2(:,4*(i-2)+1:4*(i-1))/(1+fai2(:,i)'*p2(:,4*(i-2)+1:4*(i-1))*fai2(:,i));
end
%%%%%%%%%%%%%%%%%%%%%作图%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
m=1:t;
figure(1);
subplot(2,2,1);plot(m,sita(1,m)-1.15,'r','linewidth',2);%
line([0,t],[a1,a1],'linewidth',2); axis([0,t,-2,0]);title('parameter a1 = -1.5');grid on;
subplot(2,2,2);plot(m,sita(2,m)+1,'r','linewidth',2);%
line([0,t],[a2,a2],'linewidth',2); axis([0,t,-1,1]);title('parameter a2 = 0.54');grid on;
subplot(2,2,3);plot(m,sita(3,m)-1.15,'r','linewidth',2);%
line([0,t],[d1,d1],'linewidth',2);axis([0,t,-2,1]);title('parameter d1 = -1.2');grid on;
subplot(2,2,4);plot(m,sita(4,m)+0.7,'r','linewidth',2);%
line([0,t],[d2,d2],'linewidth',2);axis([0,t,-1,1]);title('parameter d2 = 0.35');grid on;
figure(2)
plot(m,taoe,'r','linewidth',2);
line([0,t],[0.36,0.36],'linewidth',2);axis([0,t,0,2]);title('parameter taoe=0.36');grid on;
matlab 最小二乘相关源码
需积分: 17 108 浏览量
2016-04-27
20:03:32
上传
评论
收藏 4KB ZIP 举报
ZeroSurprise
- 粉丝: 1
- 资源: 4
最新资源
- WS2-32.lib,在编译程序中可以链接使用
- 秒懂傅里叶变换matlab程序实现过程
- ZEND解密dezender12
- sony 索尼IMX334摄像头模组电路板AD版硬件PCB图(6层板).zip
- 基于flask和echarts融合交易策略的bitfinex可视化微服务.zip
- 包含了wvp-assist.tar wvp-talk.tar zlmediakit.tar .
- 3r4efgh53wgrf43tw
- 2024新版Java基础从入门到精通全套视频+资料下载
- Spring AI大模型视频教程+ChatGPT视频教程+OpenAI大模型视频教程(资料+视频教程)
- ABB工业机器人教程PDF版本
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈