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

📄 dls.m

📁 最小二乘法中的递推最小二乘法
💻 M
字号:
function[n_die,theta,ef]=DLS(N,n,In,Out)
%n_die为迭代次数
%e为停机时的准则
%ef为迭代过程中的误差
theta=[0.0001 0.0001 0.0001 0.0001 0.0001]';
%thetaN=[-0.5 0.7 0 0.2 -0.1]';
e=0.000001;
P=10^6*eye(5);
for i=1:N;
    for j=1:n;
        if(i-j>0)
        x(i,j)=-Out(i-j);
        else x(i,j)=0;
        end
    end
    for k=(n+1):(2*n+1)
        if(i-k+n+1>0)
        x(i,k)=In(i-k+n+1);
        else x(i,k)=0;
        end
    end
    thetaN=theta;
    r=inv(1+x(i,:)*P*x(i,:)');
    theta=theta+P*x(i,:)'*r*(Out(i)-x(i,:)*theta);
    P=P-P*x(i,:)'*r*x(i,:)*P;  
    ef(i)=norm(theta-thetaN)/norm(thetaN);
    if(ef(i)<e)
        n_die=i;
        break;
    end
    n_die=N;
end

⌨️ 快捷键说明

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