• 大小: 1KB
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2021-05-28
  • 语言: Matlab
  • 标签: 抗差  最小二乘  

资源简介

基于具有抗差性的验后单位权中误差的抗差最小二乘Matlab代码

资源截图

代码片段和文件信息

function X = Robust_Least_Squares(BlPf)
%抗差最小二乘
%输入值:
%       B为系数阵
%       l为常数项矩阵
%       Pf为权阵
%输出值:
%       X为抗差最小二乘参数平差值

%测试设计矩阵大小n
[nm]=size(B);

%得到具有抗差性的验后单位权中误差
P=Pf;
for i=1:3
    [XseigamaP_] = roubst(BlP);
    P = P_;
end

%迭代抗差
x_old = 10000*ones(m1);
P=Pf;
while 1
    Seigama = seigama;%初始化单位权中误差
    [XseigamaP_] = roubst(BlPSeigama);
    P = P_;
    
    dx = x_old - X;
    x_old = X;
    if(sqrt((dx‘*dx)/m) <1E-6)
        break;
    end
end

%抗差最小二乘
function [xseigamaP_] = roubst(BlPsei)
    P_ = P;
    
    Nbb = inv(B‘*P*B);
    Qvv=inv(P)-B*inv(B‘*P*B)*B‘;

评论

共有 条评论