APP下载

基于MatLab的测量平差课程教学方法探讨

2019-05-21王俊锋贾文祥

中国现代教育装备 2019年7期
关键词:数据处理运算矩阵

王俊锋 贾文祥

黄河交通学院交通工程学院 河南焦作 454950

测量平差是测绘工程专业一门必修的专业基础核心课程,为测绘类专业领域内其他课程提供数据处理的基础。本课程是测绘学科的基础理论,对该课程掌握的好坏直接关系到测绘人才培养的质量[1]。测量平差课程涉及高等数学、线性代数、概率论与数理统计以及测量学基础等课程知识,是应用数学理论与计算方法在测量数据处理中的典型应用,这也导致了该课程具有理论性强、公式推导多、计算难度大的特点[2],给教学带来了较大的困难。因此,除了对平差基本原理和方法的讲授,测量平差课程教学要偏重对工程实践能力的培养,这要求必须在知识的传授方法上进行改革[3,4]。

随着计算机技术不断被引入测量领域,近几年部分高校已经将测量平差软件应用到测量平差课程的教学过程中,取得了一些成效。但绝大部分测量平差软件只关注原始数据的输入和结果的输出,缺少平差计算过程,并不适合进行教学[5]。MatLab是一款高性能数值运算软件[6],具有强大的矩阵运算、绘图、数据分析和可视化、动态仿真等功能,能拓宽学生知识面,培养创新思维[7],功能强大的统计工具箱和简单的编程语言可以方便地进行测量数据处理。将MatLab应用于教学可以节省课堂授课时间,学生在实践过程中也易于加深理解,使测量平差课程教学达到很好的效果。

1 测量平差课程教学中存在的问题

测量平差课程具有理论性强、计算量大等特点,它基于概率和数理统计方法分析测量数据,以最小二乘原理作为处理测量数据的基本原则,详细阐述了误差理论与测量平差的基本原理与方法。通过分析各高校测量平差教学现状,测量平差教学中存在的问题主要表现在以下三方面。(1)对学生知识的掌握和综合运用能力的要求较高。要求学生具备很好的数学基础,能够熟练应用数学知识解决平差问题,学生学习难度较大,学习积极性低。(2)课程内容多,但开设学时少,学习任务重。现阶段课堂教学为了保证在规定学时内将课程内容授完,导致每次授课都会安排大量教学内容,加之测绘专业其他基础课都有大量实践学时,使得测量平差课程的教学时间缩短,教师在授课时只能重教学过程而兼顾不了教学效果[8]。(3)实践教学欠缺,理论教学与实践教学脱节[4]。理论教学由于任务重、耗时多,很难保证学生有充足的时间进行平差基本技能的实践,这不利于学生将理论与实践相结合,也不能提高学生的综合素质与创新能力。

2 基于MatLab的测量平差课程教学实践

2.1 MatLab在误差理论教学中的应用

经典测量平差只讨论带有偶然误差的观测值,偶然误差是随机变量,因而概率论中随机变量的数字特征和正态分布是误差理论与测量平差基础中的基本统计理论。MatLab统计工具箱作为一个强有力的统计分析工具,提供了20种概率分布,包含测量平差中常用的正态分布、χ2分布、F分布、t分布等,且每种分布都提供了五类有用的函数,即概率密度函数、累积分布函数、逆累积分布函数、随机产生器与方差计算函数。在研究偶然误差的规律性中,根据这些函数能够方便地实现某种概率分布曲线的绘制。

偶然误差Δ是服从均值为0的正态分布的随机变量,其概率密度函数为:

举例,根据偶然误差Δ服从Δ~N(0,σ2),可以应用MatLab绘制出σ=2,σ2=3的正态分布概率密度函数的误差分布曲线,具体操作如下:

x=-6:0.1:6 %定义随机变量区间

y1=normpdf(x,0,2);

y2=normpdf(x,0,3); %密度函数值

plot(x,y1,'r',x,y2,'b') %绘制正态分布曲线

gtext('N (0, 2^2)')

gtext('N (0, 3^2)') %标注

运行结果如图1所示,能容易地看出误差曲线与方差之间的关系,通过课堂演示,使学生对偶然误差的规律性有更深刻的认识,以便学生更好地理解使用方差衡量精度的依据。同时,使用命令p=normcdf(x,mu,sigma)能够计算误差落在(-σ2,σ2)(-2σ2,2σ)(-3σ2,3σ)的概率,也可以使用函数p=normspec(specs,mu,sigma)直接绘制出对应不同区间的误差曲线,如运行p=normspec([-4,4],0,2)可直接画出误差在(-2σ2,2σ)的概率(如图2所示)。通过变换参数得到不同的误差分布曲线,便于学生理解掌握正态分布和极限误差等概念。

图1 正态分布曲线

图2 (-2σ,2σ)误差分布概率图

2.2 MatLab在矩阵运算中的应用

测量平差课程的数据处理主要是基于矩阵的运算,所以在测量平差的计算中,采用MatLab进行计算是非常方便的。测量平差数据处理中常用的矩阵运算主要包括矩阵的生成、矩阵的运算、矩阵的转置、矩阵求逆和矩阵求广义逆等。

(1)矩阵的生成,在MatLab环境中,不需要对创建的变量对象给出类型说明和维数。因此,最简单的创建矩阵的方法是直接输入矩阵的元素序列,同时用load命令和fread函数输入矩阵。

(2)矩阵的和、差、乘运算,假定有2个矩阵A和B,则可由A+B和A-B实现矩阵的和差运算,由A×B实现矩阵的乘运算;这里需满足对矩阵维数的要求:和差的运算要求矩阵A和矩阵B的维数相同,乘的运算要求矩阵A的列数等于矩阵B的行数,否则MatLab将给出错误信息,提示用户2个矩阵的维数不匹配。

(3)矩阵转置的运算,求矩阵A的转置矩阵B(这里令B=AT),可由B=A’实现。

(4)矩阵求逆的运算,求矩阵A的逆矩阵B(这里令B=A-1),可在命令窗口输入语句B=inv(A)实现。

(5)矩阵求广义逆的运算,求矩阵A的广义逆矩阵B,可在命令窗口输入语句B=PINV(A)实现。

2.3 MatLab在测量平差计算中的应用

在测量工作生产实践中观测数据普遍采用最小二乘原理进行平差以提高精度,测量平差课程教学主要讲授经典测量平差的方法,包括条件平差、附有参数的条件平差、间接平差和附有限制条件的间接平差4种平差函数模型。由于间接平差具有函数模型简单、易于计算机编程实现等优点[9],下面将采用间接平差函数模型说明MatLab在平差计算中的应用。

间接平差的函数模型为:

间接平差的随机模型为:

平差的准则为:

间接平差是在最小二乘准则要求下求出误差方程中的待定参数 ,在数学中是求多元函数的极值问题[10]。以文献[1]中第136页例7-8中水准网(如图3所示)平差为例,进行间接平差计算和精度评定。

图3 水准网示意图

程序如下:

disp('-------水准网间接平差示例-------')

Ha=5.016, Hb=6.016 %已知点高程/m

n=6, t=2; % n为观测值的个数,t为必要观测数

L=[1.359; 2.009; 0.363; 1.012; 0.657; -0.357] %观测高差/m

B=[1 0; 0 1;1 0; 0 1; -1 1; -1 0 ] %误差方程系数矩阵

l=[0; 0; 4; 3; 7; 2] %误差方程常数项

C=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, 各待定点的高程平差值L1/m')

V=B*x- l %误差方程(mm)

L1 =L + V/1000 %观测值的平差值

disp('精度评定')

delta=sqrt(V'*P*V/(n -t)) %单位权中误差(mm)

程序运行后,平差结果为:各待定点的平差高程Hc=6.374 8 m,Hd=7.027 9m,He=6.612 1 m,单位权中误差delta=2.2 mm。

通过算例容易看出,利用MatLab进行测量平差数据计算,只要在命令窗口输入几条语句,即可完成平差过程中复杂的计算,平差过程直观易懂,可逐行跟踪运行程序,使程序更易调试,计算更加简便,使学生对于平差原理的掌握更扎实。因此既便于教师授课时例题的讲解,对学生完成作业和课程设计有益,也加深了学生对测量平差过程的理解。

除此之外,MatLab在测量平差课程教学中还有很多应用,如进行误差数据处理、平差系统的统计假设检验、回归分析、曲面拟合及可视化等方面的讲解演示。

3 结语

测量平差课程由于理论性强、计算难度大、数学知识运用要求高,传统的教学方法形式固定、手段单一,很难保证收到良好的教学效果。特别是在信息化测绘背景下,不断出现和发展的测绘新技术对现代测量数据处理提出了更高的要求。将MatLab应用到测量平差课程教学中,对教学方法进行改革,巩固和加强学生对误差理论和现代测量数据处理方法的应用,有利于提升教学质量,提高学生动手实践和创新能力,使该课程教学达到了预期的效果。

猜你喜欢

数据处理运算矩阵
重视运算与推理,解决数列求和题
认知诊断缺失数据处理方法的比较:零替换、多重插补与极大似然估计法*
基于低频功率数据处理的负荷分解方法
ILWT-EEMD数据处理的ELM滚动轴承故障诊断
有趣的运算
“整式的乘法与因式分解”知识归纳
初等行变换与初等列变换并用求逆矩阵
基于希尔伯特- 黄变换的去噪法在外测数据处理中的应用
矩阵
矩阵