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

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

78
地 壳 形 变 与 地 震
2O 卷
由函数 mXFuHctioH 定义 , 其参数是 prhs~ Hrhs~ plhs~ HlhsO 其中 prhs 是 指向右 端输 入变量 的 mXArray 类型指针 ; Hrhs 是右端输入变量的个数 ; plhs 是指向左端输入变量 的 mXArray 类型 指针 ; Hlhs 是左端输入变量的个数 ; 入口子程序和计算功能子程序 可以分开 , 也 可以 合并在 一 起 O 经过 FORTRAN 编译器编译和连接后 , 即可在 MATLAB 系统中像调用 M 文件一样调用 FORTRAN 语言子程序 O
第3期
卓力格图等 , MATLAB 软件在测量平差中的应用
7S
MATLAB 软件在测量平差中的应用
卓力格图 詹洁晖
430071D ( 中国地震局地震研究所 武汉
阐 述 了 如 何 利 用 MATLAB 软 件 处 理 观 测 数 据 , MATLAB 是 目 前 在 大 学 和 研 究 机构广泛应用的一种数 值 计 算 及 图 形 工 具 软 件 它 的 特 点 是 语 法 结 构 简 明 数 值 计 算 高 效 图 形 功 能完备 特别适合非专业编程人员完成数值计算 ~ 科学试验数据处理等任务 , 给出了一个水准网无 约束平差算例及其源程序 ,
收稿 , 2 000 -0 2-29; 修回 , 2 000 -03 -2 0 国家重点科技攻关项目 *新疆伽师强震群成因及帕米尔东北侧强震预报研究 ( 96-9 13 -07D 的成果之一 ,
76
地 壳 形 变 与 地 震
20 卷
WindOws 95/ 98 版本 ( 5. 02 版 ) 新的版本集中了常用的数据处理的各种功能 ~ 包括高效的数 值计算 ~ 矩阵运算 ~ 信号处理和图形生成等 在 MATLAB 环境下 ~ 使用者可以方便地进行程序 设计 ~ 数值计算 ~ 图形绘制 ~ 数据的输入输出 ~ 文件管理等各项操作 MATLAB 提供了一个人机交互的数学系统环境 ~ 该系统的基本数据结构是矩阵 在生成 矩阵对象时 ~ 不要求明确的矩阵维数说明 与利用 C 语言或 ORTRAN 语言做数值计算的程 序设计相比 ~ 利用 MATLAB 可以节省大量的编程时间 因此 ~ MATLAB 常被 用来 解决一 些 实际课题和数学模型问题 ~ 其典型的应用有 : 数值计算 ~ 算法预设计与验证 ~ 以及一些特殊的矩 阵计算 ~ 如自动控制理论 ~ 数理统计 ~ 数字信号处理 ( 时间序列分析 ) 等 MATLAB 系统由 5 个 主要部分组成 : ( 1) MATLAB 语言体系 MATLAB 是高级矩阵 / 数组语言 ~ 它有条件控制 ~ 函数调用 ~ 数 据结构 ~ 输入 / 输出 ~ 面向对象等程序语言特性 利用它既可以进行小规模编程 ~ 完成算法设计 和算法实验等基本任务 ~ 又可以进行大规模编程 ~ 开发复杂的应用程序 ( 2) MATLAB 工作环境 主要包括管理工作空间中的变量 ~ 数据输入输出的方式和方法 ~ 以及开发 ~ 调试 ~ 管理 M 文件的各种工具 ( 3) 图形句柄系统 MATLAB 的图形句柄系统是 其 图形系 统的 基础 ~ 包括 完成 二维和 三 维数据图表 ~ 图像处 理 ~ 动 画生成 ~ 图 形显 示 等 功能 的 高 层 MATLAB 命 令和对 图形 等对象 进 行特性控制的低层 MATLAB 命令 ~ 以及图形用户界面 ( GUI) 应用程序的各种工具 ( 4) MATLAB 数学函数库 算法程序库 主要包括各种初等函 数 的计算 及矩 阵运算 ~ 矩 阵分 析等多 种
7 8 9 此外 , 用 load 命令和 f read 函数都可以用来输入矩阵 0 ( 2) 矩阵的和 ~ 差 ~ 乘运算 矩阵 A 与矩阵 B 的和的运算 , 使用 A + B 即可完成 0 矩阵 A 与矩阵 B 的差的运算 , 使用 A B 即可完成 0 矩阵 A 与矩阵 B 的乘的运算 , 使用 Ae B 即可完成 , 这里需要注意的是必须满足矩阵的维 数要求 , 矩阵 A 的列数等于矩阵 B 的行数 0 否则 MATLAB 执行该语句后会给出 出错 ' 信息 0 ( 3) 矩阵求逆的运算 求矩阵 A 的逆矩阵 B( 这里令 B = A ( 4) 矩阵转置的运算
( 5) MATLAB 应用程序接口 ( API) 为用户提供一个函数库 ~ 使用户能够在 MATLAB 环 境中使用 C 语言或 ORTRAN 语言编制的程序 ~ 包括从 MATLAB 中调用 子程序 ~ 动 态连接 库 ( DLL) ~ 读写 MAT 文件的功能 MATLAB 还 具 有 功 能 扩 展 能 力 ~ 与 MATLAB 主 系 统 一 起 ~ 可 以 配 备 各 种 工 具 箱 ( TOOl BOx ) 目前 ~ MathWOrks 公司推出了 18 种工具箱 因为 GPS 已得到广泛应用 ~ OriOn Dynamics and COntrOl COrpOratiOn~ COnstell Inc. GPSOf t LLC~ Navsys COrpOratiOn 等 多家 公司都 相 应开发出了适于 GPS 数据处理的 MATLAB 工具箱 [2] 从 上述 可以看 出 ~ MATLAB 是 一 个 集 数 值 计 算 ~ 图 形 管 理 ~ 程 序 开 发 于 一 体 的 功 能 十 分 强 大的系统 将 MATLAB 应用于测量数据的处理是一件非常有意义的工作 MOhamed 等曾 成 功 地 在 MATLAB 系 统 中 利 用 白 滤 波 技 术 研 究 动 态 解 算 GPS 载 波 相 位 信 号 的 模 糊 度 问 题 [3] 因为测量数据的处理特别是测量平差主要应用矩阵运算 [4] ~ 而 MATLAB 又特别易于做 矩阵运算 ~ 因此研究开发基于 MATLAB 的测量平差方法具有极好的应用价值
~ FORTRAN 的接口 , MEX 动态连接函数
在 MATLAB 中 , 可以 调用用户 自 己开 发 的 或 FORTRAN 子 程序 , 通 过 MATLAB 的 API 函数将 或 FORTRAN 子程序编译成动态连接库 , 则 MEX 文件就可以在 MATLAB 中 直接调用或连接这些子程序 0 MEX 文件是由 或 FORTRAN 源程序经过编译生成的 MATLAB 动 态连接 子程序 , 它 的 作用十分类似于 MATLAB 的内建函数 0 在 WindoWS9X 下 , MEX 文件是 32 位的 DLL 格 式 0 目前支持 32 位运算的编译器有 , Digital ViSual FORTRAN ver 5. 0~ NDP FORTRAN 386 ver 3. 0~ MetaWare ~igh complier ver 7. 0 等 0 ver 3. 0~ Borlan + ver 4. 5~ Watcom 386 ver 9. 0~ MicroSof t
Abstract
In this paper hoW to apply the MATLAB to process observation data is described. The MATLAB is one of the popular sof tWares used f or numerical calculation and graphic design in universities and institutes. It has several merits e. g very simple grammar structure high ef f iciency f or accomplishing numerical calcutation and it can make unprof essional computer users to complete experimental data processing algorithm design etc. easily. So it is meaningf ul to apply MATLAB With geodetic data adjustment calculations. An example of leveling netWork adjustment and its original program is given. Keyw or d s, MATLAB adjustment of observations data prosessing program design
4
测量平差实际应用算例
已知 一 个 水 准 网 ( 见 图 1D , 测 得 的 高 差 ( 单 位 : mD 和权分别为 : h 1 = O. O23 O. O79 h 2 = 1. 114 h 3 = 1. 142 h4 = h 5 = O. O99 h 6 = 1. 217 P5 = 1
1
MATLAB 简介
MATLAB 是 由美 国 Math W orks 公 司推 出 的 用于 数 值 计 算 和 图 形 处 理 的 科 学 计 算 系 统 环 境 , MATLAB 的英文全称是 Matrix Laboratory 可直译为矩阵实验室 , 它最初是由 Cleve
[1 ] Moler 用 Fortran 语言设计的 第一版于 1 9S 4 年发行 , 经过 10 余年的不断改进 现今已推出


主题词
MATLAB
测量平差
数据处理
程序设计
APPLICATION OF MATLAB SOFTWA E TO ADJUSTMEN T OF OBSE VATION S
Ahuoli Getu and Ahan Jiehui ( Institate of Seismology CSB W/han 430071D
第3期
卓力格图等 , MATLAB 软件在测量平差中的应用
77
双精度数来分配内存空间 , MATLAB 将自动地为每一个变量分配内存 0 因此 , 最简单的创建 矩阵的方法是直接输入矩阵的元素序列 0 具体方法是 , 将矩阵的元素用方括号括起来 , 按矩阵 行的顺序输入各元素 , 元素与元素之间用空格或逗号分隔开 , 用分号将每行的元素分开 0 例如 , 键入语句 A= [1 2 3; 4 5 6; 7 8 9]后 , MATLAB 执行该语句 , 然后输出如下结果 , A = 1 4 2 5 3 6
MEX 源代码文件由两部分组成 , 第一部分称为入口子 程序 , 第 二部 分称为 计算 功能子 程 序 0 入口子程序的作用是在 MATLAB 系统与被调用的外部子程序之间建立通信联系 , 可以看 作是通信协议 , 它定义被 MATLAB 调用的外部子程序的入口地址 , 定义 MATLAB 系统向子 程序传递的子程序的参数 , 还定义子程序向 MATLAB 系统返回的结果参数 , 以及调用计算功 能子程序等 0 计算功能子程序就是要连接的外部子程序 , 它用于完成一些特定的计算 , 由入口 子程序调用 0 FORTRAN 语言 MEX 文件只接受双精度数值变量和字符串变量的输入 0 其入口子程序
2
MATLAB 下测量数据处理常用的矩阵运算
测量平差数据处理常用的矩阵运算主要 是 矩阵 的 生成 ~ 矩 阵的运算 ~ 矩 阵的转 置 ~ 矩阵求 因此 ~ 如果要进行基于 MATLAB 的测量平差数据处理 ~ 就必须了解上
逆和矩阵求广义逆等 述内容
( 1) 矩阵的生成 在 MATLAB 环境中 ~ 不需要对创建的变量对象给出类型说明和维数 ~ 所有的变量都作为
1
, 以下类同 ) , 则直接使用 B = IN V( A) 即可 0
求矩阵 A 的转置矩阵 BHale Waihona Puke Baidu 则直接使用 B = A 即可 0 ( 5) 矩阵求广义逆的运算 求矩阵 A 的广义逆矩阵 B, 则直接使用 B = PIN V( A) 即可 0 语句的说明 , 使用 % 符号来注释 0
3
MATLAB 与
相关文档
最新文档