图书中心
图书中心
精品图书
当前位置: 网站首页 -> 图书中心 -> 精品图书 -> 正文
MATLAB程序设计及在地球物理中的应用
  • 【作者】:童孝忠
  • 【出版时间】:2013-02-01
  • 【字 数】:480(千字)
  • 【定 价】:¥45(元)
  • 【出 版 社】:中南大学出版社
  • 【ISBN】:978-7-5487-0781-3
  • 【页 码】:297(页)
  • 【开 本】:16开

本书基于MATLAB 7.0版, 详细介绍了MATLAB的基础知识、 程序设计、 图形处理、 数值计算、 符号计算、 GUI设计、 文件读写等内容, 书后附有上机实习指导。全书共分13章: 第1~8章是MATLAB基本知识的简要介绍; 第9~12章分别介绍了MATLAB在重力勘探、 磁法勘探、 电法勘探和地震勘探等地球物理勘探方法中的典型应用实例, 书中的实例均经过验证。本书的取材大多出自科研与教学实践, 在内容安排上注重理论的系统性和自包容性, 同时也兼顾实际应用中的各类技术问题。

本书可作为地球物理专业本科生的教学用书, 也可作为研究生、 科研和工程技术人员的参考用书。

第1章 MATLAB简介(1)
1.1 MATLAB概述(1)
1.1.1 MATLAB的发展(1)
1.1.2 MATLAB的特点及应用领域(2)
1.1.3 MATLAB的功能演示(3)
1.2 MATLAB的安装和启动(5)
1.2.1 MATLAB的安装(5)
1.2.2 MATLAB的启动与退出(6)
1.3 MATLAB操作界面(7)
1.3.1 命令窗口(7)
1.3.2 工作空间窗口(8)
1.3.3 历史命令窗口(8)
1.3.4 搜索路径和当前目录窗口(9)
1.3.5 Start菜单(11)
1.4 MATLAB帮助系统(12)
1.4.1 帮助命令(12)
1.4.2 帮助窗口(13)
1.4.3 演示系统(13)
1.4.4 远程帮助系统(14)
第2章 MATLAB语言基础(15)
2.1 变量及其操作(15)
2.1.1 变量与赋值(15)
2.1.2 变量的管理(16)
2.2 数据类型(17)
2.2.1 字符串型数据(17)
2.2.2 结构型数据(19)
2.2.3 单元型数据(20)
2.2.4 数据的输出格式(21)
2.3 MATLAB矩阵的表示(22)
2.3.1 矩阵的创建(22)
2.3.2 矩阵的拆分(24)
2.3.3 矩阵的结构变换(25)
2.3.4 矩阵的求值(28)
2.4 MATLAB数据的运算(32)
2.4.1 算术运算(32)
2.4.2 关系运算(35)
2.4.3 逻辑运算(35)
第3章 MATLAB程序设计(37)
3.1 M文件(37)
3.1.1 M文件的分类(37)
3.1.2 M文件的建立与打开(38)
3.2 程序流程控制(39)
3.2.1 顺序结构(39)
3.2.2 选择结构(40)
3.2.3 循环结构(43)
3.3 函数文件(47)
3.3.1 基本结构(47)
3.3.2 函数调用(48)
3.3.3 函数参数的可调性(50)
3.3.4 函数句柄及串演算函数(50)
3.3.5 局部变量和全局变量(52)
3.4 程序调试(53)
3.4.1 程序调试概述(53)
3.4.2 MATLAB调试菜单(53)
3.5 程序设计优化(56)
3.5.1 查看时间运行的函数(56)
3.5.2 循环语句的处理方法(56)
3.5.3 大型矩阵的预先定维(58)
3.5.4 内存优化(59)
3.5.5 哪些情况下MATLAB不能加速(60)
第4章 MATLAB图形绘制(61)
4.1 二维图形绘制(61)
4.1.1 绘制二维图形的基本函数(61)
4.1.2 绘制图形的辅助操作(63)
4.1.3 绘制二维图形的其他函数(68)
4.2 三维图形绘制(72)
4.2.1 绘制三维图形的基本函数(72)
4.2.2 绘制三维曲面图(73)
4.3 其他图形绘制(78)
4.3.1 三维数据的二维图(78)
4.3.2 四维数据的三维图(80)
4.3.3 向量场图(81)
4.4 图形处理基本技术(83)
4.4.1 视点处理(83)
4.4.2 色彩处理(84)
4.5 低层绘图操作(87)
4.5.1 图形对象及其句柄(87)
4.5.2 图形对象属性(88)
4.5.3 图形对象创建(90)
4.6 图像显示与动画制作(102)
4.6.1 图像显示(102)
4.6.2 动画制作(103)
第5章 MATLAB数值计算(106)
5.1 数据处理与多项式计算(106)
5.1.1 数据统计与分析(106)
5.1.2 多项式计算(113)
5.2 数据插值和曲线拟合(116)
5.2.1 数据插值(116)
5.2.2 曲线拟合(120)
5.3 数值微积分与贝塞尔函数(122)
5.3.1 数值微分(122)
5.3.2 数值积分(124)
5.3.3 贝塞尔函数(126)
5.4 离散傅里叶变换(127)
5.4.1 离散傅里叶变换算法简述(128)
5.4.2 离散傅里叶变换的实现(128)
5.5 线性方程组求解(130)
5.5.1 直接解法(130)
5.5.2 迭代解法(133)
5.6 稀疏矩阵(136)
5.6.1 稀疏矩阵的建立(136)
5.6.2 稀疏矩阵的存储(139)
5.6.3 稀疏矩阵的应用(139)
第6章 MATLAB符号计算(141)
6.1 符号对象及其表达式(141)
6.1.1 符号常量和变量(141)
6.1.2 符号表达式(143)
6.1.3 符号矩阵(144)
6.2 符号算术运算(146)
6.2.1 符号对象的加减(146)
6.2.2 符号对象的乘除(146)
6.3 符号微积分运算(148)
6.3.1 符号极限(148)
6.3.2 符号微分(149)
6.3.3 符号积分(150)
6.3.4 符号级数(151)
6.4 符号积分变换(153)
6.4.1 傅里叶变换(153)
6.4.2 拉普拉斯变换(155)
6.4.3 Z变换(156)
6.5 符号方程求解(158)
6.5.1 符号代数方程求解(158)
6.5.2 符号常微分方程求解(159)
6.6 符号运算扩展(160)
6.6.1 Maple内核访问函数(160)
6.6.2 Maple函数帮助(161)
6.6.3 Maple库函数(162)
第7章 MATLAB图形用户界面设计(165)
7.1 用户菜单设计(165)
7.1.1 用户菜单创建(165)
7.1.2 用户菜单属性(166)
7.2 用户控件设计(168)
7.2.1 控件对象创建(168)
7.2.2 用户控件类型(170)
7.2.3 编写程序建立控件(171)
7.2.4 对话框(176)
7.3 鼠标操作(177)
7.3.1 鼠标操作处理(177)
7.3.2 对象选择规则(179)
7.3.3 鼠标操作实例(179)
7.4 GUI界面设计(180)
7.4.1 GUIDE开发环境(181)
7.4.2 可视化设计工具(182)
7.4.3 GUI设计实例(185)
第8章 MATLAB文件I/O操作(194)
8.1 可读取文件格式(194)
8.2 高级文件I/O操作(194)
8.2.1 load/save函数(194)
8.2.2 uigetfile/uiputfile函数(196)
8.2.3 uiimport/importdata函数(197)
8.2.4 textread/strread函数(198)
8.3 低级文件I/O操作(199)
8.3.1 文件的打开与关闭(199)
8.3.2 文本文件的读写(200)
8.3.3 二进制文件的读写(203)
8.3.4 数据文件定位(204)
第9章 MATLAB在重力勘探中的应用(206)
9.1 重力异常正演(206)
9.1.1 密度均匀的球体(206)
9.1.2 密度均匀的水平圆柱体(208)
9.1.3 铅垂台阶(210)
9.1.4 倾斜台阶(212)
9.2 重力异常反演(214)
9.2.1 问题描述(214)
9.2.2 最小二乘光滑约束反演(216)
9.3 重力异常处理与转换(219)
9.3.1 重力异常的叠加(219)
9.3.2 重力异常的延拓(222)
第10章 MATLAB在磁法勘探中的应用(225)
10.1 磁异常正演(225)
10.1.1 球体的磁异常(225)
10.1.2 水平圆柱体的磁异常(228)
10.2 磁异常的处理与转换(231)
10.2.1 磁异常解析延拓(231)
10.2.2 磁异常分量间的换算(239)
第11章 MATLAB在电法勘探中的应用(243)
11.1 直流电测深正演计算(243)
11.1.1 汉克尔积分(243)
11.1.2 正演问题描述(245)
11.2 大地电磁测深正演计算(246)
11.2.1 解析计算方法(247)
11.2.2 数值模拟方法(249)
11.3 电法勘探的反演计算(251)
11.3.1 半定量反演(251)
11.3.2 最优化反演(253)
11.4 电法勘探的时频分析——以EH4数据为例(257)
11.4.1 时间序列读取(257)
11.4.2 时频分析(258)
第12章 MATLAB在地震勘探中的应用(263)
12.1 地震波基础(263)
12.1.1 地震波的传播规律(263)
12.1.2 地震子波的特点(267)
12.2 地震波时距曲线计算(269)
12.2.1 水平层状介质的时距曲线(269)
12.2.2 倾斜界面的时距曲线(271)
12.2.3 绕射波的时距曲线(272)
12.3 地震勘探数据处理(273)
12.3.1 地震剖面图绘制(273)
12.3.2 地震数据偏移成像(277)
附录 MATLAB上机练习(286)
参考文献(297)

MATLAB是当今最优秀的科技应用软件之一, 它以强大的科学计算与可视化功能、 简单易用、 开放式可扩展环境, 特别是所附带的三十多种面向不同领域的工具箱支持, 使得它在许多科学领域中成为计算机辅助设计、 算法研究和应用开发的基本工具和首选平台。

MATLAB具有其他高级语言难以比拟的一些优点, 编写简单, 编程效率高, 易学易懂。因此, MATLAB语言也被通俗地称为演算纸式的科学算法语言。在地球物理正反演计算、 时频信号处理等方面, MATLAB都被广泛地使用, 已经被认可为能够有效提高工作效率、 改善设计手段的工具软件, 掌握了MATLAB就好比掌握了开启地球物理专业大门的钥匙。因此, 对高校地球物理专业来说, 编写一本针对性强的MATLAB教材是十分必要的。

本书基于MATLAB 7.0版, 讲解MATLAB 的基础知识和核心内容。根据本课程“课时少、 内容多、 应用广、 实践性强”的特点, 在内容编排上, 尽量精简非必要的部分, 着重讲解MATLAB最基本的内容。对需要学生掌握的内容, 做到深入浅出, 实例引导, 讲解详实, 既为教师讲授提供较大的选择余地, 又为学生自主学习提供了方便。为使学生能通过练习和实际操作, 在较短的时间内掌握MATLAB 的基本内容及其应用技术, 本教材还加入了上机实验。

本书在编写过程中, 中南大学的刘海飞老师、 佟铁钢老师等给予了大力支持并提出了完善结构、 体系方面的建议; 王涛、 徐海坤、 陈善语完成了书稿编辑工作。在这里, 对他们表示由衷的感谢, 感谢他们的支持、 鼓励与参与。同时要特别感谢中南大学物探教研室同仁们的大力支持与帮助。

本书的部分内容是作者正在主持进行的湖南省科研条件创新专项项目(课题编号: 2010TT2056)的基础研究成果之一, 对湖南省科技厅的资助表示感谢。

本书可作为地球物理专业本科生的教学用书, 也可作为研究生、 科研和工程技术人员的参考用书。有关程序代码以及教材使用中的问题可以通过博客http://blog.sciencenet.cn/u/csumaysnow或电子邮箱csumaysnow@csu.edu.cn与作者联系。

由于MATLAB所涉及的知识面极为宽广, 编者水平有限, 所以书中错误或不妥之处, 恳切期望得到广大读者的批评指正。

作者

2013年1月于长沙

地球是一个庞大而复杂的系统。地球科学是六大基础自然科学之一, 它不仅承担着揭示地球奥秘与规律的科学使命, 同时也为人类如何适应和利用地球提供科学的方法。随着生产和科学与技术的发展, 地球科学的研究内容和领域也在不断地深入和扩展, 逐渐形成了日臻完善的综合性学科体系。

地质工程是为国民经济建设服务的先导性工程领域, 地质工程学科是地球科学的重要组成部分, 其主要研究对象包括地质调查、 矿产资源的普查与勘探, 和重大工程的地质结构与地质背景, 其学科涉及地质学、 地球物理学、 地球化学、 岩土工程学、 遥感技术、 测试技术、 及信息与计算机技术等。

在2006—2010年教育部高等学校地矿学科教学指导委员会的成立大会上, 委员们一致认为, 教材建设是本届教学指导委员会的重要任务之一。地质工程专业系列教材被列为教学指导委员会三大规划教材(地质、 采矿和矿物加工)之一, 涵盖了资源勘查工程、 应用地球物理和岩土钻掘工程三个专业方向。地质工程专业系列教材编审委员会通过多次沟通和研讨, 在总结以往教学和教材编撰经验的基础上, 以推动新世纪地质工程专业教学改革和教材建设为宗旨, 提出了地质工程专业系列教材的指导思想和编写原则:①教材的体系、 知识层次和结构要合理, 要遵循教学规律, 既要有利于组织教学又要有利于学生学习;②教材内容要体现科学性、 系统性、 新颖性和实用性, 并做到有机结合;③既要重视基础, 又要强调地质工程专业的实践性和针对性;④要反映地质工程学科的新理论、 新技术、 新方法、 新成果、 新标准、 新规范, 以体现时代特性和创新精神。

当前, 地质工程领域各个学科和各种技术都在不断发展, 地质工程专业的教材需要不断完善和更新。全国参与地质工程专业教材编写的老师们必定能够共同努力, 精益求精, 写出更好的地质工程专业的系列新教材, 以适应我国国民经济快速发展的需要。借地质工程专业一批新教材陆续出版的机会, 衷心祝愿我国地质工程学科在新世纪得以更快发展。

中国工程院院士

2010年9月30日