测量数据处理实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
院系____________________ 班级____________________ 姓名____________________ 学号____________________
目录(页码根据自己需要填写)
一、实验项目须知.....................................
二、实验一秩亏自由网上机实验........................
三、实验二极大验后滤波、推估上机实验...............
四、实验三最小二乘配置上机实验.....................
五、实验四平差系统的统计假设检验上机实验...........
六、编写实验报告要求................................
实验项目须知
一、课程介绍
本课程是测绘工程类专业的专业选修课程之一,是在学生学习了误差理论与测量平差知识之后又开设的一门专业的数据处理课程,该课程主要讲授近现代测量数据处理理论、模型和方法,同时紧密结合计算机编程,从而提高学生的计算机应用能力、测量数据处理能力,培养学生养成严谨的科学态度,提高分析和解决问题的能力,更好的适应今后工作和学习。
二、测量数据处理实验教学要求
1.掌握稳健估计方法处理测量数据;
2.掌握极大验后滤波、推估理论和方法处理测量数据;
3.初步掌握最小二乘配置理论和方法处理测量数据;
4.初步掌握工程或科研项目中测量数据处理的理论、步骤、方法和技巧;
5.掌握测量数据处理中常用的计算机语言和软件;
6.服从实验指导教师的规定,认真、按时、独立完成任务每次实验结束,提交书写工整或按照规范打印实验报告。
7.在实验过程中,还应遵守纪律,爱护实验室设备、离开后将自己的随身物品带走,并记录仪器使用状况、将凳子整理好并放到电脑桌的下方。
8.上机实验后,提交实验报告,成绩评定重点考核算法、处理结果与结果分析。
三、实验选择要求
可根据课堂讲课具体内容,完成4个实验,并要求写出实验报告。
实验一 秩亏自由网上机实验
一、 实验目的
1. 掌握各种秩亏自由网平差的函数模型和随机模型;
2. 熟悉各种秩亏自由网平差解算的若干公式;
3. 结合算例能利用matlab 进行编程计算。
二、
实验内容
在下图水准网中,观测高差、距离和各待定点高程近似值见教材P43表2-1,分别进行下列自由网平差:
(1)以6号点为固定点的经典自由网平差; (2)以重心基准的自由网平差(P χ=E );
(3) 以1,2,5,6四个点为拟稳基准的拟稳平差.
参考程序:
(1)首先建立误差方程 l x B V -=∧
B=[-1 1 0 0 0 ;-1 0 0 1 0;-1 0 0 0 1 ;0 -1 1 0 0 ;0 -1 0 1 0 ... ;0 -1 0 0 0 ;0 0 -1 1 0 ;0 0 -1 0 1 ;0 0 0 0 -1 ]; l=[-1;4;5;8;16;2;-13;-20;-1];
S=[204.1 188.7 344.8 149.2 142.9 250 128.2 98 196.1];
P=diag(10./S);
N=B'*P*B;
x=inv(N)*B'*P*l V=B*x-l Qx=inv(N)
(2) 首先建立误差方程 l x B V -=∧
B=[-1 1 0 0 0 0;-1 0 0 1 0 0;-1 0 0 0 1 0;0 -1 1 0 0 0;0 -1 0 1 0 0 ... ;0 -1 0 0 0 1;0 0 -1 1 0 0;0 0 -1 0 1 0;0 0 0 0 -1 1];
l=[-1;4;5;8;16;2;-13;-20;-1]
S=[204.1 188.7 344.8 149.2 142.9 250 128.2 98 196.1];
P=diag(10./S); S1=[1;1;1;1;1;1]; W=B'*P*l;
Xr=inv(B'*P*B+S1*S1')*W
V=B*Xz-l
Qxr=inv(B'*P*B+S1*S1')-inv(B'*P*B+S1*S1')*S1*S1’*inv(B'*P*B+S1*S1')
(3) 首先建立误差方程 l x B V -=∧
B=[-1 1 0 0 0 0;-1 0 0 1 0 0;-1 0 0 0 1 0;0 -1 1 0 0 0;0 -1 0 1 0 0 ...
;0 -1 0 0 0 1;0 0 -1 1 0 0;0 0 -1 0 1 0;0 0 0 0 -1 1];
l=[-1;4;5;8;16;2;-13;-20;-1]
S=[1;1;1;1;1;1];
S1=[204.1 188.7 344.8 149.2 142.9 250 128.2 98 196.1];
P=diag(10./S1); N=B'*P*B W=B ’*P*l; px=[1 1 0 0 1 1] Px=diag(px) Ss=Px*S
Xs=inv(B'*P*B+Ss*Ss')*W
V=B*Xs-l
Qxs=inv(B'*P*B+Ss*Ss')*N*inv(B'*P*B+Ss*Ss')
三、 实验心得和体会
实验二 极大验后滤波、推估上机实验 一、 实验目的和要求
1. 掌握极大验后滤波与推估的基本原理和计算公式;
2. 能根据观测值和给定的数学模型计算滤波信号的协方差矩阵的估计矩阵;
3. 能使用matlab 进行有关的计算;
二、 实验内容:
1.(基本要求题目)沿A 、B 连线在A 、1、2、3、4等五个点测定了大气温度,获得18
组观测值ij x ,其结果见下表,已知各点的距离)、、、
4321( j S Aj 分别为4.511,10.747,16.753,22.220(km ).
假定AB 连线上的大气温度,是一个以各点至A 的距离S 为因素的平稳随机过程,试估计此随机过程的协方差函数。
参考程序:
X=[16.4 15.9 16.3 15.8 15.4;16.3 16.1 16.2 15.9 15.5;16.8 16.4 15.9 16.3 16.3; ...
16.6 16.2 16.3 16.2 16.3;16.8 16.7 16.1 16.2 16.3; ...
16.6 16.6 16.4 16.2 16.3;16.7 16.6 17.0 16.3 16.2; ...
16.8 16.5 16.9 16.5 15.9;16.9 16.4 16.1 16.6 16.2; ...
16.1 16.6 16.2 17.1 17.0;16.5 16.7 16.7 16.8 16.5; ...
17.1 16.9 16.6 16.8 16.7;16.8 16.9 16.8 17.1 17.0; ...
17.0 16.9 16.7 16.9 17.0;17.1 16.9 16.7 16.9 17.0; ...
16.2 16.0 16.3 16.5 16.4;16.1 15.9 16.2 16.4 16.4; ...
16.1 15.9 16.0 16.1 16.5;16.3 16.0 16.5 16.6 17.0;16.1 16.0 15.9 16.5 16.3]
Dx1=cov(X)
s1=[0;4.510;10.746;16.754;22.230]
A=[ones(5,1),s1,s1.^2,s1.^3,s1.^4]
s2=[0;6.236;12.242;17.709]
B=[ones(4,1),s2,s2.^2,s2.^3,s2.^4]
s3=[0;6.006;11.473]
C=[ones(3,1),s3,s3.^2,s3.^3,s3.^4]
s4=[0;5.467]
D=[ones(2,1),s4,s4.^2,s4.^3,s4.^4]
E=[1 0 0 0 0]
Y=[A;B;C;D;E]
L=[0.1168;0.0958;0.0506;0.0466;0.0394;0.1362;0.0705;0.1023;0.1047;0.1073;0.0567;0.0346; ...
0.1529;0.1561;0.2203]
b=inv(Y’*Y)*Y’*L
b=[b(1),b(2)*10,b(3)*100,b(4)*1000,b(5)*10000] %将km单位化为10km单位
S=[0 4.511 10.747 16.753 22.220;4.511 0 6.236 12.242 17.709;10.747 6.236 0 6.006 11.473; ... 16.753 12.242 6.006 0 5.467;22.220 17.709 11.473 5.467 0]
b=fliplr(b)
for i=1:25
S(i)=polyval(b,S(i)/10);
end
S %即为滤波信号协方差阵的估计矩阵
Warning: Unable to create personal MATLAB work folder:C:\yonghu\????\MATLAB Warning: Userpath must be an absolute path and must exist on disk.
>> X=[16.4 15.9 16.3 15.8 15.4;16.3 16.1 16.2 15.9 15.5;16.8 16.4 15.9 16.3 16.3; ...
16.6 16.2 16.3 16.2 16.3;16.8 16.7 16.1 16.2 16.3; ...
16.6 16.6 16.4 16.2 16.3;16.7 16.6 17.0 16.3 16.2; ...
16.8 16.5 16.9 16.5 15.9;16.9 16.4 16.1 16.6 16.2; ...
16.1 16.6 16.2 17.1 17.0;16.5 16.7 16.7 16.8 16.5; ...
17.1 16.9 16.6 16.8 16.7;16.8 16.9 16.8 17.1 17.0; ...
17.0 16.9 16.7 16.9 17.0;17.1 16.9 16.7 16.9 17.0; ...
16.2 16.0 16.3 16.5 16.4;16.1 15.9 16.2 16.4 16.4; ...
16.1 15.9 16.0 16.1 16.5;16.3 16.0 16.5 16.6 17.0;16.1 16.0 15.9 16.5 16.3] X =
16.4000 15.9000 16.3000 15.8000 15.4000
16.3000 16.1000 16.2000 15.9000 15.5000
16.8000 16.4000 15.9000 16.3000 16.3000
16.6000 16.2000 16.3000 16.2000 16.3000
16.8000 16.7000 16.1000 16.2000 16.3000
16.6000 16.6000 16.4000 16.2000 16.3000
16.7000 16.6000 17.0000 16.3000 16.2000
16.8000 16.5000 16.9000 16.5000 15.9000
16.9000 16.4000 16.1000 16.6000 16.2000
16.1000 16.6000 16.2000 17.1000 17.0000
16.5000 16.7000 16.7000 16.8000 16.5000
17.1000 16.9000 16.6000 16.8000 16.7000
16.8000 16.9000 16.8000 17.1000 17.0000
17.0000 16.9000 16.7000 16.9000 17.0000
17.1000 16.9000 16.7000 16.9000 17.0000
16.2000 16.0000 16.3000 16.5000 16.4000
16.1000 15.9000 16.2000 16.4000 16.4000
16.1000 15.9000 16.0000 16.1000 16.5000
16.3000 16.0000 16.5000 16.6000 17.0000
16.1000 16.0000 15.9000 16.5000 16.3000
>> Dx1=cov(X)
Dx1 =
0.1203 0.1023 0.0559 0.0389 0.0304
0.1023 0.1405 0.0716 0.0880 0.0842
0.0559 0.0716 0.1094 0.0504 0.0369
0.0389 0.0880 0.0504 0.1371 0.1428
0.0304 0.0842 0.0369 0.1428 0.2157
>> s1=[0;4.510;10.746;16.754;22.230]
s1 =
4.5100
10.7460
16.7540
22.2300
>> A=[ones(5,1),s1,s1.^2,s1.^3,s1.^4]
A =
1.0e+05 *
0.0000 0 0 0 0 0.0000 0.0000 0.0002 0.0009 0.0041 0.0000 0.0001 0.0012 0.0124 0.1333 0.0000 0.0002 0.0028 0.0470 0.7879 0.0000 0.0002 0.0049 0.1099 2.4421
>> s2=[0;6.236;12.242;17.709]
s2 =
6.2360
12.2420
17.7090
>> B=[ones(4,1),s2,s2.^2,s2.^3,s2.^4]
B =
1.0e+04 *
0.0001 0 0 0 0 0.0001 0.0006 0.0039 0.0243 0.1512 0.0001 0.0012 0.0150 0.1835 2.2460 0.0001 0.0018 0.0314 0.5554 9.8350
>> s3=[0;6.006;11.473]
s3 =
6.0060
11.4730
>> C=[ones(3,1),s3,s3.^2,s3.^3,s3.^4]
C =
1.0e+04 *
0.0001 0 0 0 0 0.0001 0.0006 0.0036 0.0217 0.1301 0.0001 0.0011 0.0132 0.1510 1.7326
>> s4=[0;5.467]
s4 =
5.4670
>> D=[ones(2,1),s4,s4.^2,s4.^3,s4.^4]
D =
1.0000 0 0 0 0 1.0000 5.4670 29.8881 163.3982 893.2979
>> E=[1 0 0 0 0]
Y=[A;B;C;D;E]
E =
1 0 0 0 0
Y =
1.0e+05 *
0.0000 0 0 0 0 0.0000 0.0000 0.0002 0.0009 0.0041 0.0000 0.0001 0.0012 0.0124 0.1333 0.0000 0.0002 0.0028 0.0470 0.7879 0.0000 0.0002 0.0049 0.1099 2.4421 0.0000 0 0 0 0 0.0000 0.0001 0.0004 0.0024 0.0151 0.0000 0.0001 0.0015 0.0183 0.2246
0.0000 0.0002 0.0031 0.0555 0.9835
0.0000 0 0 0 0
0.0000 0.0001 0.0004 0.0022 0.0130
0.0000 0.0001 0.0013 0.0151 0.1733
0.0000 0 0 0 0
0.0000 0.0001 0.0003 0.0016 0.0089
0.0000 0 0 0 0
>>
L=[0.1168;0.0958;0.0506;0.0466;0.0394;0.1362;0.0705;0.1023;0.1047;0.1073;0.0567 ;0.0346; ...
0.1529;0.1561;0.2203]
b=inv(Y’*Y)*Y’*L
L =
0.1168
0.0958
0.0506
0.0466
0.0394
0.1362
0.0705
0.1023
0.1047
0.1073
0.0567
0.0346
0.1529
0.1561
0.2203
b=inv(Y’*Y)*Y’*L
|
Error: The input character is not valid in MATLAB statements or expressions. >> b=inv(Y'*Y)*Y'*L
b =
0.1468
-0.0008
-0.0029
0.0003
-0.0000
>> b=[b(1),b(2)*10,b(3)*100,b(4)*1000,b(5)*10000]
S=[0 4.511 10.747 16.753 22.220;4.511 0 6.236 12.242 17.709;10.747 6.236 0 6.006 11.473; ...
16.753 12.242 6.006 0 5.467;22.220 17.709 11.473 5.467 0] b =
0.1468 -0.0080 -0.2860 0.2774 -0.0706 S =
0 4.5110 10.7470 16.7530 22.2200 4.5110 0 6.2360 12.2420 17.7090 10.7470 6.2360 0 6.0060 11.4730 16.7530 12.2420 6.0060 0 5.4670 22.2200 17.7090 11.4730 5.4670 0
>> b=fliplr(b) for i=1:25
S(i)=polyval(b,S(i)/10); end S b =
-0.0706 0.2774 -0.2860 -0.0080 0.1468 S =
0.1468 0.1076 0.0581 0.0792 0.0400 0.1076 0.1468 0.0872 0.0589 0.0823 0.0581 0.0872 0.1468 0.0898 0.0578 0.0792 0.0589 0.0898 0.1468 0.0960 0.0400 0.0823 0.0578 0.0960 0.1468 >>
2.同第1题,已知,00.23km S AB =测得A 、1、2、3、4五个测站上的大气温度为
T L )8.19,2.19,7.18,1.20,0.19(00000=
利用推估公式试推估B点大气温度
B
t。
参考程序:
L=[19.2;20.0;18.6;19.3;19.9]
Mutg=Mul=mean(L)
S1=[23 18.489 12.253 6.247 0.78];
for i=1:5
S1(i)=polyval(b,S1(i)/10);
end
S1 %DtgL
Tg= Mutg+ S1*inv(S)*(L- Mul)
三、实验心得与体会
实验三最小二乘配置上机实验
一、目的与要求
1、掌握最小二乘配置的数学模型;
2、掌握最小二乘配置的估值公式及其精度评定,能利用matlab软件进行有关计算。
二、实验内容
对于观测值是重力异常的情况,要求搞清观测方程的列立,其参数和信号分别是什么?根据讲课内容利用matlab进行解算.
L=[-0.55 -0.23 0.58 -1.8]';
Dx=[1 0.464 0.099 0.306;0.464 1 0.202 0.331;0.099 0.202 1 0.147;0.306 0.331 0.147 1];
Do=eye(4)*0.09; %观测噪声协方差阵
E=eye(4);
Dx2=[1 0.962;0.962 1]; %推估信号的先验协方差阵
Dx2x=[0.435 0.745 0.205 0.581;0.381 0.794 0.238 0.500];
%推估信号关于滤波信号的互协方差阵
Dx2 =
1.0000 0.9620
0.9620 1.0000
Dx2x =
0.4350 0.7450 0.2050 0.5810
0.3810 0.7940 0.2380 0.5000
X=[640 440 140 620]';
Y=[480 400 140 180';
X0=mean(X);
Y0=mean(Y);
X1=X-X0;
Y1=Y-Y0;
G=[ones(4,1),X1./100,Y1./100]; %为何要除以100?
G=[1 1.8 1.8;1 -0.2 1.0;1 -3.2 -1.6;1 1.6 -1.2];
X2=[500 460]’;
Y2=[300 300]’;
X2=X2-X0;
Y2=Y2-Y0;
Gp=[ones(2,1), X2./100,Y2./100];
Gp=[1 0.4 0;1 0 0];
inv(Dx+Do);
G'*inv(Dx+Do)*G;
Ycan=inv(G'*inv(Dx+Do)*G)*G'*inv(Dx+Do)*L; %滤波信号的先验期望为0 Dycan=inv(G'*inv(Dx+Do)*G);
Ycan =
-0.4767
-0.4909
0.3815
Dycan =
0.4618 0.0092 0.0189
0.0092 0.0783 -0.0484
0.0189 -0.0484 0.1440
Xcan=Dx*inv(Dx+Do)*(L-G*Ycan);
X2can=Dx2x*inv(Dx+Do)*(L-G*Ycan);
?
Dxcan=Dx-Dx*inv(Dx+Do)*(E-G*Dycan*G'*inv(Dx+Do))*Dx;
Dx2can=Dx2-Dx2x*inv(Dx+Do)*(E-G*Dycan*G'*inv(Dx+Do))*Dx2x';
Dxcanycan=-Dx*inv(Dx+Do)*G*Dycan;
Dx2canycan=-Dx2x*inv(Dx+Do)*G*Dycan;
Dxcan =
0.9208 0.6246 0.0326 0.3647
0.6246 0.6745 0.3366 0.2120
0.0326 0.3366 0.9443 0.1962
0.3647 0.2120 0.1962 0.9565
Dx2can =
0.8401 0.7791
0.7791 0.7907
Dxcanycan =
-0.4857 -0.0576 -0.1738
-0.4619 0.0449 -0.1561
-0.3774 0.1491 0.0510
-0.4323 -0.1731 0.2031
Dx2canycan =
-0.4653 -0.0350 -0.0252
-0.4483 -0.0035 -0.0473
Ogcan=G*Ycan+Xcan;
Ogpcan=Gp*Ycan+X2can;
Dogcan=[G eye(4)]*[Dycan Dxcanycan';Dxcanycan Dxcan]*[G';eye(4)]; Dogpcan=[Gp eye(2)]*[Dycan Dxoycan';Dxoycan Dx2can]*[Gp';eye(2)];
Og can=
-0.5734
-0.2003
0.5679
-1.7942
Ogpcan =
-0.8155
-0.6397
Dogcan =?
0.0857 0.0055 -0.0022 0.0011
0.0055 0.0831 0.0028 -0.0014
-0.0022 0.0028 0.0888 0.0006
0.0011 -0.0014 0.0006 0.0897
Dogpcan =?
0.3631 0.3295
0.3295 0.3560
2、已知
,观测方程为
求信号和倾向参数
的估值及其估计误差方差。
L=[0 1 3]';
ux=[0 0]';
Dx=[2 0;0 2];
Do=eye(3)*2;
Dxo=[-1 1 0;0 0 0];
B=[-1 -1;-1 0;0 1];
G=[0 1 -1]';
Ycan=inv(G'*inv(B*Dx*B'+Do+B*Dxo+Dxo'*B')*G)*G'*inv(B*Dx*B'+Do+B*Dxo+ Dxo'*B')*(L-B*ux);
Xcan=ux+(Dx*B'+Dxo)*inv(B*Dx*B'+Do+B*Dxo+Dxo'*B')*(L-G*Y-B*ux);
Y can=
-0.3333
Xcan =
-0.6667
1.3333
Dycan= inv(G'*inv(B*Dx*B'+Do+B*Dxo+Dxo'*B')*G);
Dxcan=Dx-(Dx*B’+Dxo)*
inv(B*Dx*B'+Do+B*Dxo+Dxo'*B')*(eye(3)-G*Dycan*G’*
inv(B*Dx*B'+Do+B*Dxo+Dxo'*B'))*(Dxo’+B*Dx);
注意:如果直接拷贝过去有错误,可手工输入命令行.
3.在相距均为1.445的5个点处测得F(u)的函数值Li(i=1,2,…5),观测数据列于下表。
B=eye(5);
G=[1 0;1 1.445;1 2.890;1 4.335;1 5.780]; L=[0.6108 1.0863 2.9034 4.5925 6.2714]'; u=G(:,2);
⎪⎪⎭
⎫ ⎝⎛+==⎪⎪⎭
⎫ ⎝⎛+=++=2
1
2
1
21),1(5,4,3,2,1),1()()(a
a u x L i a
a u x u X u a a u F i i i i i i i i 即
D=0.1260*exp(-0.36*u.^2)';
Do=0.01*eye(5);
Lx=zeros(5,1);
Dx=[D;D(2) D(1:4);D(3) D(2) D(1:3);D(4:-1:2) D(1:2);D(5:-1:1)];
Ycan=inv(G'*inv(B*Dx*B'+Do)*G)*G'*inv(B*Dx*B'+Do)*(L-B*Lx);
Xcan=Lx+Dx*B'*inv(B*Dx*B'+Do)*(L-G*Ycan-B*Lx);
R=[0.7225 0.7225 2.1675 3.6125 5.0575;2.1675 0.7225 0.7225 2.1675 3.6125;
3.61252.1675 0.7225 0.7225 2.1675;5.0575 3.6125 2.1675 0.7225 0.7225];
Dx2x=0.1260*exp(-0.36*(R.^2));
Lx2=zeros(4,1);
X2can=Lx2+Dx2x*B'*inv(B*Dx*B'+Do)*(L-G*Ycan-B*Lx);
F=[ones(4,1),R(:,1)]*Ycan+X2can
Ycan =
0.32521891440557
0.98910879733786
Xcan =
0.23026995338496
-0.58781954440652
-0.29810342411034
-0.00482559768731
0.20616191925934
Dx2x =
0.10441357095087 0.10441357095087 0.02321924955756 0.00114823462817
0.00001262712068
0.02321924955756 0.10441357095087 0.10441357095087 0.02321924955756
0.00114823462817
0.00114823462817 0.02321924955756 0.10441357095087 0.10441357095087
0.02321924955756
0.00001262712068 0.00114823462817 0.02321924955756 0.10441357095087
0.10441357095087
X2can =
-0.22209452936566
-0.55898642725186
-0.10518779007044
0.10820133195839
三、实验心得和体会
实验四平差系统的统计假设检验上机实验
一、实验目的要求:通过此实验要求掌握简单的粗差剔出方法,并应用Matlab编程实
现其方法,获得较为满意的平差系统前提。
在测量中,按照误差的特点与性质,误差可分为:系统误差,粗差和随机误差。
在假定不含有系统误差的情况下,可借助MATLAB对测量数据进行处理,使处理过程快速、结果可靠。
二、实验内容:
处理测量数据的过程如下:
X;
(1)按测量的先后顺序记录下每个测量值
i
(2)计算算术平均值X;
(3)计算残余误差h;
V;
(4)校核算术平均值及残余误差
i
(5)判断是否有粗大误差,若有,剔除;
(6)计算单次测量的标准差;
(7)计算算术平均值的标准差:
(8)计算算术平均值的极限误差;
(9)列出测量结果。
其算法流程图如下:
具体内容:现对某被测量进行20次测量,得到测量序列x,其中第1个数为粗大误差,需运用莱以特准则将其剔除,再对数据进行分析计算,具体程序如下:
close all
clear
clc
x= [28.0057 24.9974 24.9962 24.9970 24.9852 24.9977 25.0012
25.0031 25.0144 24.9965 25.0062 25.0080 25.0094 24.9901 25.0021
25.0024 24.9899 24.9926 25.0108 24.9987];
% 含有粗大误差的测量值序列
aver=mean(x) % 求该序列的平均值
v=x-aver; %测量值的剩余误差
s=std(x) %测量值的标准差
n=length (x); %剔除粗大误差
for i=1:n
if (abs((x(i)-aver))-3*s) >0
fprintf('\n')
fprintf('%ÓдִóÎó²î: ',x(i))
x(i)=0;
else
continue
end
end
x1=x(x~=0) %剔除粗大误差的新测量值序列
n1=length(x1);
aver1=mean(x1) ; %新序列的平均值
h1=std(x1); %新序列的标准差
aver1 %测量值的最佳近似值
s1=h1/sqrt(n1) %算术平均值的标准差
运行结果:
aver = 25.1502
s = 0.6721
x1 = 24.9974 24.9962 24.9970 24.9852 24.9977 25.0012 25.0031
25.0144 4.9965 25.0062 25.0080 25.0094 24.9901 25.0021 25.0024 24.9899
24.9926 25.0108 24.9987 %新序列
aver1 = 24.9999
s1 = 0.0018
由结果可知:通过上述方法处理测量数据可剔除粗大误差,极大减小测量结果
的标准差,且处理过程快速、结果可靠。
三、实验心得和体会
编写实验报告要求
编写实验报告是整个实验过程的一个重要环节,也是培养科学作风的重要途径,每做完一次实验,都要认真书写实验报告,万不可把它视为一种不必要的负担,更不能敷衍了事,通过写实验报告,还可以训练和提高自己的写作能力。
针对《测量数据处理》课程的实验特点,建议在书写实验报告时应包括如下内容:
1、实验目的
实验作为教学的一个重要环节,其目的在于更深入地理解和掌握课程教学中的有关基本概念,应用基本技术解决实际问题,从而进一步提高分析问题和解决问题的能力。
同时,当做一个实验的时候,必须明确实验的目的,以保证达到课程所指定的基本要求。
在写实验报告时,要进一步确认是否达到了预期的目的。
2、实验内容
由于测量数据处理原理和方法贯穿于测绘工程专业各较高要求的专业课程中,涉及内容广,应用范围大,因此根据实验教学大纲安排了4个实验项目。
在实验报告中,实验内容是指本次试验中实际完成的内容,在每一个实验项目中,一般都提出了一些具体要求,其中有些具体要求是为了达到实验目的而提出的。
因此,在实验内容中,不仅要写清楚具体的实验题目,还应包括具体要求。
在实验报告中应尽量给出较详细的算法说明和流程图,并对其中的主要符号与变量作相应的说明。
3、运行结果
程序运行结果一般是输出语句所输出的结果,对于不同的数据输出,其输出的结果是不同的,因此,在输出结果之前一般还应说明输入的数据,以便对输出结果进行分析和比较。
4、实验小结
这是实验报告中最重要的一项,也是容易忽视的一项。
实验过程中大量工作是使用Matlab软件,会遇到许多实际问题,每解决一个问题就能积累一点经验。
因此,要善于对实验的总结,体会主要是指通过本次实验是否达到了实验目的,有哪些基本概念得到了澄清,对软件完善有什么建议等。
5、可以根据给出的实验题目,自己更改数据,完成实验任务,实验报告内容不得完全相同,实验心得和体会必须写好,另外,打印必须整齐、紧凑。
否则重做!。