| « | November 2025 | » | | 日 | 一 | 二 | 三 | 四 | 五 | 六 | | | | | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | | | | | | | |
| 公告 |
| 暂无公告... |
| Blog信息 |
|
blog名称: 日志总数:21 评论数量:30 留言数量:0 访问次数:68245 建立时间:2006年6月1日 |

| |
|
[faviourty]物探化探计算技术 读书笔记
hackxboy1985 发表于 2006/11/22 10:49:06 |
|
500)this.width=500'>
物探化探计算技术COMPUTING TECHNIQUES FOR GEOPHYSICAL AND GEOCHEMICAL EXPLORATION1999年 第21卷 第3期 Vol.21 No.3 1999
500)this.width=500'>
符号演算系统及相关软件
边少锋
【摘 要】 Mathematica、Matlab等软件是国外较流行的一种符号计算系统。本文简要介绍了国外以 Mathematica为主的几种符号演算系统,最后结合实例介绍了 Mathematica在物探计算技术和解释中的潜在应用。【关键词】 符号演算系统 Mathematica Maple【中图法分类号】 TP311.138 :P631
SYMBOLIC COMPUTATION SYSTEM AND ITS RELATED SOFTWARES
Bian Shaofeng (Institute of Geodesy and Geophysics, Chinese Academy of Sciences)
Abstract The software of Mathematica is one of the most popular symbolic computation systems. This paper makes a brief introduction to Mathematica as well as its development and main functions. Some numerical examples combining with formulations in geophysical exploration are attached to the paper.Key words forwording, inversin, symbolic computation systom, Mathematica, Maple
受早期计算机运算能力的限制,绝大多数软件侧重于数值计算。数值计算是由常量、变量、函数值到某一个数值的转换,是多个数值到一个数值的过程(多个时可逐个实现),规律性强、机械程式多,不外乎几条简单的四则运算法则。而符号计算过程(或代数分析过程)是一个从常量、变量、函数关系到另一个常量、变量、函数关系的复杂智能性过程,其间需要的决策和分析判断错综复杂。以有理分式的分解化简为例,它涉及到因式分解、部分分式展开、变量替换等等。积分过程更是一个复杂的创造性思维过程,如函数是否可积?如可积又属何种类型? 长期以来理论研究工作者在进行创造性思维时,面临着大量繁杂的数学推演过程,所以人们尤其是理论研究人员都期待着能有符号演算系统出现,用它去解决复杂公式的推演,让人从其中解放出来。 随着当代计算机性能水平的发展,这样的期望目前已经不是梦想了,至少一部分已经是现实,除80年代后期出现的Mathematica外,尚有Maple、Mathcad以及后起的Matlab。 Mathematica是由美国物理学家Stephen Wolfram开发的,它拥有从多项式运算到微积分、特殊函数等丰富的功能,能支持相当复杂的符号运算、符号数值运算和可视化输出。目前Mathematica已发展成为一个庞大的家族,有兴趣的读者可访问Wolfram公司网址:http:∥www.wolfram.com。 Maple是由加拿大Waterloo大学发展的一种数学软件,它提供二千余种数学函数,涉及基本代数学、几何学、数论、有理函数、微积分、线性代数、微分方程、群论等领域[2],它具有很强的符号演算能力,已使Maple在国际通用数学软件的激烈竞争中占据领先地位,并且Matlab在扩展其符号运算能力时也借助了Maple的内部编程。 Mathcad也是80年代出现得较早的一个交互式数学符号软件,其开发商是Mathsoft公司。该软件的市场定位是向广大教师、学生、工程人员提供一个兼备文字、数学和图形处理能力的集成工作环境,以使他们能更方便地准备自然科学教案、完成自然科学方面的作业和准备科学分析报告。 Matlab是由美国Mathworks于1984年发展的,历经十几年的发展和竞争已成为国际公认的最优秀的科技应用软件,它的数值计算能力特别强大,但在1993年4.0版以后的版本中,购得了对Maple的使用权,发展了符号演算功能。 Mathematica分有文本式输入和数学形式输入两种。文本式输入比较方便,但与传统的数学表现形式有一定差别;数学形式输入与传统的数学公式形式一致,且较直观,但输入需在键盘与鼠标之间频繁切换,速度略慢。本文举例使用的是文本式形式。但不论用何种形式,其输出均与传统的数学公式表现形式一致。 在用Mathematica解有关问题时,首先要根据问题的特点,建立有关的数学模型,然后才能再根据有关要求在该符号系统下求解。下面以重力勘探正演为例,具体说明用法。 例1:垂直台阶异常积分。设台阶沿x轴正方向及y轴均无限延伸,台阶顶面与底面深度分别为h和H,剩余密度为σ,则由二度体积分公式可得台阶在x轴处产生的重力异常为
500)this.width=500'>
式中G为牛顿引力常数。解:用Mathematica计算上述重积分可得
500)this.width=500'>500)this.width=500'>
经与文献[4,5]对比上述结果正确(当考虑d>0,D>0,sign[d]>0,sign[D]>0时),类似的物探解释中,其它积分也可在Mathematica下进行推导。 例2:求上例x→∞的积根
解:500)this.width=500'>
500)this.width=500'>由于Sign[d]>0,sign[D]>0故该例与文献(4,5)一致,其它物探计算亦可仿此求出。 例3:假定Gσ=1个单位,d=10m,D=20m,用Mathematica绘Δg(x)随x的变化曲线图如图1所示。 解:用Plot绘图命令并选择一定参数有
500)this.width=500'>Out[3]=.Graphics. 例4:求例1Δg(x)的一阶导数并化简 解:用Dt微分求导和Simplity化简命令有
500)this.width=500'>500)this.width=500'>
500)this.width=500'>
图1 垂直台阶重力异常变化示意图
In[5]:=simplify[%] (%表示上一次运算结果)Out[5]=-Gσ(Log[d2+x2]-Log[D2+x2])物探计算中的各种高阶导数亦可仿此求出。 例5:求500)this.width=500'>在x=0点展至5次项的Taylor级数。 解:In[6]:=Series[Log[(1+x)/(1-x)],{x,0,5}]500)this.width=500'>物探计算中的各种一阶近似或二阶近似以及高阶近似,都可用Series命令给出。 例6:求剩余密度为σ,半径为R,上顶部以及下底部的深度分别为h和H的铅垂圆柱的重力异常[4]。 解:可取坐标原点在圆柱轴线与水平地面的交点处,在x轴上重力异常可表示为
500)this.width=500'>
该式为椭圆积分,无解析表示。传统的方法是绘成列线图进行查表计算。利用Mathematica下的数值积分NIntegrate和绘图命令Plot组合,可以很容易地解决这一问题。取σ=lg/cm3,R=100m,h=100m,H=300m,可绘其列线图(如图2)。In[7]:=Plot[6.67*10^-2*NIntegrate[z*r/(x*x+r*r-2*x*r*Cos[α]+z*z)^(3/2),{α,0,2Pi},{r,0,100},{z,100,300}],{x,0,200},Frame→True,GridLines→Automatic]
500)this.width=500'>
图2 铅垂圆柱体重力异常变化示意图
Out[7]=.Graphics.该积分为一三重积分,如用C语言、Fortran等编程可能复杂得很,而在Mathematica下却只是一个命令。由此例可看出Mathematica解决复杂数学问题的能力。物探计算中许多积分无解析解,但用Mathematica可以很容易地作出其变化曲线或曲面图,了解其变化规律。 例7:绘制物体异常断面图。以球体为例 Δg(x,z)=GMx/[x2+y2+z2]3/2解:该例详见文献[5],为方便不妨假定GM=1,令y=0,绘制Δg在0—xz面的等高线,即为其断面图,如图3、图4所示。在Mathematica下用Contour Plot可得In[8]:=ContourPlot[z/(y*y+z*z)^(3/2),{y,-15,15},{z,0,30}]Out[8]=.ContourGraphics.如不需要灰度值,则为:In[9]:=Show[%,ContourShading→False]Out[9]=.ContourGraphics.
500)this.width=500'>
图3 带灰度的球体重力异常断面等值线图
500)this.width=500'>
图4 球体重力异常断面等值线图
从以上例子可以看出,用Mathematica符号计算系统(以及其它符号计算系统)对物探计算中一些量进行推导、积分、求导、化简、作图、数值积分、拟合、Fourier变换均非常方便,从而为研究工作者从事课题研究、科技论文写作、课题汇报等提供了一个高效的基础工作平台。 另外,如果将物探正反演计算中的一些基本公式、图表、参数在Mathematica下进行编程和集成,形成一个活的、电子性的、可视性强的“物探计算解释系统”,则更有潜在的应用价值。物探中的磁法勘探,其理论推演比重力更复杂,Mathematica符号计算系统的应用就显得更为必要和紧迫。 本文是作者在中科院测地所开放实验室所作的部分成果之一,作者非常感谢该实验室的资助以及该所同行们的愉快合作。
作者简介:边少锋,男,38岁。现任郑州解放军测绘学院副教授和中科院测量与地球物理研究所高级访问学者,主要从事地球重力场及其相关地球物理解释等方面的研究。作者单位:中科院测量与地球物理研究所 武汉中科院测量与地球物理研究所(邮政编码:430077)
参考文献1 张韵华.Mathematica符号计算系统实用教程.合肥:中国科学技术出版社,19982 张志涌,刘瑞祯,杨祖樱.掌握和精通MATLAB.北京:北京航天航空大学出版社,19993 重力勘探资料解释手册编写组.重力勘探资料解释手册.北京:地质出版社,19834 罗孝宽,郭绍雍.应用地球物理教程重力磁法.北京:地质出版社,1991
收稿日期:1999-05-03 |
|
|