资 源 简 介
MATLAB程序设计及在地球物理中的应用 本书基于MATLAB7.0版,详细介绍了MATLAB的基础知识、程序设计、图形处理、数值计算、符号计算、GUI设计、文件读写等内容,书后附有上机实习指导。全书共分13章:第1~8章是MATALB基本知识的简要介绍;第9~12章分别介绍了MATLAB在重力勘探、磁法勘探、电法勘探和地震勘探等地球物理勘探方法中的典型应用实例,书中的实例均经过验证。本书的取材大多出自科研与教学实践,在内容安排上注重理论的系统性和自包容性,同时也兼顾实际应用中的各类技术问题。内容简介本书基于 MATLAB70版,详细介绍了 MATLAB的基础知识、程序设计、图形处理、数值计算、符号计算、GUI设计、文件读写等内容,书后附有上机实习指导。全书共分13章:第1-8章是 MATLAB基本知识的简要介绍;第9~12章分别介绍了 MATLAB在重力勘探、磁法勘探、电法勘探和地震勘探等地球物理勘探方法中的典型应用实例,书中的实例均经过验证。本书的取材大多出自科研与教学实践,在内容安排上注重理论的系统性和自包容性,同时也兼顾实际应用中的各类技术问题。本书可作为地球物理专业本科生的教学用书,也可作为研究生、科研和工程技术人员的参考用书。图书在版编目(CP)数据MATLAB程序设计及在地球物理中的应用/童孝忠,柳建新编著一长沙:中南大学出版社,2013.2ISBN978754870781-3MⅡ.①童.②柳.,Ⅲ. Matlab软件-应用-地球物理勘探Ⅳ.F631-39中国版本图书馆CIP数据核字(2013)第01799号…-------“““““““““““面开看需MATLAB程序设计及在地球物理中的应用童孝忠柳建新编著□责任编辑汪凡云口责任印制文桂武口出版发行中南大学出版社社址:长沙市簏山南路邮编:410083发行科电话:073188876770传真:073138710482口印装长沙宏发印刷有限公司口开本787×10921/16口印张19.5口字数480千字口版次2013年2月第1版口2013年2月第1次印刷口书号ISBN97875487407813口定价45.00元图书出现印装问趣请与出版社调换总序地球是一个庞大而复杂的系统。地球科学是六大基础自然料学之一,心不仅承担着揭示地球奧税与规津的科学使命。同时也为人类如何应和科用地球提供科学的方法。随着生产和料蝾与技米的发展。地球科学的研究內容和领堿也在不断地深入和扩展,逐渐形成了日臻皃善的缐合性学科体系。地质工程是为国民经济建设服务的先导性工程领域。地质工桯学科是地球科学的重要组成部分。其主要研究对象包括地质锶鸯、矿产资源的普查与勘探,和重大工程的地质结构与地质背景。其学科涉及地质学、地球物理学、地撖化学、岩土工程学、镪感技术、测试技术、及儈息与计算机技术等。在2006-2010年教育部高等学校地矿学科教学指导委员会的成立大会上,委员仉一致认为,教材建设是本届教学指导亵员会的重要任务六。地质工程专业策列教材被列为教学指导烝员会气大规划教材(她质、釆矿和矿物加工)之涵盖了资源勘査工程、应用地球理和岩土钻掘冮桯三个专业方而。地质工程专业泵列教材编审奀员会递过多次沟和研讨,在总结以炷教学和教材编撰经硷的基础上,以动新世纪地质工程专业教学改革和教材建设为宗旨,捉出了地质工程专业踩列教材的指导思想和编写原则:①教树的体系、知识层攻和鲒构要合理,要遁教学规珒,既要有利于组织教学又要有利于学生学习;②教材内容要体现科学牡系统性、新颍性和实用性,并做到有机结合;③既要重视基础,又要强调地质工程专业的实践性和针对性;④要反映地质工桯学科的新理论、新技术、新方法、新成果、新标、新规范。以体现时代特性和创新精神。当期,地质工程领域各个学科和各种技术都在不断牧展,地质工程专业的教材需受不断完尊和更新。全国参与地质工褆专业教村编写的老师们定能够共同努功,精益求精,写岀更好的地质工程专业的系列新教材,以适痖我国回民经济帖速发展的礐要。借地质工程专业一批新教材陆续岀版的机会,衷心祝感我国地质工程苧科在新世纪浮以更快裝展。拓绝着中国工程院院士2010年9月30日2前言··●····MATLAB是当今最优秀的科技应用软件之一,它以强大的科学计算与可视化功能、简单易用、开放式可扩展环境,特别是所附带的十多种面向不同领域的工具箱支持,使得它在许多科学领域中成为计算机辅助设计、算法研究和应用开发的基本工具和首选平台。MATLAB具有其他高级语言难以比拟约一些优点,编写筲单,编程效率高,易学易懂。医此, MATLAB语言也被通俗地称为演算纸式的科学算法语言。在地球物理正反演计箅、时烦信号处理等方面,MATLAB都被宀泛地使用,已经被认可为能够有效提高工作效率、改善设计手段的工具软件,掌握了Ⅵ ATLAB就好比掌握了开启地球吻理专业大门的钥匙。因此,对高校坦球物理专业来说,编写一本针对性强的 MATLAB教材是十分必要的。本书基于 MATLAB7.0版,讲解 MATLAB的基础知识和核心内容。根据本课程“课时少、内容多、应用广、实践性强”的特点,在内容编排上,尽量精简非必要的部分,着重讲解 MATLAB最基本的内容。对需要学生掌握的内容,做到深入浅出,实例引导,讲解详实,既为教师讲授提供较大的选择余地,又为学牛自主学习提供了方便为使学生能通过练习和实际操作,在较短的时间内掌握 MATLAB的基太内容及其应用技术,本教材还加入了上机实验。夲书在编写过程中,中南大学的刘海飞老师、佟铁钢老师等给予了大力攴持并提出了完善结构、体系方而的建议;王涛、徐海坤、陈善语完成了书稿编辑工作。在这里,对他们表示由衷的感谢,感谢他们的支持、鼓励与参与。同时要特别感谢中南大学物探教研室同仁们的大力支持与帮助本书的部分内容是作者正在主持进行的湖南省科研条件创新专项项目(课题编号:201012056)的基础研究成之一,对湖南省科技厅的资助表示感谢。本书可作为地球物理专业本科生的教学月书,也可作为研究生科硏和工稈技术人员的参考用书。有关程序代码以及教材使用中的问题可以通过博客htt://blog. sciencenet.cn/u/ csumayshow或电子邮箱 csunaysnow@csu.edu.cn与作者联系由于 MATLAB所涉及的知识面极为宽广,编者水平有限,所以书中错误或不妥之处,恳切期望得到广大读者的批评指正。作者2013年1月于长沙目录目录第1章 MATLAB简介…血身自▲“自■■血·自■血白山1.1 MATLAB概述…………………………………………1.1.1 MATLAB的发展…1·····售··鲁曲。1.1.2 MATLAB的特点及应用领城……………(2)1.1.3 MATLAB的功能演示3)I.2 MATLAB的安装和启动………………(5)1.2.1 MATLAB的安装…aa·ab4a··当“4‘“d·当1.2.2 MATLAB的启动与退出……1.3 MATLAB操作界面·············。看意■品申司·●·.··:·····..:··日··:·;.·::······(7)1.3.1命令窗口1.3.2工作空间窗口…………···.:;·;.·q·罪-甲·.············日+:·甲1.3.3历史命令窗口………(8)3.4搜索路径和当前目录窗口3.5Stat菜单(11)1.4 MATLAB帮助系统……·············::12)1.4.1帮助命令…(12)1.4.2帮助窗口(13)1.4.3演示系统(13)4.4远程帮助系统看DDp……………………(14)第2章 MATLAB语言基础(15)2.1变量及其操作……………(15)2.1.1变量与赋值……………………………(15)2.1.2变量的管理162.2数据类型D山命血D杳■(17)2.1字符串型数据2.2.2结构型数据……………………(19)2.2.3单元型数据…(20)2.2.4数据的输出格式……自鲁·鲁自鲁音鲁b甲画D(21)2.3 MATLAB矩阵的表示(22)2.3.1矩阵的创建…(22)2.3.2矩阵的折分…(24)2.3.3矩阵的结构变换■·自自·自·自····甲看甲,。·自·自··自·(25)······ MATLAB程序设计及在地张物理中的应用2.3.4矩阵的求值…(28)24 MATLAB数据的运算(32)2.4.1算术运算會■曹看即甲·早甲……(32)2.4.2关系运算(35)2.4.3逻辑运算甲单甲甲■鲁·(35)第3章 MATLAB程序设计自着;pbb嚕画■看看■』b會昌曲tt自d·曲画(37)3.IM文件●…………(37)3.1.1M文件的分类(37)3.1.2M文件的建立与打开……………(38)3.2程序流程控制…………Dp■曲曲曲幽舂曲画血曲D血血血DD血自1D春p。D。曲曲画自画自曲血画(39)3.2.1顺序结构(39)3.2.2选择结构b●●·D曹3.2.3循环结构3.3-数文件(47)3.3.1基本结构(47)3.3.2函数调用·········●。。轴。。世···鲁··曾·DDD···DD鲁……(48)3.3.3函数参数的可调性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二维图形绘制……(6l)4.1.1绘制二维图形的基本函数(61)4.1.2绘制图形的辅助操作……(63)4.1.3绘制二维图形的其他函数■■■自酯■■■。■啁■■白郾·省幽噜自自··■群·p幽自自·●●(68)4.2三维图形绘制…(72)4.2.1绘制三维图形的基本函数(72)4.2.2绘制三维曲面图■舞曾哥p·D杳·●d曹●●··ψ自ψ音。自自●自音鲁◆●看哥晋罪pb·●●日暴●d哥………(73)4.3其他图形绘制…(78)目录4.3.1三维数据的二维图…(78)4.3.2四堆数据的三维图……………………(80)4.3.3向量场图(81)4.4图形处理基木技术鲁d(83)4.4.1视点处理(83)4.4.2色彩处理…………………………………………(84)4.5低层绘图操作4.5.1图形对象及其白柄······a.“:4.5.2图形对象属性4.5.3图形对象创建……甲·■■·····◆甲·D■看(90)4.6图像显示与动画制作……(102)4.6.1图像显示看···香●···4。·身(102)4.6.2动画制作……(103)第5章 MATLAB数值计算………………………………(106)5.1数据处理与多项式计算……………………(106)5.1.1数据统计与分析……(106)5.1.2多项式计算…………………(113)5.2数据插值利曲线拟合…(I16)5.2.1数据插值鱼晶▲……………………(1l6)5.2.2曲线拟合…………(120)5.3数值微积分与贝塞尔函数……………………………………(122)5.3.1数值微分司●看垂。●●ψ(122)5.3.2数值积分■鲁■■■■■■……(124)5.3.3贝塞尔函数…bt●●鲁t自DDDD盘b鲁@e盘●自自(126)5.4离散傅里叶变换…■·■·晋·垂垂●個●■◆●鲁·鲁·督p晶噩鲁聯自。●tψ垂鲁命自·Dbb自看●自(127)5.4.1离散傅里叶变换算法简述…………………………(128)5.4.2离散傅里叶变换的实现…………(128)55线性方程组求解………………(130)5.5.1直接解法…一甲即看用··鲁章甲甲即争··…(130)5.5.2迭代解法…旷甲看口甲『?,冒看………(133)5.6稀疏矩阵…4a4◆4··q:····4······…(136)6.1稀疏矩阵的建立…(136)5.6.2稀疏矩阵的存储●山(139)6.3稀疏矩阵的应用(139)第6章 MATLAB符号计算看dd·暴·《音鲁鲁音如自bD個看 DI由●■_■…(141)6.1符号对象及其表达式····.····.······B··中·甲····…(141)6.1.1符号常量和变量…1··命命·着●罪●·身(141)