2022年通用水准网形秩亏自由网和拟稳平差程序设计 .pdf
《2022年通用水准网形秩亏自由网和拟稳平差程序设计 .pdf》由会员分享,可在线阅读,更多相关《2022年通用水准网形秩亏自由网和拟稳平差程序设计 .pdf(7页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、MATLAB设计任何网形的秩亏自由网平差和拟稳平差程序设计长安大学王省超2015.5程序介绍: 程序适合于任何网形的水准网平差,原始数据输入到连个excel 表格程序界面:原始数据录入表格:(1)DH 表(2)GXLB 表名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 7 页 - - - - - - - - - 程序代码:function xsz=XSZ(num1,num2)% 函数功能提取误差系数A m1,n1=size(num1); m2,n2=size(num2);
2、 n=0; for i=1:m1 %用来判断参数个数if num1(i,2)=1 n=n+0; else n=n+1; end end xsz=zeros(m2,n); %建立系数阵,全为零for i=1:m2 %提取系数阵q=num2(i,1); z=num2(i,2); xsz(i,z)=1; xsz(i,q)=-1; end end %- 常数项 L- function l=L(num1,num2) m1,n1=size(num1); m2,n2=size(num2); l=zeros(m2,1); for i=1:m2 %计算 l q=num2(i,1); z=num2(i,2); l
3、(i,1)=num2(i,4)-num1(z,4)+num1(q,4); end l=l*1000; % 把 l 从米换算为毫米end %- 求平差权阵P- function p=P1(num1,num2) m1,n1=size(num1); m2,n2=size(num2); p=zeros(m2,m2); for i=1:m2 p(i,i)=1/num2(i,5); end 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 7 页 - - - - - - - - - e
4、nd %- 秩亏自由网平差- functionv,Qxx=PTPC clear all clc global H1; global K1; num1=xlsread(DH); K=num1(:,4); K1=K; m1,n1=size(num1); %用来判断num1 得行列num2=xlsread(GXLB); m2,n2=size(num2); A=XSZ(num1,num2) %误差方程系数r=rank(A); %矩阵的秩d=1; %秩亏数l=L(num1,num2) %误差方程常数项单位mm P=P1(num1,num2); %权N=A*P*A %法方程系数W=A*P*l NN=N*N
5、 N0=NN(1:r,1:r); NN_=blkdiag(inv(N0),zeros(d,d);%广义逆求逆Nm=N*NN_ x=Nm*W %- 高程平差值 - H=x/1000+num1(:,4)% 单位统一为M H1=H; %-精度评定 - v=A*x-l % 单位 mm Qxx=N*NN_*N*NN_*N msgbox(秩亏自由网普通平差完成) %- 拟稳平差 - functionv,Qxx= NWPC clear all global H2; global K1; num1=xlsread(DH); K=num1(:,4); K1=K; 名师资料总结 - - -精品资料欢迎下载 - -
6、 - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 7 页 - - - - - - - - - m1,n1=size(num1); %用来判断num1 得行列num2=xlsread(GXLB); m2,n2=size(num2); A=XSZ(num1,num2) %误差方程系数r=rank(A); %矩阵的秩d=m1-r; %秩亏数l=L(num1,num2) %误差方程常数项单位mm P=P1(num1,num2); %权for i=1:m1 %找出稳定点if num1(i,7)=1 f(i)=1; else f(i
7、)=0; end end c1=find(f=1);% 找出稳定点的下标c0=find(f=0);% 非稳定点下标A1=A(:,c0) A2=A(:,c1) N11=A1*P*A1; N12=A1*P*A2; N21=N12; N22=A2*P*A2; M=N22-N21*inv(N11)*N12; r=rank(M); d=1; MM=M*M; M0=MM(1:r,1:r); MM_=blkdiag(inv(M0),zeros(d,d);%广义逆求逆Mm_=M*MM_; a=(A2-N21*inv(N11)*A1); a_=Mm_*a; b_=inv(N11)*(A1-N12*a_); %-
8、 结算未知数 - x2=a_*P*l; x1=b_*P*l; x=x1;x2 H=x/1000+num1(:,4)% 单位统一为M H2=H; %- 计算改正数 - 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 7 页 - - - - - - - - - v=A*x-l %- 计算位置参数协因数矩阵- Qxx=b_*P*b_ b_*P*a_;a_*P*b_ a_*P*a_ msgbox(秩亏自由网拟稳平差完成) -%- 程序界面代码- function varargou
9、t = GUI(varargin)gui_Singleton = 1;gui_State = struct(gui_Name, mfilename, .gui_Singleton, gui_Singleton, .gui_OpeningFcn, GUI_OpeningFcn, .gui_OutputFcn, GUI_OutputFcn, .gui_LayoutFcn, , .gui_Callback, );if nargin & ischar(varargin1) gui_State.gui_Callback = str2func(varargin1);endif nargout vararg
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年通用水准网形秩亏自由网和拟稳平差程序设计 2022 通用 水准 网形秩亏 自由 拟稳平差 程序设计
限制150内