Mathematica教程PDF
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
绪论
0.1 符号计算系统简介
# 数值计算与符号计算
1946 年世界上第一台计算机ENIAC (The Electronic Numerical Integrator and Computer) 是为数值积分服务的。
一提起计算机求解人们立刻想到的是数值求解,这是因为计算机的早期应用范围主要是数值求解。其实数值求解是计算机求解的一个方面,计算机进行计算的另一方面即对数学表示式的处理已形成一门新的科学分支,称为符号计算或计算机代数,它是一门研究使用计算机进行数学公式推导的理论和方法,演算数学公式的理论和算法是它研究的中心课题。
数值计算:
常量、变量、函数、运算符--〉数值、字符、逻辑量
表达式€一个值多€一
近似计算
例:计算y=sin10+ln10。其结果是1.75856。在高级语言中,算术表达式由常
量、变量、函数和运算符等组成,算术表达式的
值为某一精度范围内的数值。计算各类表达式的值是高级语言的主要工作。
符号计算(计算机代数):
常量、变量值、函数值--〉数值、字符、逻辑量
表达式€表达式多€多
准确计算
x 2 sin xdx =-(-2 + x 2 )cos x + 2 x sin x
与数值计算相比,符号计算对计算机硬件和软件提出了更高的要求。
# 符号计算系统
符号计算系统是一个表示数学知识和数学工具的系统,
一个集成化的计算机数学软件系统。
# 数值计算、
# 符号计算、
# 图形演示
# 程序设计
公式推导、数值计算和图形可视化操作一致性和连贯性。符号计算系统的对象从初等数学到高等数学,几乎涉及所有数学学科。包括各种数
学表达式的化简、多项式的四则运算、求最大公因式、因式分解(factor)、常微分方程和偏微分方程的解函数。各种特殊函数的推导、函数的级数展开、矩阵和行列式的各种运算和线性方程组的符号解等。
和数值计算一样,算法也是符号计算的核心。就算法而言,符号计算比数值计算能继承更多的更丰富的数学遗产,古典数学家许多算法仍然是核心算法的成员,近代数学
的算法成果也在不断地充实到符号计算中。
符号计算已成功地应用于几乎所有的科学技术和工程领域,其中包括数学理论领域。由于它和数值计算一样,能够正确地完成人在短时间内无法完成的公式推导计算,使得不少研究领域的前沿向前推移。
# 符号计算的应用
•验证公式的工具
在十九世纪,法国文学家Charles Delaunay 计算月亮的位置作为时间函数。从1847 年到1867 年用了20 年的时间,完成并发表了长达数百页的计算方面的文章,推导了近四万个公式。到1970 年MIT 的一个研究小组以Drprit 为首用符号计算软件对于Delaunay 的计算公式进行复算,只用了20 小时的CPU 便完成了。复算表明原先的计算只有3 个错误,其中一个错误是某项的系数是3 而不是2,另外两个错误是由此而引起的。这是一个很有代表性的例子。
例如:一个七个自由度行走的机器人,从运动方程求解加速度时,包括大量的多维转换公式推导,可以有上百项,甚至上千项。这时只能用符号计算系统才能迅速、准确的求解,在推导有限元的刚度矩阵中,在计算行列式展开和合并中,都可以用任何一个符号计算系统来完成公式演算。
用符号计算系统进行公式推导,简单、正确和快速。它帮助科研人员摆脱了理论推导中繁琐的一面,将精力更多的放在创造性的思维中。
•理论研究中的实验方法
在物理、化学和生物学等许多自然科学领域中,实验是科学研究的一个手段。符号计算系统的出现为数学领域和一些理论研究领域提供了“实验”工具。部分高校的“数学实验室”应运而生。数学的创造大多来自直觉,用符号计算系统对设想的定理结论直接验证,将待研究的方程绘出图形以观察变化趋势,会给科研人员带来不同程度的灵感和启发,甚至会得到意想不到的收获。再将结果进行理论深化并加以严格证明。如今数学实验已被一些数学工作者所接受。数学实验课程已列入国家教委21 世纪教学改革的重点课程之一。
# 符号计算系统软件简介
符号计算已有几十个软件系统,一般有专用系统和通用系统两类。通用符号计算系统都具有数值计算、符号计算和图形功能。都有适合于从工作站到微机使用的多种版本。符号计算语言是这种算法在计算机上的工具。符号计算系统由符号计算语言和若干软件包组成。目前,典型的通用符号计算系统有:(按字母顺序排列)
Axiom Macsyma Maple Mathematica
Reduce Derive
符号计算系统通常都有两种运行方式:一种是交互式,每发一个命令,就执行一种相应的数学计算。
另一种方式是写一段程序,执行一系列的命令,就想用Fortran 或C 写程序一样。每个符号计算系统都有自己的程序设计语言,这些语言与通用的高级语言大同小异。请看C 语言和Mathematica 中的几个语句形式:
C 语言Mathematica
if(表达式)语句1 else 语句2 If [表达式,语句1, 语句2] while (表达式)语句While [表达式,语句] for (初值;终值条件;增量)语句For [初值,终值条件,增量,语句] 1.2Mathematica 简介
Mathematica 是美国Wolfram 研究公司开发的符号计算系统。1988 年发布Mathematica 系统的1.0 版,因系统精致的结构和强大的计算能力而广为流传,经不断扩充和修改后,在1991 年和1997 年推出了功能更加充实和完善的Mathematica 2.0 版和Mathematica 3.0 版,在1999 年推出了Mathematica 4.0 版。
Mathematica 是最大的单应用程序之一,它内容丰富功能强大的函数覆盖了初等数学、微积分和线性代数等众多的数学领域,它包含了数学多方向的新方法和新技术;它包含的近百个作图函数是数据可视化的最好工具;它的编辑功能完备的工作平台Notebooks 已成为许多报告和论文的通用标准;在给用户最大自由限度的集成环境和优良的系统开放性前题下,吸引了各领域和各行各业的用户。
现在Mathematica 在世界上拥有超过一百万的用户,已在工程领域、计算机科学、生物医学、金融和经济、数学、物理、化学和社会科学等范围得到应用。尤其在科研院所和高等院校流行。
目前,至少有14 种语言写成的200 多册书籍和几种专门介绍Mathematica 的期刊。在英国和日本都有大学将Mathematica 作为理工科学生入校必修的计算机课程之一。它也是“数学模型”和“数学实验”课程最好的工具之一。世界各地的大学和高等教育工作者已开发基于Mathematica 的多门课程。
Mathematica 是用C 语言编写的,Mathematica 1.2 版大约有150,000 行长。它吸取了不同类型的软件的特点。
·具有BASIC 语言的简单易学的交户式操作方式
·具有MathCAD, Matlab 那样强的数值计算功能
·具有Maccsyma,Maple,Reduce 和SMP 那样的符号计算功能
·具有APL 和LISP 那样的人工智能列表处理功能
·像C 与PASCAL 那样的结构化程序设计语言
# Mathematica 的开发者
Stephen Wolfram 是Mathematica 的创始人,并公认是当今科学计算的先驱。Wolfram 1959 年生于伦敦。他在Eton(伊顿公学),Oxford(牛津大学)和Caltech(加州理工学院)受教育。他在15 岁发表了第一篇科技论文,于1979 年20 岁时在加州理工学院获理论物理学博士学位。
从1973 年开始使用计算机,1981 年主持开发了第一个计算机代数系统SMP。
Wolfram 的研究范围包括了物理学、数学和计算机的许多领域。他早期的工作主要在能物理、量子场论和宇宙学方面。由于他在物理和计算方面的成绩,1981 年成为最年轻的麦克阿 (MacArthur)奖学金获奖者。Wolfram 所做的元细胞自动机(cellular automata) 的计算模型应用到数学和物理出现的复杂系统。Wolfram 关于元细胞自动机的工作已在