📄 calculatelevelnet.m
字号:
function [dh,h,V,L,uw0,uwh,uwl]=calculatelevelnet(ed,dd,sd,gd,pn,h0,be,en,hd,distance)
% 水准网平差
A=sparse(zeros(sd,gd)); %求解系数阵
b=(0:(gd-1))*sd;
A(be'+b)=-1;
A(en'+b)=1;
A=A';
A=A(:,1:dd);
l=zeros(gd,1); %求解常数项
l=h0(be)-h0(en)+hd;
p=diag(1./distance); %权阵
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=hd+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
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -