|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
6 ^5 m# a' z: i) m9 p; ~. ?$ N* M
数学软件四大家 ---Maple、MATLAB、MathCAD和Mathematica4 m; k/ R. U. w4 ^ q# T
. e; P0 q/ H1 @0 Q4 i! Y0 u
目前在科技和工程界上比较流行和著名的数学软件主要有四个,分别是Maple、MATLAB、MathCAD和Mathematica。它们在各自针对的目标都有不同的特色。8 u1 N1 S1 y' H
3 P( k3 U) K( U2 R; Q9 j 一、Maple V 系统
# E6 |: h! `& H1 I; Z7 f7 _( D7 p% q6 J* a/ _/ P
Maple V是由Waterloo大学开发的数学系统软件,它不但具有精确的数值处理功能,而且具有无以伦比的符号计算功能。Maple
: V4 z4 V7 O& P/ y: O R$ BV的符号计算能力还是MathCAD和MATLAB等软件的符号处理的核心。Maple提供了2000余种数学函数,涉及范围包括:普通数学、高等数学、线性代数、数论、离散数学、图形学。它还提供了一套内置的编程语言,用户可以开发自己的应用程序,而且Maple自身的2000多种函数,基本上是用此语言开发的。) H, U' | t- c2 T/ n+ k- X G7 s0 j+ g
- v, q$ p+ n/ ~3 M% `% m
Maple采用字符行输入方式,输入时需要按照规定的格式输入,虽然与一般常见的数学格式不同,但灵活方便,也很容易理解。输出则可以选择字符方式和图形方式,产生的图形结果可以很方便地剪贴到Windows应用程序内。6 f) ?/ k y2 E( z
# B, @- C- n5 W z: Y! O! s 二、MATLAB 系统6 ?4 U+ }2 f: c3 p. F
9 S: o b7 }; [2 f( \$ b
MATLAB原是矩阵实验室(Matrix% c' B- M, I7 E7 ]4 B
Laboratory)在70年代用来提供Linpack和Eispack软件包的接口程序,采用C语言编写。从80年代出现3.0的DOS版本,逐渐成为科技计算、视图交互系统和程序语言。MATLAB可以运行在十几个操作平台上,比较常见的有基于Windows+ j% G1 f& E- N
9X/NT、OS/2、Macintosh、Sun、Unix、Linux等平台的系统。" x6 |% Q L3 R0 f6 M6 P/ g
7 t" A3 R, ?% G8 M7 f$ O, w3 G
MATLAB程序主要由主程序和各种工具包组成,其中主程序包含数百个内部核心函数,工具包则包括复杂系统仿真、信号处理工具包、系统识别工具包、优化工具包、神经网络工具包、控制系统工具包、μ分析和综合工具包、样条工具包、符号数学工具包、图像处理工具包、统计工具包等。而且5.x版本还包含一套几十个的PDF文件,从MATLAB的使用入门到其他专题应用均有详细的介绍。
/ L+ W! W# W0 F' N5 {
7 ^9 K& P3 S4 t- z9 t) } MATLAB是数值计算的先锋,它以矩阵作为基本数据单位,在应用线性代数、数理统计、自动控制、数字信号处理、动态系统仿真方面已经成为首选工具,同时也是科研工作人员和大学生、研究生进行科学研究的得力工具。MATLAB在输入方面也很方便,可以使用内部的Editor或者其他任何字符处理器,同时它还可以与Word6.0/7.0结合在一起,在Word的页面里直接调用MATLAB的大部分功能,使Word具有特殊的计算能力。
. {/ E; g% l- S' F/ E
- d2 X3 @( L7 v1 G- W: h 三、MathCAD 系统
" M0 A2 C, l5 F. z0 b2 ?! ^2 ^# c/ s/ }! f* L5 ^0 S" h3 r$ n
MathCAD是美国Mathsoft公司推出的一个交互式的数学系统软件。从早期的DOS下的1.0和Windows下的4.0版本,到今日的8.0版本,功能也从简单的数值计算,直至引用Maple强大的符号计算能力,使得它发生了一个质的飞跃。
y# Q1 l% _- T/ w% x' e0 z+ M( W/ U5 K4 i/ p0 o, U
MathCAD是集文本编辑、数学计算、程序编辑和仿真于一体的软件。MathCAD7.0
- H) S% g3 C% }8 j( b. CProfessional(专业版)运行在Win9X/NT下,它的主要特点是输入格式与人们习惯的数学书写格式很近似,采用WYSWYG(所见所得)界面,特别适合一般无须进行复杂编程或要求比较特殊的计算。MathCAD+ `# B, t$ J( R/ t
7.0 Professional
" _3 t- }6 i# f+ `! Y5 D还带有一个程序编辑器,对于一般比较短小,或者要求计算速度比较低时,采用它也是可以的。这个程序编辑器的优点是语法特别简单。
7 K( a) z: D4 J, j) u8 M0 O S1 Z8 w2 v' { l- v7 e
MathCAD可以看作是一个功能强大的计算器,没有很复杂的规则;同时它也可以和Word、Lotus、WPS2000等字处理软件很好地配合使用,可以把它当作一个出色的全屏幕数学公式编辑器。$ a- E. i# _* S
: V. P* Y; u0 V0 ~( ]3 B0 U% ?+ c$ M1 W 四、Mathematica 系统
: i- ]! T$ b6 R% W* M: C' e( I; {
6 w& |! r6 `, l9 v Mathematica是由美国物理学家Stephen Wolfram领导的Wolfram
+ F5 H6 q" K7 Q- c9 `2 sResearch开发的数学系统软件。它拥有强大的数值计算和符号计算能力,在这一方面与Maple类似,但它的符号计算不是基于Maple上的,而是自己开发的。" o8 x1 x6 _3 N9 N2 Z
9 B ^( H; D. i4 R5 b' ^( e, S. b2 P
Mathematica的基本系统主要是用C语言开发的,因而可以比较容易地移植到各种平台上,Mathematica是一个交互式的计算系统,计算是在用户和Mathematica互相交换、传递信息数据的过程中完成的。Mathematica系统所接受的命令都被称作表达式,系统在接受了一个表达式之后就对它进行处理,然后再把计算结果返回。Mathematica对于输入形式有比较严格的规定,用户必须按照系统规定的数学格式输入,系统才能正确地处理,不过由于3.0版本引入输入面板,并且可以修改、重组输入面板,因此以前版本输入指令时需要不断切换大小写字符的繁琐方式得到很好的改善。3.0版本可以用各种格式保存文件和剪贴内容,包括RTF、HTML、BMP等格式。' ]! t* H7 U5 D
' Y* S: F% g/ O4 W8 ]* m- G! Y: R
五、四种软件的比较& \, T4 C, o, }6 g
* r; Y4 X: j! E( v' O
选用何种数学软件?如果仅仅是要求一般的计算或者是普通用户日常使用,首选的是MathCAD,它在高等数学方面所具有的能力,足够一般客户的要求,而且它的输入界面也特别友好。如果要求计算精度、符号计算和编程方面的话,最好同时使用Maple和Mathematica,它们在符号处理方面各具特色,有些Maple不能处理的,Mathematica却能处理,诸如某些积分、求极限等方面,这些都是比较特殊的。如果要求进行矩阵方面或图形方面的处理,则选择MATLAB,它的矩阵计算和图形处理方面则是它的强项,同时利用MATLAB的NoteBook功能,结合Word6.0/7.0的编辑功能,可以很方便地处理科技文章。
" e( R/ E2 f2 |( `3 ] o
; C, W4 q b9 T" a7 zmathematica 值得信赖,国外很多著名的大学都在用它作解析计算和公式的推导,证明,算法的研究,; D* g" J1 N- c0 M% Y- n
非常好的数学研究软件,我个人认为是No.1。它的数学分析可视化无与伦比。综合性能和另一个著名的软件Maple相比,又过之而无不及,要知道世界上绝大部分的量子物理,天体物理论文中的公式推导都由它完成。绝对高端但又易用,是数学,力学,物理研究人员的好帮手,甚至它的数值计算也完全可以应付学术研究。mathematica* E% T1 [: y. w! {- z+ A
和 Maple 的最新版本在用户公式的输入上都有很大改进,更加方便,随意。
1 ^, i8 B% M/ O4 x5 x T
f. ]. l/ @! r0 l: Q0 }! ^) e: P3 ~# F3 G/ f7 u& V6 M0 D
北美不少Top大学的弹性力学,板壳理论,有限元等数学力学理论课的作业和Project都要求用它来完成。 我个人认为,( O; K, y$ `# g9 W8 u
作为计算力学的工作者,从掌握语言的角度来讲,% ~" z! A x2 _ x( O# }+ u
只要掌握3种计算语言足够了,mathematica用来作解析法和数学模型的研究,Matlab用来实现数值算法(当然仍然可以还用mathematica),: h: `, |" ]* ]% W2 V, @
Fortran用来写可执行源代码。没必要把自己陷入众多的语言和计算软件之中,没有意义的。; N$ Q1 ~' P6 g1 Y
, t' u: m1 H! f( v } r* ^+ B1 b. G |
|