带气压高度的三点法MATLAB定位函数(基于加权最小二乘法WLS)

函数作用

输入气压高度值、待定位节点与各个锚节点的距离、锚节点位置、权重(可选),输出待测点位置

程序源码

function [p_out] = triposition_weight_Ver2(dairheight,R_calcu,baseP,varargin)
% airghight 由气压高度计算的锚节点-待测节点的相对高度,按行向量排布
% R_calcu   距离,每个时刻的若干个距离按行向量排布
% baseP     锚点位置,每个锚点坐标按行形式排列
% varargin  【可选】各锚点的位置权重,对角矩阵形式,若无则权重相同
if size(varargin,1) == 0
    W = 0.5*eye(3);
else
    W = cell2mat(varargin);
end
[baseX_,baseY_,baseZ_] = deal(baseP(:,1),baseP(:,2),baseP(:,3));
% baseY_ = baseP(:,2);
% baseZ_ = baseP(:,3);
H = [
    baseX_(2)-baseX_(1),baseY_(2)-baseY_(1);
    baseX_(3)-baseX_(1),baseY_(3)-baseY_(1);
    baseX_(4)-baseX_(1),baseY_(4)-baseY_(1)];
for i=1
    % HX=a
    a = 0.5*[
        baseX_(2).^2+baseY_(2).^2-R_calcu(i,2).^2-baseX_(1).^2-baseY_(1).^2+R_calcu(i,1).^2;
        baseX_(3).^2+baseY_(3).^2-R_calcu(i,3).^2-baseX_(1).^2-baseY_(1).^2+R_calcu(i,1).^2;
        baseX_(4).^2+baseY_(4).^2-R_calcu(i,4).^2-baseX_(1).^2-baseY_(1).^2+R_calcu(i,1).^2];
    %     p_out(i,:) = (pinv(H)*a)'; %伪逆求法
%         (H'*H)^(-1)*H'*a;
        X(:,i) = (H'*W(2:end,2:end)*H)^(-1)*H'*W(2:end,2:end)*a; %左逆求法

end
height = sum(W*(baseZ_-dairheight'))/trace(W);
p_out = [X;height]';
end

相关推荐

  1. 乘法拟合直线 Matlab

    2024-03-21 14:48:02       60 阅读
  2. 基于左逆测距,MATLAB函数

    2024-03-21 14:48:02       36 阅读
  3. 乘法

    2024-03-21 14:48:02       62 阅读
  4. 乘法

    2024-03-21 14:48:02       45 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-21 14:48:02       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-21 14:48:02       106 阅读
  3. 在Django里面运行非项目文件

    2024-03-21 14:48:02       87 阅读
  4. Python语言-面向对象

    2024-03-21 14:48:02       96 阅读

热门阅读

  1. Wpf-自定义图标Button

    2024-03-21 14:48:02       38 阅读
  2. 配置用户使用docker命令

    2024-03-21 14:48:02       45 阅读
  3. CCF编程能力等级认证GESP—C++5级—20240316

    2024-03-21 14:48:02       38 阅读
  4. 【NC235948】最大子串和

    2024-03-21 14:48:02       39 阅读
  5. 【K8s】Kubernetes网络完全指南和CNI讲解

    2024-03-21 14:48:02       41 阅读
  6. 机器学习流程—模型部署发布

    2024-03-21 14:48:02       42 阅读
  7. springboot + neo4j 功能使用

    2024-03-21 14:48:02       37 阅读
  8. 如何建设企业信息化管理体系?

    2024-03-21 14:48:02       33 阅读
  9. TC551001CPI

    2024-03-21 14:48:02       39 阅读