用MATLAB解决条件平差与间接平差共24页

合集下载

MATLAB在测量平差中的应用

MATLAB在测量平差中的应用

MATLAB在测量平差中的应用作者:夏浩军来源:《价值工程》2015年第10期摘要:本文采用MATLAB对测量平差中的平差处理进行了应用,并给出了相应的函数程序。

结果证明,MATLAB算法语言及编程简单并具有运算速度快的特点,极大地提升了测量平差数据处理的效率和质量。

Abstract: This paper uses MATLAB for the adjustment processing in measuring adjustment and gives the corresponding function program. The results prove that the MATLAB ALGOL and programming is simple and has the characteristics of fast operation and it has greatly improved the efficiency and quality of the data processing in measuring adjustment.关键词: MATLAB;数据处理;测量误差;测量平差;运算效率Key words: MATLAB;data processing;measurement error;measuring adjustment;operational efficiency0; 引言随着我国信息技术的飞速发展,计算机软件被广泛地应用于测绘领域,并在测绘处理中发挥了十分重要的作用。

为提高测量数据质量,减少测量过程中的误差,观测值的个数要多于确定未知量所必须观测的个数,也就是要进行多余观测。

有了多余观测,必定会在观测结果之间产生矛盾,测量平差的主要目的就在于消除矛盾,从而求得观测量的最可靠结果并评测测量成果的精度。

在所有的测量中,只要有多余观测,就存在平差问题。

而平差计算涉及大量的矩阵运算,不仅计算量大,且运算程序复杂。

MATLAB软件在测量平差中的应用

MATLAB软件在测量平差中的应用

M A T LAB 软件在测量平差中的应用X卓力格图 詹洁晖(中国地震局地震研究所,武汉 430071)摘 要 阐述了如何利用M AT L AB 软件处理观测数据。

M A T L A B 是目前在大学和研究机构广泛应用的一种数值计算及图形工具软件,它的特点是语法结构简明,数值计算高效,图形功能完备,特别适合非专业编程人员完成数值计算、科学试验数据处理等任务。

给出了一个水准网无约束平差算例及其源程序。

主题词 M A T L A B 测量平差 数据处理 程序设计APPLICATION OF MATLAB SOFTWARE TOADJUSTMENT OF OBSERVATIONSZhuoli Getu and Zhan Jiehui(I nstitate o f S eism ology ,CS B ,W uhan 430071)AbstractIn this paper how to apply the MAT LAB to pr ocess observatio n data is described.T he M ATLAB is one of the popular softw ares used fo r numerical calculation and gr aphic design in universities and institutes.It has several merits,e.g ,v ery simple g rammar str ucture,high efficiency for accomplishing num erical calcutation and it can m ake unprofessio nal computer users to complete ex perimental data processing ,algorithm design,etc.easily.So,it is meaningful to apply MA TLAB w ith g eo detic data adjustm ent calculations .An exam ple o f leveling netw ork adjustment and its original progr am is g iv en .Keywords :MAT LAB,adjustment of o bserv ations,data pro sessing ,prog ram design 1 M A T LA B 简介M ATLAB 是由美国MathWorks 公司推出的用于数值计算和图形处理的科学计算系统环境。

基于MATLAB的水准网平差程序设计与实现

基于MATLAB的水准网平差程序设计与实现

AP A—A pAo f 1 … + ln1 】 o +A pAl- 4 A 一P-A 一
A P =A pl+Af 1 +… +A l l l I o o f P1 p 一f
加入法方程系数矩 阵可逆 , 可得 :
X=一A A) A l ( P 一 p

2 最小二乘平差的计 算步骤 . 5 () 文件读取 已知 高程 和观测数据 ;2未知点近似高程计算 ; ) 1 从 ( ) ( 组 3 成法方 程式 ; ) 程系数 阵求 逆 ; ) 平差值计算 ; ) V及单 ( 法方 4 ( 高程 5 ( 残差 6 位 中误差 计算 ; ) 后成果( 平差值 、 (最 7 高程 高差平 差值及它们 的中误 差) 计算及输 出。
基 孑 MA L T AB昀水准 网 蓥程序设计与实项
郑 州市规 划勘 测设 计研 究 院 陈永 星
[ 摘


ቤተ መጻሕፍቲ ባይዱ ;
要] 本文首先讨论 了MA L B在测量平差 中的应 用现状 与在 国内外的研 究动 态, TA 对基 于间接平差的水准 网算 法进行 了分析 , 在
水准网 程序设计
X= X。+ 8 x
24精度估计 . 单位权 中误差为 :

其 中 , 为观 测值编 号 ; k h 是观测 高差 ; u 是观测 值 的平 差改正 数 , 叫残差 .,表示 高差两端点 的编号( 也 i 1j 即点号) z 3 分别表示观 ; 、 j 2 测 高差起 点和终点 的高程平差值 , 即平 差中的未知数 。实际平差 时还
±

要 引人 参数近似值 , 设 、 为 五 、 } _ 的近似值 , 、 , z 妇 为平差值 与 近似值 的差 , 也叫改 正数 , I= , z + 即z z十 而= ? , 入误差 代

matlab常见经典平差程序

matlab常见经典平差程序

matlab常见经典平差程序希望本人编写的经典平差可以对matlab初学者以及测绘专业的学生有用By cowboyfunction void()sprintf('请选择平差类型')sprintf('1: 参数平差\n2: 条件平差\n3:具有条件的参数平差\n4: 具有参数的条件平差\n') a=input('请输入对应号码\n');switch (a)case 1% 参数平差V=AX-Lsprintf('1:参数平差V=AX-L')n=input('请输入n=');t=input('请输入t=');A=input('请输入系数矩阵A=');L=input('请输入常数项矩阵L=');P=diag(input('请输入权阵P='))%P=input('请输入权阵P=');N=A'*P*A;U=A'*P*L;sprintf('开始计算')X=inv(N)*(U);V=A*X-L;Qx=inv(N);u=sqrt((V'*P*V)/(n-t));fid=fopen('data.txt','wt'); %写入文件路径,文件输出fprintf(fid,'=====================参数平差: V=AX-L =====================\n');fprintf(fid,'输出n,t\n') ;fprintf(fid,'%12.5f %12.5f\n',n ,t) ;%n,t fprintf(fid,'输出矩阵A\n')[m,n]=size(A); %Afor i=1:1:mfor j=1:1:nif j==nfprintf(fid,'%12.5f\n',A(i,j));elsefprintf(fid,'%12.5f\t',A(i,j));endendendfprintf(fid,'\n');fprintf(fid,'输出矩阵L\n') ;[m,n]=size(L); %Lfor i=1:1:mfor j=1:1:nif j==nfprintf(fid,'%12.5f\n',L(i,j));elsefprintf(fid,'%12.5f\t',L(i,j));endendendfprintf(fid,'\n');fprintf(fid,'输出矩阵P\n') ;[m,n]=size(P); %P for i=1:1:mfor j=1:1:nif j==nfprintf(fid,'%12.5f\n',P(i,j));elsefprintf(fid,'%12.5f\t',P(i,j));endendendfprintf(fid,'\n');fprintf(fid,'输出矩阵X\n'); [m,n]=size(X); %X for i=1:1:m for j=1:1:nif j==nfprintf(fid,'%12.5f\n',X(i,j));elsefprintf(fid,'%12.5f\t',X(i,j));endendendfprintf(fid,'\n');fprintf(fid,'输出矩阵V\n'); [m,n]=size(V); %V for i=1:1:m for j=1:1:nif j==nfprintf(fid,'%12.5f\n',V(i,j));elsefprintf(fid,'%12.5f\t',V(i,j));endendendfprintf(fid,'\n');fprintf(fid,'输出矩阵Qx\n'); [m,n]=size(Qx); %Qx for i=1:1:mfor j=1:1:nif j==nfprintf(fid,'%12.5f\n',Qx(i,j)); elsefprintf(fid,'%12.5f\t',Qx(i,j));endendendfprintf(fid,'\n');fprintf(fid,'输出单位权中误差u\n'); [m,n]=size(u); %u for i=1:1:m for j=1:1:nif j==nfprintf(fid,'%12.5f\n',u(i,j));elsefprintf(fid,'%12.5f\t',u(i,j));endendendfprintf(fid,'\n');fclose(fid);case 2% 条件平差BV+W=0sprintf('2:条件平差BV+W=0')n=input('请输入n=');t=input('请输入t=');B=input('请输入系数矩阵B=');W=input('请输入自由项向量W='); P=input('请输入权阵P='); sprintf('开始计算')K=-inv((B*inv(P)*B'))*W;V=inv(P)*B'*K;u=sqrt((V'*P*V)/(n-t));Ql=inv(P)-inv(P)*B'*inv(B*inv(P)*B')*B*inv(P);fid=fopen('data.txt','wt'); %写入文件路径,文件输出fprintf(fid,'=====================条件平差: BV+W=0 =====================\n'); fprintf(fid,'输出n,t\n') ;fprintf(fid,'%12.5f %12.5f\n',n ,t) ;%n,tfprintf(fid,'输出矩阵B\n');[m,n]=size(B); %Bfor i=1:1:mfor j=1:1:nif j==nfprintf(fid,'%12.5f\n',B(i,j));elsefprintf(fid,'%12.5f\t',B(i,j));endendendfprintf(fid,'\n');fprintf(fid,'输出矩阵W\n');[m,n]=size(W); %Wfor i=1:1:mfor j=1:1:nif j==nfprintf(fid,'%12.5f\n',W(i,j));elsefprintf(fid,'%12.5f\t',W(i,j));endendendfprintf(fid,'\n');fprintf(fid,'输出矩阵P\n'); [m,n]=size(P); %Pfor i=1:1:mfor j=1:1:nif j==nfprintf(fid,'%12.5f\n',P(i,j)); elsefprintf(fid,'%12.5f\t',P(i,j));endendendfprintf(fid,'\n');fprintf(fid,'输出矩阵V\n'); [m,n]=size(V); %Vfor i=1:1:mfor j=1:1:nif j==nfprintf(fid,'%12.5f\n',V(i,j)); elsefprintf(fid,'%12.5f\t',V(i,j)); endendendfprintf(fid,'\n');fprintf(fid,'输出矩阵Qx\n'); [m,n]=size(Ql); %Ql for i=1:1:m for j=1:1:nif j==nfprintf(fid,'%12.5f\n',Ql(i,j));elsefprintf(fid,'%12.5f\t',Ql(i,j));endendendfprintf(fid,'\n');fprintf(fid,'输出单位权中误差u\n');[m,n]=size(u); %u for i=1:1:mfor j=1:1:nif j==nfprintf(fid,'%12.5f\n',u(i,j));elsefprintf(fid,'%12.5f\t',u(i,j));endendendfprintf(fid,'\n');fclose(fid);case 3% 具有条件的参数平差% 参数平差V=AX-L% 条件平差BX+W=0sprintf('3:具有条件的参数平差V=AX-L;BX+W=0') n=input('请输入n=');t=input('请输入t=');r=input('请输入r=');A=input('请输入误差方程系数矩阵A=');L=input('请输入常数项矩阵L=');B=input('请输入条件方程系数矩阵B=');W=input('请输入自由项向量W=');P=input('请输入权阵P=');sprintf('开始计算')K=-(inv(B*inv(A'*P*A)*B'))*(W+B*inv(A'*P*A)*A'*P*L)X=(inv(A'*P*A))*(B'*K+A'*P*L)N=(A'*P*A)M=B*inv(N)*B'Qx=inv(N)-inv(N)*B'*inv(M)*B*inv(N)u=sqrt((V'*P*V)/(n-t+r))fid=fopen('data.txt','wt'); %写入文件路径,文件输出fprintf(fid,'=====================具有条件的参数平差: V=AX-L;BX+W=0 ===========================\n');fprintf(fid,'输出n,t,r\n') ;fprintf(fid,'%12.5f %12.5f %12.5f\n',n ,t,r); %n,t,rfprintf(fid,'输出矩阵A\n');[m,n]=size(A); %Afor i=1:1:mfor j=1:1:nif j==nfprintf(fid,'%12.5f\n',A(i,j));elsefprintf(fid,'%12.5f\t',A(i,j));endendendfprintf(fid,'\n');fprintf(fid,'输出矩阵L\n');[m,n]=size(L); %Lfor i=1:1:mfor j=1:1:nif j==nfprintf(fid,'%12.5f\n',L(i,j)); elsefprintf(fid,'%12.5f\t',L(i,j)); endendendfprintf(fid,'\n');fprintf(fid,'输出矩阵B\n'); [m,n]=size(B); %Bfor i=1:1:mfor j=1:1:nif j==nfprintf(fid,'%12.5f\n',B(i,j)); fprintf(fid,'%12.5f\t',B(i,j)); endendendfprintf(fid,'\n');fprintf(fid,'输出矩阵W\n'); [m,n]=size(W); %W for i=1:1:m for j=1:1:nif j==nfprintf(fid,'%12.5f\n',W(i,j)); elsefprintf(fid,'%12.5f\t',W(i,j)); endendendfprintf(fid,'\n');fprintf(fid,'输出矩阵P\n'); [m,n]=size(P); %P for i=1:1:m for j=1:1:nif j==nfprintf(fid,'%12.5f\n',P(i,j)); elsefprintf(fid,'%12.5f\t',P(i,j)); endendendfprintf(fid,'\n');fprintf(fid,'输出矩阵X\n'); [m,n]=size(X); %X for i=1:1:m for j=1:1:nif j==nfprintf(fid,'%12.5f\n',X(i,j)); elsefprintf(fid,'%12.5f\t',X(i,j)); endendendfprintf(fid,'\n');fprintf(fid,'输出矩阵V\n'); [m,n]=size(V); %Vfor j=1:1:nif j==nfprintf(fid,'%12.5f\n',V(i,j)); elsefprintf(fid,'%12.5f\t',V(i,j));endendendfprintf(fid,'\n');fprintf(fid,'输出矩阵Qx\n'); [m,n]=size(Qx); %Qx for i=1:1:m for j=1:1:nif j==nfprintf(fid,'%12.5f\n',Qx(i,j)); elsefprintf(fid,'%12.5f\t',Qx(i,j)); endendendfprintf(fid,'\n');fprintf(fid,'输出单位权中误差\n'); [m,n]=size(u); %u for i=1:1:m for j=1:1:nif j==nfprintf(fid,'%12.5f\n',u(i,j));elsefprintf(fid,'%12.5f\t',u(i,j));endendendfprintf(fid,'\n');fclose(fid);case 4% 具有参数的条件平差% 具有参数的条件方程式BV+AX+W=0sprintf('4:具有参数的条件平差BV+AX+W=0 ')n=input('请输入n=');t=input('请输入t=');r=input('请输入r=');B=input('请输入条件方程中V的系数矩阵B=');A=input('请输入条件方程中X的系数矩阵A=');W=input('请输入条件方程自由向量W=');P=input('请输入权阵P=');sprintf('开始计算')N=(B*inv(P)*B')M=(A'*inv(N)*A)X=-inv(M)*A'*inv(N)*WK=-inv(N)*(A*X+W)V=inv(P)*B'*KQx=inv(M)u=sqrt((V'*P*V)/(r-t))fid=fopen('data.txt','wt'); %写入文件路径,文件输出fprintf(fid,'=====================具有参数的条件平差: BV+AX+W=0 ================================\n');fprintf(fid,'输出n,t,r\n') ;fprintf(fid,'%12.5f %12.5f %12.5f\n',n ,t,r) ; %n,t,rfprintf(fid,'输出矩阵B\n');[m,n]=size(B); %Bfor i=1:1:mfor j=1:1:nif j==nfprintf(fid,'%12.5f\n',B(i,j));elsefprintf(fid,'%12.5f\t',B(i,j)); endendendfprintf(fid,'\n');fprintf(fid,'输出矩阵A\n'); [m,n]=size(A); %Afor i=1:1:mfor j=1:1:nif j==nfprintf(fid,'%12.5f\n',A(i,j)); elsefprintf(fid,'%12.5f\t',A(i,j)); endendendfprintf(fid,'\n');fprintf(fid,'输出矩阵W\n'); [m,n]=size(W); %Wfor i=1:1:mfor j=1:1:nif j==nfprintf(fid,'%12.5f\n',W(i,j)); elsefprintf(fid,'%12.5f\t',W(i,j)); endendendfprintf(fid,'\n');fprintf(fid,'输出矩阵P\n');[m,n]=size(P); %P for i=1:1:m for j=1:1:nif j==nfprintf(fid,'%12.5f\n',P(i,j)); elsefprintf(fid,'%12.5f\t',P(i,j)); endendendfprintf(fid,'\n');fprintf(fid,'输出矩阵X\n'); [m,n]=size(X); %X for i=1:1:m for j=1:1:nif j==nfprintf(fid,'%12.5f\n',X(i,j)); elsefprintf(fid,'%12.5f\t',X(i,j)); endendendfprintf(fid,'\n');fprintf(fid,'输出矩阵V\n'); [m,n]=size(V); %V for i=1:1:m for j=1:1:nif j==nfprintf(fid,'%12.5f\n',V(i,j)); elsefprintf(fid,'%12.5f\t',V(i,j)); endendendfprintf(fid,'\n');fprintf(fid,'输出矩阵Qx\n'); [m,n]=size(Qx); %Qx for i=1:1:m for j=1:1:nif j==nfprintf(fid,'%12.5f\n',Qx(i,j)); elsefprintf(fid,'%12.5f\t',Qx(i,j)); endendendfprintf(fid,'\n');fprintf(fid,'输出单位权中误差\n'); [m,n]=size(u); %u for i=1:1:m for j=1:1:nif j==nfprintf(fid,'%12.5f\n',u(i,j));elsefprintf(fid,'%12.5f\t',u(i,j));endendendfprintf(fid,'\n');fclose(fid);otherwisedisp('代号输入有误')end。

基于Matlab的水准网间接平差程序设计

基于Matlab的水准网间接平差程序设计

基于Matlab的水准网间接平差程序设计赵亚红;周文国【摘要】设计水准网数据结构,存储在文本中,按照水准网的起点、终点、观测数据相对应关系建立矩阵,利用Matlab强大的矩阵运算功能,通过间接平差方法,按照最小二乘原理,求得任意水准网的未知点的最或然高程值,对平差结果输出存储,程序直观、简便。

并用实例验证了其正确性及通用性。

%On the basis of data structure designed, the relation of point s and lines of level net, the surveying data and the known data are st ored in the text, the matrixs were set up through the relation of the jupping -off points, end -points and the surveying data. And a program is designed in MATLAB to get the value of most probable by its strong abilty of calculating matrix, the result was output and stored. At last,the example proved the programme was right.【期刊名称】《华北科技学院学报》【年(卷),期】2011(008)003【总页数】3页(P58-60)【关键词】水准网;间接平差;Matlab【作者】赵亚红;周文国【作者单位】华北科技学院土木工程系,北京东燕郊101601;华北科技学院土木工程系,北京东燕郊101601【正文语种】中文【中图分类】P207.2水准网间接平差的的具体过程是:(1)根据水准网形进行分析,列误差方程;(2)根据误差方程系数列法方程;(3)解算法方程,求参数X及V;(4)求最或然值、精度评定。

用MATLAB解决_条件平差和间接平差(可编辑)

用MATLAB解决_条件平差和间接平差(可编辑)

用MATLAB解决_条件平差和间接平差测量程序设计条件平差和间接平差一、条件平差基本原理A LA0函数模型 A VW0r n n 1 r 1r 12 21随机模型D? Q? P0 0TV P Vm i n平差准则条件平差就是在满足r个条件方程式条件下,求使函数V‘PV最小的V值,满足此条件极值问题用拉格朗日乘法可以求出满足条件的V值。

?A LA01、平差值条件方程: 0r n n 1r 1r 1a La L a La01 12 2 n n 0b Lb L b Lb01 12 2 n n 0?r Lr L r Lr01 12 2 n n 0a ,b ,, r i1 , 2 ,, n 条件方程系数i i ia ,b ,, r0 0 0常数项?A LA02、条件方程: 0r n n 1r 1r 1将LLV代入平差值条件方程中,得到A VW0r 1 n 1 r 1 r 1w , w ,, wa b r为条件方程闭合差WA LA闭合差等于观测值减去其应有值。

3、改正数方程:按求函数条件极值的方法引入常数TK k , k ,, ka b rr 1称为联系系数向量,组成新的函数:T T? V P V2 K A VW将Ω对V求一阶导数并令其为零?T T2 V P2 K A0VT1 T TP VA K则: VP A KQ A K4、法方程: 将条件方程 AV+W0代入到改正数方程VQATK 中,则得到:TA Q A KW0N KW0记作: a ar 1 r 1 r 1r rTR N R A Q A R A r由于 a a1 T1K? N W? A Q A A LANaa为满秩方阵,a a 0TLLVVQ A K按条件平差求平差值计算步骤A VW01、列出rn-t个条件方程r 1 n 1 r 1 r 1T1 TN KW0NA Q AA P A2、组成法方程a aa ar 1 r 1 r 1r r1K? N Wa a3、求解联系系数向量4、将 K值代入改正数方程VP-1ATKQATk中,求出V值,并求出平差值LL+V。

基于MATLAB的测量平差计算

基于MATLAB的测量平差计算

序。M A T L A B与 其 他 算 法 语 言相 比 , 具有编程简单 、 运 算速 度 快 的 特 点 , 特 别 是 在 矩 阵运 算 方 面 , 在 最 小 二 乘
平 差 中可 以发 挥 很 好 的作 用 , 能 大 大 提 高 工 程 测 量 中 的数 据处 理 效 率 。 关键 词 : 平 差; M A T L A B优 化 箱 ; 附 线 性 不 等 式 约 束
2 0 1 3年第 7 期
中州 煤炭
总第 2 1 1 期
基 于 MAT L A B 的 测 量 平 差 计 算
高 思培 , 陈冠 宇 , 范新 华 , 王 耀鑫 , 王强昆
( 1 , 河 南理 工 大 学 测绘 与 国 土 信 息 工 程 学 院 , 河 南 焦作 2 . 桂林理 工大学 测绘地理信 息学院, 广西 桂林 4 5 4 0 0 0 ; 7 1 0 0 4 3 ) 5 4 1 0 0 6 ; 3 . 机械工业勘察设计研 究院, 陕西 西安

( 胎 ) B P 1 , P为 观测 值 的权 阵。
平差值 向量 的协 因数阵 :
Q L L= B( 曰 P Z ) 曰
计 算 软件 , 它 以矩 阵 运算 为基 础 , 把计算 、 绘 图及 动 态 系统 仿真 等功 能有 机 融合在 一起 。MA T L A B将 高 性 能 的数值 和符 号计 算功 能 、 强 大 的绘 图功 能 、 程 序 语 言设 计功 能 以及为 数众 多 的应用 工具 箱集 成在 一
H a= 2 3 7 . 4 8 3 m, 为求 B、 C、 D三点 的高 程 , 进 行 了水
准测 量 , 其结果 见表 1 , 试 按 间 接 平 差 求 定 B、 C 、 D

MATLAB软件在测量平差解算中的应用

MATLAB软件在测量平差解算中的应用
h5= 0. 6531 d= 2. 2080
3 . 2 用间接平差的方法求解 间接平差误差方程为 : V = Bx - l 法方程为: N bbx- W = 0 观测值改正数 V 为 :
V = - 0. 2427 2. 8552 - 4. 2427 - 0. 1448 - 3. 9021 - 0. 6151 - 1. 1423
观测量或选用独立的参数列方程式, 然后根据最小 二乘法原理平差 , 由最小二乘法原理平差一般会得 到法方程, 法方程的求解即求解线性方程组。如线 性方程组 AX = b, A 为系数矩阵, b 为常数项矩阵 , X 为未知量, 当方程存在唯一解时 , 直接使用矩阵求逆 X = inv(A ) * b, 或采用左除运算 X = A \ b, 其实这两 种方法都是高斯消去法求解 , 只是采用左除运算不 是求逆 , 而是直接进行高斯消去法计算。当然也可 以采用 LU 分解、 QR 分解、 Cho lesky 分解 , 以及 Schur 分解、 H essenberg 分解、 奇异分解等来求解线性方程 组。另外当方程数与未知量数目不等时, 通常不存 在唯一解, 在约束条件下可以得到唯一解。此时在 MATLAB 中 X = P in v (A ) * b, 或采用左除运算 X = A \b会得到最小二乘解。当方程存在无穷多个解的 时 , 如果采用求逆或除法只能得到其中的一个解。
此时在matlab中xmatlab在测量平差解算中的应用如图1所示的水准网中b是已知高程水准点并设这些已知高程点无误差图中b点的高程观测高差和相应的水准路线长度见表水准网观测数据观测号观测高差水准路线长度km已知高程结合测量平差的原理并对观测数据做适当的加工分别用条件平差和间接平差的原理在matlab中实现观测量的平差其代码如下

用MATLAB解决 条件平差和间接平差

用MATLAB解决 条件平差和间接平差
A h2 D h1
C h6 E h3 h5 h7 B h4
disp(‘C是单位权观测高差的线路公里数,S是线路长度’) 是单位权观测高差的线路公里数, 是线路长度 是线路长度’ 是单位权观测高差的线路公里数 C = l*ones(1,6)
S = [1.1, 1.7, 2.3, 2.7, 2.4, 4.0] P = C./S % 定义观测值的权, 定义观测值的权, P = diag(P) % 定义权阵 disp(‘参数的解’) 参数的解’ 参数的解 x = inv(B’*P*B)*B’*P*l disp(‘误差 误差V(mm), 各待定点的高程平差值 (m)’) 各待定点的高程平差值L1( ) 误差 V = B*x - l % 误差方程 误差方程(mm) L1 = L + V/1000 % 观测值的平差值, 观测值的平差值, disp(‘精度评定’) 精度评定’ 精度评定 n = 6; % 观测值的个数 t = 2; % 必要观测数 delta = sqrt(V’*P*V/(n – t))
H(1,1)+H(2,1)-H(3,1)+HAH(2,1)if H(1,1)+H(2,1)-H(3,1)+HA-HB==0 && H(2,1)H(4,1)==0 disp(‘检核正确 检核正确') disp( 检核正确') else disp(‘检核错误 检核错误') disp( 检核错误') end disp(‘平差后的高程值 平差后的高程值') disp( 平差后的高程值') HC = HA + H(1,1) HD = HA + H(1,1) + H(4,1)
二、间接平差的基本原理
在一个控制网中,设有t个独立参数, 在一个控制网中,设有t个独立参数,将每一个观测值都表达 成所选参数的函数,以此为基础进行平差, 成所选参数的函数,以此为基础进行平差,最终求得参数的估 计值。 计值。 选择参数应做到足数(参数的个数等于必要观测数)和独 选择参数应做到足数(参数的个数等于必要观测数) 参数间不存在函数关系)。 )。利用参数将观测值表示为 立(参数间不存在函数关系)。利用参数将观测值表示为

基于MATLAB的测量平差数据处理

基于MATLAB的测量平差数据处理

基于MATLAB的测量平差数据处理摘要MATLAB是目前在研究机构广泛应用的一种数值计算及图形工具软件,它的特点是语法结构简明、数值计算高效、图形功能完备,特别适合非专业编程员完成数值计算、科学试验处理等任务。

以往的测量数据处理方法需要编制特定的处理矩阵运算程序,而且程度复杂,难度大。

本文介绍一种基于MATLAB的水准网和测边网的程序设计方法,与其它算法语言相比,具有编程简单,运算速度快的特点。

文中分别阐述了水准网和测边网程序的理论基础、实现步骤和运行结果。

通过实例的分析,总结出利用MATLAB对测量数据处理有很大的应用价值,它缩短了编程的时间,提高工作效率。

关键词:MATLAB;平差;程序设计ABSTRAC TMATLAB is one species of numerical-values calculation and graphic tools software which is widely used to apply at research institutions at present. The particularities are: concise grammar-structure、highly efficient in numerical values calculating、complete function of graphs、especially it is adapted to evildoing professional programmer to accomplish the tasks that are numerical-values calculating and scientific experiments treating. The ancient methods of measured data-processing need establishing special proceedings of treating matrices operation, moreover, it is complex and greatly difficult.This article introduces one programming method dealing with leveling and measuring edge network based on MATLAB. Compared with other algorithm language, it has particularities which are simply programming and quickly operating. The article separately expatiate the theories basics、realizing steps and running results at leveling and measuring edge network. With the analysis of examples, it has prodigious application value in measured data-processing by use of MATLAB. Moreover, it shortens programming time and improves working effectiveness.Key words:MATLAB;programming绪论作为一名测量技术人员,如果不掌握一门PC机编程语言与便携计算工具,要想提高测量工作的效率几乎寸步难行。

MATLAB 在水准测量平差中的应用1

MATLAB 在水准测量平差中的应用1

MATLAB 在水准测量平差中的应用1摘要:文中阐述了水准网从程序设计到实现的整个过程。

通过实例可看出,利用MATLAB对测量数据处理不仅可以缩短了编程的时间,还可以提高工作效率。

关键词:测量平差;水准网;程序设计Matlab Application In Leveling AdjustmentWang QinMinnan University of Science and Technology,Depart. of Civil Engineering,Quanzhou 362700,ChinaAbstract:The article separately expatiate the theories basics、realizing steps and running results at leveling. With the analysis of examples,it has prodigious application value in measured data-processing by use of MATLAB. Moreover,it shortens programming time and improves working effectiveness.Key words:MATLAB;leveling network;programming0 引言测量平差数据处理主要是基于矩阵的运算。

在MATLAB环境中,不需要对创建的变量对象给出类型说明和维数,它是一种程序化和解释性相结合的编程语言,不仅使程序容易调试、计算更为简捷,而且使平差原理理解和掌握变得更容易,这些优点都依托于它是逐行解释运行程序。

再有,MATLAB语言容易掌握和理解,这一点与数学语言相类似。

1 测量平差原理的概述根据所选参数的个数,对于一个实际平差问题,附有条件的间接平差模型本身实际上就是各种经典平差模型的概括模型,这一点经过仔细推敲可以发现,其余的经典平差模型都是它的特例。

测量平差教学中MATLAB 软件的应用

测量平差教学中MATLAB 软件的应用

!""#$%&’$() (* +(*’,&-. /!01!2 $)’( ’3. 0.&%3$)4 (* +5-6.7 !895:’;.)’
FK ,75L;789, MNOK /P7LQ7:8,MNE)@ F7LR789,@2:8 S28LA:8
( !"#$ % &’ !()*"+ &’ ,&-./(0 1&22"." &’ !34"-3" 0-5 6-.4-"")4-.,7(8/&( 940-.:4 %##""",1/4-0)
=1 ( 0 & ’’ %
( B)EF = = = = +GH): ,I ’JG KG;GK):H A,:B)’),: DG’J,B &BCLE’DG:’ # ) = = = = # [ !0 1 > > > =1 > > 1 > 1 1 > > > 1 > > > 1 > > > 1 ; > ] =1 1 =1 >
3 (:, 根据偶然误差 ! 服从! 4 ) , 可以应用 IJKLJM 绘 #)
书中所有的计算均以计算机为基础, 删除了增订本中的高斯约 化法、 迭代解法等相关手工计算内容, 这给该课程的教学带来较 大的困难。 在开设测量平差之前, 虽然学生已经具有一定的计算机编 程能力, 但是对于初涉此课程的学生来说, 要想编写大量复杂的 矩阵计算, 不是一件很容易的事情, 对于大多数的学生其学习难 度较大。同时, 若花费大量的时间进行程序设计, 必然会影响到 测量平差课程内容的理解和掌握, 往往会适得其反, 不利于该课

Matlab软件在测绘平差计算中的应用

Matlab软件在测绘平差计算中的应用

Matlab软件在测绘平差计算中的应用摘要:测绘平差计算主要是矩阵运算,矩阵运算主要包括矩阵的转置、求逆等。

而在Matlab软件中创建变量对象不需要给出具体类型说明和维数,程序计算简捷,容易调试,能更容易地理解和掌握测量原理。

关键词:Matlab;平差计算1、Matlab软件简介Matla是一款集数值计算、数据分析与可视化、动态仿真、文字图像处理等功能于一体的软件。

它执行数据操作的基本单位是矩阵,在Matlab中矩阵的生成、运算、转置、求逆等计算非常容易,此外它的统计工具箱功能非常强大,可以方便快速地进行数据统计和处理。

2、Matlab在测绘中的应用在测量数据平差处理中,最常见的问题是解线性方程组AX+L=0,式中A为系数矩阵,L为常数项矩阵,X为待求未知数。

当存在解时,有高斯消去法、LU分解法或直接使用矩阵求逆,其解可写为X=A-1L。

当A不是方阵,通常不存在唯一解,在Matlab中此时会给出最小二乘解。

“\”表示左算子,“Aorkest.txt’,’r’);可以用Matlab绘制出均方差为σ=1的正态分布概率密度函数的误差分布曲线,具体操作为:x=-2:0.1:2y=normpdf(x,0,1)holdonplot(x,y,’b’)holdoff显示的误差分布曲线如下图所示:从文中的算例可以看出,测量的计算问题用Matlab软件处理可以从繁琐的数值计算中解脱出来,简单明了便于检查。

Matlab软件的使用有利于专业知识与软件应用相结合。

因其强大的矩阵计算、简洁的程序编写方法等特点,使Matlab软件非常适合测量平差的计算,可以达到事半功倍的效果。

参考文献:[1]武汉大学测量平差教研室.测量平差基础:3版[M].北京:测绘出版社,2006.[2]孙祥,徐流美,吴清.Matlab基础教程[M].北京:清华大学出版社,2005.[3]陈杰,Matlab宝典[M].电子工业出版社,2011.[4]聂桂根,Matlab在测量数据处理中的应用[J].测绘通报,2001.。

MATLAB平差程序

MATLAB平差程序

function BJPC2ZB=[];ZJ=[];BC=[];%%format long[filename,filepath]=uigetfile('*.txt','选择平差文件:'); name=[filepath filename];fid1=fopen(name,'rt');if(fid1==-1)disp('文件未打开,请重试!');return;endn=fscanf(fid1,'%f',1);%输入边的个数b=fscanf(fid1,'%f',1);%输入多余观测个数E=fscanf(fid1,'%f',1);%输入测角中误差t=fscanf(fid1,'%f',1);%输入坐标个数ZB=fscanf(fid1,'%f',[2 t]);dms1=fscanf(fid1,'%f',[3 n+1]);BC=fscanf(fid1,'%f',[1 n]);T0=fscanf(fid1,'%f',1);T1=fscanf(fid1,'%f',1);fclose(fid1);dms=dms1';ZJ=dms2degrees(dms);%%if t==2T0=T0;%若告诉起始方位角就直接输入endif t==4 %若没有告诉起始方位角由坐标反算Xa=ZB(1,1);Xb=ZB(1,2);Ya=ZB(2,1);Yb=ZB(2,2);Tx=Xb-Xa; Ty=Yb-Ya;T0=atan(Ty/Tx)*180/pi;%对方位角的讨论if ((Tx>0)&&(Ty>0))T0;endif (((Tx<0)&&(Ty>0))||((Tx<0)&&(Ty<0)))T0=T0+180;endif ((Tx>0)&&(Ty<0))T0=T0+360;endif ((Tx==0)&&(Ty>0))T0=90;endif ((Tx==0)&&(Ty<0))T0=270;endif((Ty==0)&&(Tx>0))T0=0;endif ((Ty==0)&&(Tx<0))T0=180;endenda0=T0;x0=ZB(1,t/2);y0=ZB(2,t/2);A=[0,0];FWJ=[];%开始计算近似方位角J=1;while(J<=n+1)belta=ZJ(J);%讨论方位角if J==1a=a0+belta;elsea=a+belta;endif a>=180a=a-180;elsea=a+180;endif a>=360a=a-360;endFWJ(J)=a;J=J+1;endFWJ;%%J=1;%开始计算近似坐标Awhile(J<=n)if J==1A(1,1)=x0+BC(1)*cos(FWJ(1)*pi/180);A(2,1)=y0+BC(1)*sin(FWJ(1)*pi/180);elseA(1,J)=A(1,J-1)+BC(J)*cos(FWJ(J)*pi/180); A(2,J)=A(2,J-1)+BC(J)*sin(FWJ(J)*pi/180);endJ=J+1;endA;%%W=[];%开始计算闭合差if t==2T1=T1;endif t==4Xa=ZB(1,3);Xb=ZB(1,4);Ya=ZB(2,3);Yb=ZB(2,4);Tx=Xb-Xa; Ty=Yb-Ya;T1=atan(Ty/Tx)*180/pi;if ((Tx>0)&&(Ty>0))T1;endif (((Tx<0)&&(Ty>0))||((Tx<0)&&(Ty<0)))T1=T1+180;endif ((Tx>0)&&(Ty<0))T1=T1+360;endif ((Tx==0)&&(Ty>0))T1=90;endif ((Tx==0)&&(Ty<0))T1=270;endif((Ty==0)&&(Tx>0))T1=0;endif ((Ty==0)&&(Tx<0))T1=180;endendW(1,1)=-(FWJ(n+1)-T1)*3600;%以秒为单位W(2,1)=-(A(1,n)-ZB(1,t/2+1))*100;%以厘米为单位W(3,1)=-(A(2,n)-ZB(2,t/2+1))*100;W;%%XS=zeros(3,2*n+1);%开始计算系数阵,XS是系数阵e=n+1;while(e<=2*n+1)XS(1,e)=1;e=e+1;endf=1;while(f<=n)XS(2,f)=cos(FWJ(f)*pi/180);%纵坐标边长改正数的系数 XS(3,f)=sin(FWJ(f)*pi/180);%横坐标边长改正数的系数 f=f+1;endu=1;y0=A(2,n);x0=A(1,n);Y=[];X=[];y1=[];x1=[];while(u<=n+1)if u==1Y(1)=ZB(2,t/2);X(1)=ZB(1,t/2);elseY(u)=A(2,u-1);X(u)=A(1,u-1);endu=u+1;endy1=-1/2062.65*(y0-Y);%纵坐标转角改正数的系数x1=1/2062.65*(x0-X);%横坐标转角改正数的系数y1;x1;d=n+1;z=1;while(d<=2*n+1)XS(2,d)=y1(1,z);XS(3,d)=x1(1,z);d=d+1;z=z+1;endXS;%%r=[];h=1;while (h<=n)s=(5+5*BC(h)/1000)/10;%求中误差厘米为单位r(h)=E^2/s^2;%计算距离的权h=h+1;endaa=[];y=1;while(y<=n)aa(y)=r(y);%将距离的权赋给矩阵aay=y+1;endc=n+1;while(c<=2*n+1)aa(c)=1;%转角的权都是1c=c+1;endP=diag(aa);%形成权阵P;%%Q=inv(P);N=XS*Q*XS';N1=inv(N);K=inv(N)*W;V=Q*XS'*K;V;BC1=BC'+V(1:n)/100;%将改正数加到观测值以求平差边长(除一百统一单位)ZJ1=ZJ+V(n+1:2*n+1)/3600;%同上BC1;i=1;while (i<=n+1)ZJ2(i,1)=fix(ZJ(i));ZJ2(i,2)=fix((ZJ(i)-fix(ZJ(i)))*60);ZJ2(i,3)=((ZJ(i)-fix(ZJ(i)))*60-fix((ZJ(i)-fix(ZJ(i)))*60))*60;i=i+1;endZJ2;%%A1=[0,0];FWJ1=[];J=1;while(J<=n+1)belta=ZJ1(J);if J==1a=a0+belta;elsea=a+belta;endif a>=180a=a-180;elsea=a+180;endif a>=360a=a-360;endFWJ1(J)=a;J=J+1;endi=1;while (i<=n+1)FWJ3(i,1)=fix(FWJ(i));FWJ3(i,2)=fix((FWJ(i)-fix(FWJ(i)))*60);FWJ3(i,3)=((FWJ(i)-fix(FWJ(i)))*60-fix((FWJ(i)-fix(FWJ(i)))*60))*60;FWJ2(i,1)=fix(FWJ1(i));FWJ2(i,2)=fix((FWJ1(i)-fix(FWJ1(i)))*60);FWJ2(i,3)=((FWJ1(i)-fix(FWJ1(i)))*60-fix((FWJ1(i)-fix(FWJ1(i)))*60))*60; i=i+1;endFWJ3;FWJ2;%%J=1;%开始计算平差坐标A1while(J<=n)if J==1A1(1,1)=ZB(1,t/2)+BC1(1)*cos(FWJ1(1)*pi/180);A1(2,1)=ZB(2,t/2)+BC1(1)*sin(FWJ1(1)*pi/180);elseA1(1,J)=A1(1,J-1)+BC1(J)*cos(FWJ1(J)*pi/180);A1(2,J)=A1(2,J-1)+BC1(J)*sin(FWJ1(J)*pi/180);endJ=J+1;endA1;m=sqrt(V'*P*V/b);%测量精度单位权中误差。

平差实验报告及完整matlab程序

平差实验报告及完整matlab程序
x0=[-0.004;86.806;14.846;25.706;31.216;42.626];
%------------------从文本框输入数据-------------------------------
%m=get(findobj('tag','edit1'),'string');
%l1=str2num(m);
七、MATLAB程序代码
1、经典自由网平差
[f,p1]=uigetfile('*.txt','选择高差文件')
fnal=strcat(p1,f);fpath=p1;
fm=fopen(fnal,'r');
while (~feof(fm))
l1=fscanf(fm,'%f',inf);
end
[f,p1]=uigetfile('*.txt','选择距离文件')
(3-2)
其中
(3-3)
(3-4)
得出
(3-5)
求得参数 的最佳估值为
参数 的协因数阵为
六、综合分析
从结果中我们可以看出,三种平差方法所得高差的改正数是相同的,所得参数 的最佳估值是不同的。
经典自由网平差适用于起算数据充足的情况,而秩亏自由网平差适用于起算数据不足,需要加一个基准条件才能进行平差计算。拟稳平差则是选择一些相对稳定的点进行平差,是那些不稳定的点不参与平差。根据实际情况我们选择适宜的平差方法。
%s=str2num(n);
%s=s';
%------------------从文本框输入数据--------------------------------------------

MATLAB在测量控制网优化设计与平差中的应用

MATLAB在测量控制网优化设计与平差中的应用

测绘出版社,1995 [2] 国家测绘局 .全球定位系统(GPS)测量规范.北 京 :
测绘出版社,1992
第一作者简介 詹家民,男,测绘高级工程师,现任教于 徐州师范大学工学院,曾在《测绘通报》、《矿山测量》 《江苏测绘》等刊物上发表论文多篇。
参考文献 [1] 刘基余,李征航等.全球定位系统原理及应用.北京:
MATLAB 有两种常用的工作方式:一种是直接交互的
观测数据增删和观测权改变的依据。在这一过程中,其误 指令行操作方式;另一种是M 文件的编程方式。在前一种
差椭圆的绘制需要将测量坐标系化为数学坐标系,并以各 工作方式下,MATLAB 被当作一种高级的数学演算和计算
点为中心的坐标系绘制误差椭圆,其函数模型为:
幕供设计人员修改。该过程有两种:a 调整观测值;b 调
题之一。根据修改后的数据进一步进行优化,使其达到所 整观测值的权。反复调整到符合要求为止,打印输出观测
要求的技术指标。
表和设计图。
绘制控制网图与误差椭圆图是该阶段的主要任务,通
(5)MATLAB 部分源程序:
过绘制的网图进行控制网设计的调整,并将修改结果作为
第一作者简介 左廷英,女, 硕士,现在中南大学信息地理 工程学院从事教学工作,发表多篇论文。
(收稿日期:2003年1月6日)
63
况下,误差方程中的系数A 产生列亏。这种没有足够起始 数据的平差问题,称为秩亏自由网平差。
可根据最小二乘准则,组成法方程: ATPAX^ = ATPL
即 N = ATPA 则
(2)
协因数阵为: Q xx = N- 1 = (ATPA )- 1 (3)
由于系数阵 A 列亏 , 参数的最小二乘解就不唯一。为此

实验三-利用matlab程序设计语言完成某工程导线网平差计算

实验三-利用matlab程序设计语言完成某工程导线网平差计算

实验三-利用m a t l a b程序设计语言完成某工程导线网平差计算(总11页)本页仅作为文档封面,使用时可以删除This document is for reference only-rar21year.March实验三利用matlab程序设计语言完成某工程导线网平差计算实验数据;某工程项目按城市测量规范(CJJ8-99)不设一个二级导线网作为首级平面控制网,主要技术要求为:平均边长200cm,测角中误差±8,导线全长相对闭合差<1/10000,最弱点的点位中误差不得大于5cm,经过测量得到观测数据,设角度为等精度观测值、测角中误差为m=±8秒,鞭长光电测距、测距中误差为m=±√smm,根据所学的‘误差理论与测量平差基础’提出一个最佳的平差方案,利用matlab完成该网的严密平差级精度评定计算;平差程序设计思路:1采用间接平差方法,12个点的坐标的平差值作为参数.利用matlab进行坐标反算,求出已知坐标方位角;根据已知图形各观测方向方位角;2计算各待定点的近似坐标,然后反算出近似方位角,近似边.计算各边坐标方位角改正数系数;3确定角和边的权,角度权Pj=1;边长权Ps=100/S;4计算角度和边长的误差方程系数和常数项,列出误差方程系数矩阵B,算出Nbb=B’PB,W=B’Pl,参数改正数x=inv(Nbb)*W;角度和边长改正数V=Bx-l;6 建立法方程和解算x,计算坐标平差值, 精度计算;程序代码以及说明:s10=;s20=;s30=;s40=;s50=;s60=;s70=;s80=;s90=;s100=;s110=;s120=;s130=;s140=; %已知点间距离Xa=;Ya=;Xb=;Yb=;Xc=;Yc=;Xd=;Yd=;Xe=;Ye=;Xf=;Yf=; %已知点坐标值a0=atand((Yb-Ya)/(Xb-Xa))+180;d0=atand((Yd-Yc)/(Xd-Xc));f0=atand((Yf-Ye)/(Xf-Xe))+360; %坐标反算方位角a1=a0+(163+45/60+4/3600)-180a2=a1+(64+58/60+37/3600)-180;a3=a2+(250+18/60+11/3600)-180;a4=a3+(103+57/60+34/3600)-180;a5=d0+(83+8/60+5/3600)+180;a6=a5+(258+54/60+18/3600)-180-360;a7=a6+(249+13/60+17/3600)-180;a8=a7+(207+32/60+34/3600)-180;a9=a8+(169+10/60+30/3600)-180;a10=a9+(98+22/60+4/3600)-180;a12=f0+(111+14/60+23/3600)-180;a13=a12+(79+20/60+18/3600)-180;a14=a13+(268+6/60+4/3600)-180;a15=a14+(180+41/60+18/3600)-180; %推算个点方位角aa=[a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a12 a13 a14 a15]'X20=Xb+s10*cosd(a1);X30=X20+s20*cosd(a2);X40=X30+s30*cosd(a3);X50a=X40+s40*cosd(a4);X60=Xd+s50*cosd(a5);X70=X60+s60*cosd(a6);X80=X70+s70*cosd(a7);X90=X80+s80*cosd(a8);X100=X90+s90*cosd(a9);X50c=X100+s100*cosd(a10);X130=Xf+s110*cosd(a12);X140=X130+s120*cosd(a13);X150=X140+s130*cosd(a14);X50e=X150+s140*cosd(a15); %各点横坐标近似值X0=[X20 X30 X40 X60 X70 X80 X90 X100 X130 X140 X150 X50a X50c X50e]'Y20=Yb+s10*sind(a1);Y30=Y20+s20*sind(a2);Y40=Y30+s30*sind(a3);Y50a=Y40+s40*sind(a4);Y60=Yd+s50*sind(a5);Y70=Y60+s60*sind(a6);Y80=Y70+s70*sind(a7);Y90=Y80+s80*sind(a8);Y100=Y90+s90*sind(a9);Y50c=Y100+s100*sind(a10);Y130=Yf+s110*sind(a12);Y140=Y130+s120*sind(a13);Y150=Y140+s130*sind(a14);Y50e=Y150+s140*sind(a15); %个点从坐标近似值Y0=[Y20 Y30 Y40 Y60 Y70 Y80 Y90 Y100 Y130 Y140 Y150 Y50a Y50c Y50e]'P=[X0 Y0];X50=(X50a+X50c+X50e)/3Y50=(Y50a+Y50c+Y50e)/3s4=sqrt((Y40-Y50)^2+(X40-X50)^2);s1=sqrt((Y100-Y50)^2+(X100-X50)^2);s14=sqrt((Y150-Y50)^2+(X150-X50)^2);A1=[cosd(a1) cosd(a2) cosd(a3) cosd(a4) cos(a5) cosd(a6) cosd(a7) cosd(a8) cosd(a9) cosd(a10) cosd(a12) cosd(a13) cosd(a14)cosd(a15)]';B11=[sind(a1) sind(a2) sind(a3) sind(a4) sin(a5) sind(a6) sind(a7) sind(a8) sind(a9) sind(a10) sind(a12) sind(a13) sind(a14) sind(a15)]'; s=blkdiag(s10,s20,s30,s4,s50,s60,s70,s80,s90,s10',s110,s120,s130,s 14);a=*inv(s)*B11b=*inv(s)*A1ab4=atand((Y50-Y40)/(X50-X40))+180;ab10=atand((Y50-Y100)/(X50-X100));ab14=atand((Y50-Y150)/(X50-X150))+360;m4=ab4-a3+180;m10=ab10-a9+180;m11=ab4-ab10;m15=ab14-a14+180;m16=ab10-ab14+360;m04=103+57/60+34/3600;m010=98+22/60+4/3600;m011=94+53/60+50/3600;m015=180+41/60+18/3600;m016=ab10-ab14+360;l=[0 0 0 m4-103-57/60-34/3600 0 0 0 0 0 m10-98-22/60-4/3600m11-94-53/60-50/3600 0 0 0 m15-180-41/60-18/3600 m16-103-23/60-8/3600 0 0 0 s40-s4 0 0 0 0 0 s100-s1 0 0 0 s140-s14]';e1=(abs(X20-Xb))/s10;e2=(abs(X30-X20))/s20;e3=(abs(X40-X30))/s30;e4=(abs(X50-X40))/s4;e5=(abs(X60-Xd))/s50;e6=(abs(X70-X60))/s60;e7=(abs(X80-X70))/s70;e8=(abs(X90-X80))/s80;e9=(abs(X100-X90))/s90;e10=(abs(X50-X100))/s1;e11=(abs(X130-Xf))/s110;e12=(abs(X140-X130))/s120;e13=(abs(X150-X140))/s130;e14=(abs(X50-X150))/s14; e=[e1 e2 e3 e4 e5 e6 e7 e8 e9 e10 e11 e12 e13 e14]'m1=(abs(Y20-Yb))/s10;m2=(abs(Y30-Y20))/s20;m3=(abs(Y40-Y30))/s30;m4=(abs(Y50-Y40))/s4;m5=(abs(Y60-Yd))/s50;m6=(abs(Y70-Y60))/s60;m7=(abs(Y80-Y70))/s70;m8=(abs(Y90-Y80))/s80;m9=(abs(Y100-Y90))/s90;m10=(abs(Y50-Y100))/s1;m11=(abs(Y130-Yf))/s110;m12=(abs(Y140-Y130))/s120;m13=(abs(Y150-Y140))/s130;m14=(abs(Y50-Y150))/s14; m=[m1 m2 m3 m4 m5 m6 m7 m8 m9 m10 m11 m12 m13 m14]' %以上为求得误差方程系数B=[ 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 00 0 0 0 0 00 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 00 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0] %系数矩阵BP=blkdiag(1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,100/s10,100/s20,100/s30,1 00/s40,100/s50,100/s60,100/s70,100/s80,100/s90,100/s100,100/s 110,100/s120,100/s130,100/s140); %定义权矩阵Nbb=B'*P*BW=B'*P*l;x=inv(Nbb)*WV=B*x-l;inv(Nbb);Y=V'*P*V;O=sqrt(Y/6)*3600 %精度评定计算结果:平差值坐标X: +003 *Qx1= Qy1= Qx2= Qy2= ……Qx15= Qy15=。

Matlab在矿区GPS网间接平差中的应用

Matlab在矿区GPS网间接平差中的应用

Matlab在矿区GPS网间接平差中的应用
朱晓红;王鹏
【期刊名称】《测绘与空间地理信息》
【年(卷),期】2016(000)012
【摘要】针对矿区GPS网间接平差,首先,详细地分析了GPS网间接平差原理,按一定格式将GPS网中的观测数据编制成观测文件,其次,按观测文件的格式编制算法将数据读入并存储,然后用间接平差原理处理得到平差结果,最后绘制网形和误差椭圆并生成平差报告,为矿区控制网的建立和矿区生产管理提供了便利.实验验证了本文程序的实用性.
【总页数】4页(P146-148,151)
【作者】朱晓红;王鹏
【作者单位】山东科技大学测绘科学与工程学院,山东青岛266590;山东科技大学测绘科学与工程学院,山东青岛266590
【正文语种】中文
【中图分类】P208
【相关文献】
1.MATLAB在矿区土地复垦中的应用 [J], 陈秋计;谢宏全
2.VB与MATLAB混合编程及在矿区土地信息系统中的应用 [J], 郝利民;王世东
3.间接平差在相对重力测量数据处理中的应用 [J], 王海涛;章传银;王伟;刘阳;路媛琦
4.基于Matlab的GPS网间接平差教学设计与实现 [J], 陶秋香;翟敏
5.MATLAB在GPS网平差中的应用 [J], 曹先革;胡友健;王雷;张红英
因版权原因,仅展示原文概要,查看原文内容请购买。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档