基于matlab的控制网平差程序设计,基于MATLAB的控制网平差程序设计--第四章源代码...

水准网平差过程(81页)

function [dh,h,V,L,uw0,uwh,uwl]=calculatelevelnet(ed,dd,sd,gd,pn,h0,k1,k2,h1,s) %水准网平差

A=sparse(zeros(sd,gd));%求解系数阵

b=(0:(gd-1))*sd;

A(k1'+b)=-1;

A(k2'+b)=1;

A=A';

A=A(:,1:dd);

disp('-------水准网间接平差误差方程的系数阵:------')

A=full(A)

l=zeros(gd,1); %求解常数项

disp('-------误差方程的常数项:-------')

l=h0(k1)-h0(k2)+h1

disp('-------权阵:-------')

p=diag(1./s)%权阵

dh=inv(A'*p*A)*A'*p*l ;%高差改正数

h00=h0(dd+1:sd);

h0=h0(1:dd); %待定点高差观测值

h=h0+dh;%待定点高程平差值

V=A*dh-l; %高差观测值改正数

L=h1+V; %高差观测值平差值

%精度评定

uw0=sqrt(V'*p*V/(gd-dd));%单位权中误差

Qxx=inv(A'*p*A);

uwh=uw0*sqrt(diag(Qxx));%待定点高程平差值中误差

uwh(dd+1:ed+dd)=0.0;

Qff=A*Qxx*A';

uwl=uw0*sqrt(diag(Qff));%高差平差值中误差

h=[h;h00];%所有点高程

h0=[h0;h00];

dh=[dh;zeros(ed,1)];

return

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值