dls.asv

来自「最小二乘法中的递推最小二乘法」· ASV 代码 · 共 32 行

ASV
32
字号
function[n_die,theta]=DLS(N,n,In,Out,e)
%n_die为迭代次数
%e为停机时的准则
theta=[0.0001 0.0001 0.0001 0.0001 0.0001]';
thetaN=[
e=0.00001;
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
    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;  
    if(norm(theta1-theta)/norm(theta1)<e)
        n_die=i;
        break;
    else
        n_die=N;
    end
end

⌨️ 快捷键说明

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