最新matlab导线网程序

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

m a t l a b导线网程序

课程编号:课程性质:

MATLAB及其应用

课程论文

学院:测绘学院

专业:测绘工程

姓名:

学号:

目录

一、题目内容 (3)

二、程序编写思路 (4)

1、数学模型 (4)

2、程序解析 (4)

三、程序运行结果 (5)

四、程序源代码 (6)

注:这是《误差理论与测量平差基础》这一课程在学习其基本原理之后为解决实际问题而编写的一个程序。

一、题目内容

要求:对于给出的导线控制网图2 ,根据已知条件和观测数据,设计平差方案,编制平差程序,给出平差结果,评定精度。

题目:A 、B 为已知点,已知点坐标已给出如下。 为待定点。同精度观测了24个角度 ,测角中误差 。测量了17条边长 ,其观测结果及中误差列于表4中,试按间接平差法求: (1)平差后单位权中误差;

(2) 14个待定点的的坐标平差值及中误差;

(3)平差后 边的相对中误差。

已知点坐标:X A =730.024 ,Y A =126.040 ,111.855=X B ,

232.172=Y

B

表一:导线网角度观测值

表二:导线网边长观测值及精度 14

1~P P 241~L L "

10β

σ=171~S S 17

S

2 195.782 14 8 136.578 11.7 14 119.1 10.9

3 184.98

4 13.6 9 112.502 10.6 1

5 123.94 11.1 4 110.03

6 10.5 10 131.074 11.5 16 122.84 11.1 5 163.14

7 12.

8 11 140.88 11.

9 17 139.46 11.8 6 219.482 14.9 12 132.608 11.5

图一:

二、程序编写思路

1、数学模型

◆函数模型 观测方程 L=BX+d 误差方程 V B l =x

◆随机模型

2

X X X X

D =Q 0σ

◆方程的解与精度评定

令 PB B N T BB = pl W B T

= 法方程即为 0ˆ=-W x

N BB 可得解为:W BB x

N 1

ˆ-= 故可得平差结果:x

X V L L

X

ˆˆ,ˆ0

+=

+= 从而解得单位权中误差为

T

2

0V PV /R

σ 2

X X

X X D

=Q 0σ

2、程序解析

◆计算框图

三、程序运行结果

◆平差后单位权中误差: = 5.30 (由于程序取的先验单位权中误差为10,两

者相比较,故可以认为这个结果是可以接受的)

◆14个待定点的坐标平差值及中误差见下表: 表三:

表七:

◆平差后S17边的相对中误差为:253451

四、程序源代码

这是要输入的文件

◆%%从文件中输入数据

fid1=fopen('E:\学习\平差\S3.txt','rt');

[S1,count]=fscanf(fid1,'%f ',[7 24]); %#ok fclose(fid1);

S1=S1';

fid2=fopen('E:\ \学习\平差\S4.txt','rt');

[S2,count]=fscanf(fid2,'%f ',[5 17]);

fclose(fid2);

S2=S2';

[S3]=convert(S1);

[X0]=daoxian(S2,S3);

[B,l,P]=BBll(X0,S2,S1,S3);

x=inv(B'*P*B)*B'*P*l;

X=X0'+x/1000;

disp(X);

◆%%计算B,l,P 矩阵

function [B,l,P]=BBll(X0,S2,S1,S3) %#ok

X10=[

730.024

126.040

855.111

172.232

];

for i=1:1:7

if i<2

S=sqrt((X0(1)-X10(1))^2+(X0(2)-X10(2))^2); B(1,1)=(X0(1)-X10(1))/S;

B(1,2)=(X0(2)-X10(2))/S;

l(1,1)=1000*(S2(1,2)-S);

elseif i>6

S=sqrt((X10(1)-X0(11))^2+(X10(2)-X0(12))^2);

B(i,11)=-(X10(1)-X0(11))/S; %#ok

B(i,12)=-(X10(2)-X0(12))/S; %#ok

l(i,1)=1000*(S2(7,2)-S); %#ok

elseif i>1&&i<7

S=sqrt((X0(2*i-1)-X0(2*(i-1)-1))^2+(X0(2*i)-X0(2*(i-1)))^2); B(i,2*(i-1)-1)=-(X0(2*i-1)-X0(2*(i-1)-1))/S; %#ok

B(i,2*(i-1))=-(X0(2*i)-X0(2*(i-1)))/S; %#ok

B(i,2*i-1)=(X0(2*i-1)-X0(2*(i-1)-1))/S; %#ok

B(i,2*i)=(X0(2*i)-X0(2*(i-1)))/S; %#ok

l(i,1)=1000*(S2(i,2)-S); %#ok

end

end

for i=8:1:16

if i<9

S=sqrt((X0(13)-X10(3))^2+(X0(14)-X10(4))^2);

B(8,13)=(X0(13)-X10(3))/S;

B(8,14)=(X0(14)-X10(4))/S;

l(8,1)=1000*(S2(8,2)-S);

elseif i>15

S=sqrt((X10(3)-X0(27))^2+(X10(4)-X0(28))^2);

B(16,27)=-(X10(3)-X0(27))/S;

B(16,28)=-(X10(4)-X0(28))/S;

l(16,1)=1000*(S2(16,2)-S);

elseif i<16&&i>8

S=sqrt((X0(2*(i-1)-1)-X0(2*(i-1)-3))^2+(X0(2*(i-1))-X0(2*(i-1)-2))^2);

B(i,2*(i-1)-3)=-(X0(2*(i-1)-1)-X0(2*(i-1)-3))/S;

B(i,2*(i-1)-1)=(X0(2*(i-1)-1)-X0(2*(i-1)-3))/S;

B(i,2*(i-1)-2)=-(X0(2*(i-1))-X0(2*(i-1)-2))/S;

B(i,2*(i-1))=(X0(2*(i-1))-X0(2*(i-1)-2))/S;

l(i,1)=1000*((S2(i,2)-S));

end

end

S=sqrt((X0(19)-X0(5))^2+(X0(20)-X0(6))^2);

B(17,5)=-(X0(19)-X0(5))/S;

B(17,19)=(X0(19)-X0(5))/S;

B(17,6)=-(X0(20)-X0(6))/S;

B(17,20)=(X0(20)-X0(6))/S;

l(17,1)=1000*(S2(17,2)-S);

row=206.265;

相关文档
最新文档