Matlab语言及应用结课报告
题目:利用matlab语言建立速度扫描程序 学院:地空学院 年级:061114 姓名:张宁 学号:20111000486 指导老师: 王贤敏
2015年6月25日
目
录
第一章 模型背景与意义.................................1
第二章 建立模型的思路与步骤...........................2
第三章 模型演示及结果................................ 4
第四章 结论与评价....................................14
第五章 参考文献......................................15
附录.................................................16
第一章 模型背景与意义
1.1 MATLAB产生的历史背景
MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。
MATLAB是矩阵实验室(Matrix Laboratory)的简称,和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。
MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且mathwork也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持。可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。
MATLAB的应用:利用MATLAB可以进行以下各种工作 ①数值计算
②数值和符号计算 ③工程和科学绘图
④控制系统的设计与仿真 ⑤数字图像处理 ⑥数字信号处理
⑦通讯系统设计与仿真 ⑧财务与金融工程
1.2 MATLAB的语言特点和开发环境
MATLAB作为一种科学计算的高级语言之所以受欢迎,就是因为它有丰富的函数资源和工具箱资源,编程人员可以根据自己的需要选择函数,而无需再去编写大量繁琐的程序代码,从而减轻了编程人员的工作负担。被称为第四代编程语言的MATLAB最大的特点就是简洁开放的程序代码和直观实用的开发环境。具体地说MATLAB主要有以下特点: ? 库函数资源丰富
? 语言精炼,代码灵活 ? 运算符多而灵活
? 面向对象控制功能优良,使界面编程更方便、自由。 ? 程序设计自由 ? 图形功能强大 ? 程序的兼容性好 ? 源代码开放
? 形形色色的工具箱
第二章.建立模型的思路与步骤
2.1.建立模型的思路
地震勘探利用地下介质弹性和密度的差异,通过观测和分析人工地震产生的地震波在地下的传播规律,推断地下岩层的性质和形态的地球物理勘探方法叫做地震勘探。地震勘探是钻探前勘测石油与天然气资源的重要手段,在煤田和工程地质勘查、区域地质研究和地壳研究等方面,也得到广泛应用。
地震波的传播速度这一参数参与到了地震数据的采集处理与解释全部三个过程中,是地震勘探过程中最重要的参数之一。而地震勘探的最终目的则是获得与地震有关的物性参数,因此正确的提取参数是各项处理工作得以顺利进行的前提和保证。
当地区的地震地质条件复杂、得不到高质量的速度谱时,便可以应用第四种速度分析方法,即速度扫描。速度扫描是最直观、最简单、最可靠的速度分析方法,因为他是直接从动
校正记录或叠加道上提取速度。
利用MATLAB编程,进行速度扫描这一方法的数值实验,一方面熟悉了MATLAB语言的使用,学习并掌握了程序的编写和调试过程。另一方面加深了对本专业课程的认识,有助于巩固并深透的理解所学的理论知识,并练习了将理论知识化为实际应用的方法,是非常有意义的一次学习过程。
速度扫描方法本质上还是动校正的应用,动校正是将共中心点道集中炮检距不同的各道上来自同一界面同一点的反射波到达时ti校正为共中心点处回声时间的一种处理方法,动校正的目的是使各道反射波到达时相同,从而在叠加时实现同相叠加,得到反射波能量突出的叠加道。
正常时差公式: Δ
ti=ti-t0=sqrt(t0^2+xi^2/v^2)-t0
在上式中,t0=2h/v为共中心点处回声时间,即自激自收时间,xi为炮检距。 本次速度扫描的程序就是基于动校正原理进行编写。
2.2 建立模型的步骤
Ⅰ.先进行问题分析,明确问题
本文的问题是实现地震勘探中速度扫描这一速度分析方法,并能成功利用编写出的程序对原始的地震记录进行速度扫描并得出成果。 Ⅱ.建立模型,并利用matlab函数求解
本文的matlab程序包含三个部分,第一部分是给各个变量赋值,并导入地震记录数据;第二部分是计算过程,包含了一个三重循环语句,原理是动校正公式,即对上文给出的不同的V值进行动校正然后得出结果;第三部分是画图,这里调用了wigb画图函数,wigb是根据地震数据画出二维剖面图的一个地震处理专用的作图程序。