main.m

来自「基于累计量的奇异值-总体最小二乘法求AR参数 用奇异值-总体最小二乘法求AR参数」· M 代码 · 共 60 行

M
60
字号
function [fu,fvar]=main(p,M,N,varargin,selection,sampling,M1,M2,N1,N2)

n=1:N;
hold off;

if selection==2
for k=1:sampling
w=randn(1,N+3);
w3=w(1:N);
w2=w(2:N+1);
w1=w(3:N+2);
w0=w(4:N+3);
x = sqrt(20)*sin(2*pi*0.2*n)+sqrt(2)*sin(2*pi*0.213*n)+w0+0.9*w1+0.385*w2+0.771*w3;
[a,Rx,fHOSA,p]=ARMA_HOSA(x,M1,M2,N1,N2,sampling,varargin);
f(k,:)=fHOSA;
Cadzow(a,Rx,p,N);
hold on;
end
fu=mean(f);
fvar=var(f);

elseif selection==1
for k=1:sampling
w=randn(1,N+3);
w3=w(1:N);
w2=w(2:N+1);
w1=w(3:N+2);
w0=w(4:N+3);
x = sqrt(20)*sin(2*pi*0.2*n)+sqrt(2)*sin(2*pi*0.213*n)+w0+0.9*w1+0.385*w2+0.771*w3;
[a,Rx,fLS]=ARMA_LS(M,x,p,varargin);
f(k,:)=fLS;
Cadzow(a,Rx,p,N);
hold on;
end
fu=mean(f);
fvar=var(f);

elseif selection==0
for k=1:sampling
w=randn(1,N+3);
w3=w(1:N);
w2=w(2:N+1);
w1=w(3:N+2);
w0=w(4:N+3);
x = sqrt(20)*sin(2*pi*0.2*n)+sqrt(2)*sin(2*pi*0.213*n)+w0+0.9*w1+0.385*w2+0.771*w3;
[a,Rx,fTLS,pp]=ARMA_SVDTLS(M,x,p,varargin);
f(k,:)=fTLS;
Cadzow(a,Rx,pp,N);
hold on;
end
fu=mean(f);
fvar=var(f);

else
    error('The value of argument selection is illegal!');
%     error('Set selection value 1,if you want to use LS method');
%     error('Set selection value 0,if you want to use SVDTLS method');

end

⌨️ 快捷键说明

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