1、 南阳师范学院 20XX 届毕业生 毕业论文(设计) 题 目: MATLAB 在测绘工程课程中的应用研究 完 成 人: 班 级: 学 制: 专 业: 测绘工程 指导教师: 完成日期: 目 录 摘要 . ( 1) 0 引言 . ( 1) 1 Matlab 的简介及优势 . ( 2) 1.1 Matlab 的特点及功能 . ( 2) 1.1.1 高效 . ( 2) 1.1.2 可视化 . ( 2) 1.1.3 易学易掌握 . ( 2) 1.1.4 功能丰富 . ( 2) 1.2 Matlab 系统的优势 . ( 3) 1.2.1 编程环境 . ( 3) 1.2.2 简单易用 . ( 3) 1.2.
2、3 强处理能力 . ( 3) 1.2.4 图形处理 . ( 4) 2 Matlab 在测绘工程课程中的具体应用 . ( 4) 2.1 Matlab 在测绘数据处 理上的应用 . ( 4) 2.1.1 MATLAB 测绘数据处理程序设计思想 . ( 4) 2.1.2 用于坐标换算 . ( 5) 2.2 线性方程组的解算 . ( 5) 2.3 Matlab 在地理信息系统上的应用 . ( 6) 2.4 Matlab 在遥感图像处理上的应用 . ( 6) 2.5 Matlab 在误差与测量平差的应用 . ( 7) 3 测绘工程课程应用 Matlab 的优势 . ( 8) 4 小结 . ( 9) 参
3、考 文 献 . ( 10) Abstract . ( 10) 第 1 页 (共 10 页) MATLAB 在测绘 工程课程中的应用研究 摘要: 介绍了 Matlab 的特点、功能 。具有高性能数值计算的高级算法和强大的绘图能力 具有高性能数值计算的高级算法;特别适合矩阵代数领域:有大量事先定义的数学函数,并且有很强的用户自定义函数的能力;有强大的绘图功能以及具有教育、科学和艺术学的图解和可视化的二维、三维图 。 把 Matlab 应用于测绘工程课程中的数据处理、地理信息系统、遥感图像处理误差与平差等方面;探究其处理方法及过程。最后 指出了在测绘工程课程中应用 Matlab 巨大优势,减轻了对学
4、生编程水平的要求,提高了学生的学习兴 趣,加强了教学效果,还 可以用于成果的可视化显示。表明 Matlab 语言为测绘工程专业教学提供了强有力的工具,使用该语言对测绘工程课程必将达到事半功倍的效果,也为测绘学生今后提供广阔空间。 关键词: 测绘工程课程; Matlab ; 应用 0 引言 测绘科学就是地球空间信息学。它是信息科学的一个分支 ,是地球信息科学的基础。是一门以大学科如测量平差、地理信息系统、遥感图像处理、坐标换算规模数据甚至是海量 数据处理、分析与应用为基础的学科,其各项分支等,都涉及大量的数据处理 1。 Matlab是美国 MathWorks公司自 20世纪 80年代中期推出的数
5、学软件 ,其优秀的数值计算能力和卓越的数据可视化能力使其很快在数学软件中脱颖而出 ,它提供了一个人机交互的数学系统环境 ,该系统的基本数据结构是矩阵。在生成矩阵对象时 ,不要求明确的矩阵维数说明。在大规模数据处理特别是矩阵运算方面具有其他程序设计语言难以比拟的优越性。所以在测绘工程课程中推广并应用 Matlab 软件 ,对提高教学效率 ,充分发挥大学生的潜力 ,及早胜任 日后工作具有重要意义和作用。 Matlab作为优秀的数学软件 ,在测绘工程专业课程中具有重要的作用,不仅能提高学习效率,还能充分发挥学生的潜力。本论文对 Matlab在测绘工程课程中的应用进行研究。 第 2 页 (共 10 页
6、) 1 Matlab 的简介及优势 1.1 Matlab 的特点及功能 Matlab 是由美国 mathworks 公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中, 为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案 ,并在很大程度上摆脱了传统非交互式程序设计语言(如 C、 Fortran)的编辑模式 ,代表了当今国际科学计算软件的先进水平。具体特点体现在以下几个方面: 1.1.1高效 数值运算功能函数库丰富。主包带有功能丰富和
7、完备的数学函数库,大量繁杂的数学运算和分析可以直接调用 Matlab 函数求解。用户不必花太多时间即可解决复杂的工程应用和数值计算问题。简短明了的几句程序就能在眨眼间得到完美的结果 ,大大提高了编程效率。语言表述形式和其 数学表达式基本相同,它的编程运算与人进行科学计算的思路和表达方式基本一致。 Matlab 的数据结构是矩阵,这使得用 Matlab解决有关矩阵和向量的数值计算与分析问题更加快捷高效。能使用户从繁杂的 数学 运算分析中解脱出来。 1.1.2可视化 具有完备的图形处理功能 ,实现计算结果和编程的可视化 ;可对矩阵数据进行二维、三维乃至四维可视化直观表现,其丰富的图像处理、渲染和各
8、种图 形控制表现功能 ,使科技人员对大量原始数据的分析与处理变得轻松而又得心应手。 1.1.3易学易掌握 友好的用户界面及接近 数学 表达式 的自然化语言 ,使学者易于学习和掌握 。 1.1.4功能丰富 与符号运算语言 Maple 结合 ,为用户提供了集符号运算与 符号可视第 3 页 (共 10 页) 化为一体的强大的符号运算功能。功能丰富的应用工具箱 (如信号处理工具箱、通信工具箱等 ),每一个工具箱都为特定的学科和研究领域提供了丰富的分析处理工具。为用户提供了大量方便实用的处理工具。 1.2 Matlab 系统的优势 1.2.1编程环境 Matlab 由一系列工具组成。这些工具方便用户使用
9、 Matlab的函数和文件,其中许多工具采用的是图形用户界面。包括 Matlab 桌面和命令窗口、历史命令窗口、编辑器和调试器、路径搜索和用于用户浏览帮助、工作空间、文件的浏览器。随着 Matlab 的商业化 以及软件本身的不断升级, Matlab的用户界面也越来越精致,更加接近 Windows的标准界面 ,人机交互性更强,操作更简单。而且新版本的 Matlab 提供了完整的联机查询、帮助系统,极大的方便了用户的使用。简单的编程环境提供了比较完备的调试系统 ,程序不必经过编译就可以直接运行,而且能够及时地报告出现的错误及进行出错原因分析。 1.2.2简单易用 Matlab是一个高级的矩阵 /阵
10、列语言,它包含控制语句、函数、数据结构、输入和输出和面向对象编程特点。用户可以在命令窗口中将输入语句与执行命令同步,也可以先编写 好一个较大的复杂的应用程序( M文件)后再一起运行。新版本的 Matlab 语言是基于最为流行的 C+语言基础上的,因此语法特征与 C+语言极为相似,而且更加简单,更加符合科技人员对数学表达式的书写格式。使之更利于非计算机专业的科技人员使用。而且这种语言可移植性好、可拓展性极强,这也是 Matlab能够深入到科学研究及工程计算各个领域的重要原因。 1.2.3强处理能力 Matlab 是一个包含大量计算 算法 的 集合 。其拥有 600多个工程中要用到的 数学 运算
11、函数 ,可以方便的实现用户所需的各种计算功能。 函数中所使用的 算法 都是科研和工程计算中的最新研究成果,而前经过了各种优化和容错处理。在通常情况下,可以用它来代替底层编程语言,如C 和 C+ 。在计算要求相同的情况下,使用 Matlab 的编程工作量会大大减少。 Matlab 的这些 函数 集包括从最简单最基本的函数到诸如 矩阵 ,特征 向量 、快速 傅立叶变换 的复杂函数。 函数 所能解决的问题其大致包第 4 页 (共 10 页) 括 矩阵 运算和 线性 方程组 的求解、 微分 方程及偏 微分方程 的组的求解、符号运算、 傅立叶变换 和数据的 统计 分析、工程中的优化问题、 稀疏矩阵 运算
12、、 复数 的各种运算、 三角函数 和其他初等 数学 运算、多维数组操作以及 建模 动态仿真等。 1.2.4图形处理 Matlab自产生之日起就具有方便的数据可视化功能,以将向量和矩阵用图形表现出来,并且可以对图形进行标注和打印。高层次的作图包括二维和三维的 可视化、图象处理、动画和表达式作图。可用于科学计算和工程绘图。新版本的 Matlab 对整个图形处理功能作了很大的改进和完善,使它不仅在一般数据可视化软件都具有的功能(例如二维曲线和三维曲面的绘制和处理等)方面更加完善,而且对于一些其他软件所没有的功能(例如图形的光照处理、色度处理以及四维数据的表现等),Matlab同样表现了出色的处理能力
13、。同时对一些特殊的可视化要求,例如图形对话等, Matlab 也有相应的功能函数,保证了用户不同层次的要求。另外新版本的 Matlab 还着重在图形用户界面( GUI)的制作上作了很大 的改善,对这方面有特殊要求的用户也可以得到满足。 Matlab对许多专门的领域都开发了功能强大的模块集和工具箱。一般来说,它们都是由特定领域的专家开发的,用户可以直接使用工具箱学习、应用和评估不同的方法而不需要自己编写代码。目前, Matlab已经把工具箱延伸到了科学研究和工程应用的诸多领域,诸如数据采集、数据库接口、概率统计、样条拟合、优化算法、偏微分方程求解、神经网络、小波分析、信号处理、图像处理、系统辨识
14、、控制系统设计、LMI 控制、鲁棒控制、模型预测、模糊逻辑、金融分析、地图工具、非线性控制设计、实时快 速原型及半物理仿真、嵌入式系统开发、定点仿真、 DSP 与通讯、电力系统仿真等,都在工具箱( Toolbox)家族中有了自己的一席之地。 2 Matlab 在测绘工程课程中的具体应用 2.1 Matlab 在测绘数据处理上的应用 2.1.1 Matlab测绘数据处理程序设计思想 Matlab 语言开发测绘数据处理程序需要经过规划、需求分析、编码、第 5 页 (共 10 页) 测试等几个环节。由于 Matlab 比较适合处理矩阵,其基本元素是无须定义维数的矩阵,进行数值计算的基本单位是复数数组
15、 (或称阵列 ),这使得 Matlab 高度“向量化”。它不需定义数组的维数,并具有矩阵生成函数以及对特殊矩阵处理的库函数。使之在诸如 GPS信号处理、建模、系统识别、控制、优化等测绘数据的处理过程中,显得简捷、高效、方便 4。 2.1.2 用于坐标换算 坐标换算是测绘工作中必不可少的部分,在地理信息系统、遥感图像配准 、 GPS 后处理等工作中都要用到坐标转换。例如地方独立坐标系向 国家坐标系 ,1954 年北京坐标系向西安 1980 年坐标系、 WGS84 坐标系转换等,坐标转换实质是求解转换系数的过程,即可简化为 X Y =X Y F(X,Y) T。如用其他计算机语言实现则需用相当复杂的
16、算法和代码,而在 Matlab 中只需采用矩阵除法符号” /”,即 T= X Y /X Y F(X,Y)。根据一定的控制点求出转换矩阵 T 后,即可用矩阵相乘形式将所有待转换点的新坐标求出来,计算过程简单,可以直接由语言实现。 2.2 线性方程 组的解算 在测绘数据平差处理中最常见的问题是解线性方程组。而在 Matlab中求解线性方程组相对简单。对于 A 为系数矩阵, B 为右端向量, x 为未知数的任意一个线性方程组 Ax=B,方程组解的存在性是线性代数的基本问题。简单来说,当矩阵 A的行列式不为 0 时,有唯一解。当解存在时,有几种解算办法,比如高斯消去、 LU 分解或直接使用矩阵求逆等,
17、其解可书写为 x=A1 B。以下是采用对矩阵求逆和使用矩阵的左除算子求解的算例。需要说明的是当方程数与未知 量数目不等时,通常不存在唯一解,在约束条件下可以得到唯一解。在 Matlab 中,使用除法算子可按最小二乘法解求方程组。 设有一方程组 : 241 2 3 41 2 41 2 3 42 X X 02 X 2 X 3 X 2 X 2 4 X 3 X X 76 X X 6 X 5 X 6 (2-1)第 6 页(共 10 页) 方程组的系数矩阵 A 0 2 0 11 2 3 2A4 3 0 16 1 6 5 (2-2) B 矩阵为 TA 0 2 7 6 则 x 的解: T1x A B 0. 5
18、 1 0. 33 33 2 2.3 Matlab 在地理信息系统上的应用 Matlab 具有强大的科学数据可视化能力, 能够将计算的结果以二维、三维、乃至四维的图形表现出来,并且可以通过对图形线性、立面、色彩、渲染、光线、视角等特性的处理,把计算结果表现得淋漓尽致。许多 GIS 都提供专业的三维分析功能,但使用 和支持开发功能很弱。在 Matlab 中分析三维数 据,不但提供的现成函数很多,而且其灵活运用矩阵 运算的方法,可以实现许多其他软件无法实现的 功能 7。以下是一系列绘制三维图形的函数: ( 1) 带有基本等值线的网格图 meshc( x ,y ,z); ( 2) 曲面图 surf(
19、x ,y ,z); ( 3) 色彩平滑 shadingflat ,interp ; ( 4) 带等值线的曲 面图 surfc( x ,y ,z) ; ( 5) 带亮度的曲面图 surf1(x,y,z) 。 通过以上函数可以方便的绘出 DEM 网格、等高线等。 2.4 Matlab 在遥感图像处理上的应用 Matlab 支持多种图形图像文件格式 ,包括 BMP、 GIF、 TIFF、 PCX、JPEG、 PSD、 PCD和 WMF等。 MATLAB 中提供了大量用于图像处理的函数,如读取图像文件的 imread 函数;使用直方图均一化方法增强图像对比度的 histeq 函数;实现二维自适应噪声消
20、除滤波的 wiener2 函数等,利用这些图像处理函数,可以很容易地实现对图像进行如下处理:图像的各种运算、邻域操作、图像变换、图像的卷积与滤波、图像的二值形态学操作、图像增强、图像复原、图像编码与压缩、图像分析和理解、第 7 页(共 10 页) 图像的小波分析等 5。 2.5 Matlab 在误差与测量平差的 应用 用 Matlab实现测量结果处理的算法流程 2 如图 2-1。 部分 Matlab软件计算程序如下 3: X= x1,x2, xn xlxn 为各个实际测量值,运行时代入实际值 a=1; 判别是否有粗大误差 while(a) aver=mean(X) 计算测量列的算术平均值 v=
21、Xaver ; 计算残余误差 h= std(X); 计算单次测量的标准差 N=length(x); a=0; for i=1: kk if(abs(v(i)一 aver)一 3h)0 fprintf( d 有粗大误差 ,X(i) a=1; break; else s=h/sqrt(n) 计算算术平均值标准差 end end 如判别有粗大误差则把含有粗大误差的数据 X(i)剔 除后重复上诉计算。 第 8 页(共 10 页) 开始 输入测量数据 X1 计算算术平均值 X2 计算残余误差 v 剔除含粗大误差的数据 计算单次测量标准差 h 判别是否含粗大误差 是 否 计算算术平均值标差 s 写出计算结
22、果 图 2-1 算法流程图 3 测绘工程课程应用 Matlab 的优势 (1) Matlab在测绘工程课程上的应用,增强了学习计算机语言的目的性。在基础课阶段,一般由全校统一开设计算机语言课程 ,往往是由计算机专业教师讲授,教学内容与专业应用脱节。导致在学习测绘工程专业课时,要求学生编程解决专业问题时,学生往往很茫然,无从下手。而在测绘课程中学习 Matlab,以专业需要为背景,既讲授了 Matlab 语言基础知识 ,又讲授基本编程技巧,为后续的课程应用 Matlab 语言打下基础。明确学习语言的目的,从根本解决了学以致用问题。 (2) Matlab 在测绘工程课程上的应用,大大提高了效率。目前专业教师在讲授专业知识的同时 ,往往要给学生“补课”,讲授如何用计算机语言解决专业问题,占用了很多理 论教学和实践学时。 学生有了 Matlab基础知识 ,可以压缩不必要的时间 ,删去纯粹计算方法和计算技巧的内容,把教学的重点放在对基本概念的理解上,放在培养学生创造性思维上 ,放在提高学生分析问题和解决问题的能力上。
Copyright © 2018-2021 Wenke99.com All rights reserved
工信部备案号:浙ICP备20026746号-2
公安局备案号:浙公网安备33038302330469号
本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。