📄 ar.m
字号:
%AR模型参数估计
clear
p=input('请输入AR模型的阶数p=')
for i=1:p
a(i)=input('请输入AR模型的参数a=')
end
Q=input('请输入方差q=')
L=input('请输入样本个数L=')
%产生L个w(n),S(n)
w=randn(1,L);
b=sqrt(Q);
w=w*b;
power_w=var(w)
figure;
plot(w);
title('w(n)');
sum=zeros(1,L);
s=zeros(1,L);
s=w;
for n=1+p:L
for i=1:p
s(n)=w(n)-a(i)*s(n-i);
end
end
figure;
plot(s)
title('s(n)');
%估计p+1个自相关函数,得a1....ap
fss=zeros(1,p+1);
sum=zeros(1,p+1);
for m=1:p+1
for i=1:L-abs(m)+1
sum(m)=sum(m)+s(i)*s(i+abs(m-1));
d=1/(L-abs(m));
fss(m)=d*sum(m);
end
end
U=zeros(1,p+1);
U(1,1)=1;
for i=1:p+1
for j=1:p+1
Rss(i,j)=fss(abs(i-j)+1);
end
end
B=inv(Rss)*U';
A=B/B(1);
a1=A(2)
Q1=B(1)
aex=mean(a1-a(1))^2
qex=mean(Q1-Q)^2
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -