📄 lud2.m
字号:
function s1=lud2(sh,n)%sh为时间序列,n为AR模型维数
N=size(sh,2);%求时间序列的长度
x=sh-mean(sh);%零化处理
R=r(x,0,0,n,N);%R迭带初值
L=sqrt(r(x,0,0,n,N));%L迭带初值
j=0;
while j<n
j=j+1;
l=(c(x,j,n,N))'*inv((chol(R))');
kesi=sqrt(r(x,j,j,n,N)-l*l');
L=[L zeros(j,1);l kesi];
R=[R c(x,j,n,N);(c(x,j,n,N))' r(x,j,j,n,N)];
end
e(1)=1;%生成e向量的转置
for i=2:n+1
e(i)=0;
end
fei=L\(e');
fai=L'\fei;
s1=fai*(1/fai(1));
return
function s3=c(x,k,n,N)%生成C序列
for j=1:k
a(j)=r(x,j-1,k,n,N);
end
s3=a';
return
function s2=r(x,i,j,n,N)%生成r序列
s2=0;
for t=n+1:N
s2=s2+x(t-i)*x(t-j)+x(t-n+i)*x(t-n+j);
end
return
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -