⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 calculatelevelnet.m

📁 利用MATLAB实现了对测量中的平面网
💻 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 + -