数学及编程软件一、数学软件及其分类1、数学软件:所有的能用于解决数学问题的软件皆可称为数学软件。因此,数学软件是一个软件集合,不是单指某个软件。2、数学软件分类:数学软件从功能上分类可分为通用数学软件包和专业数学软件包。通用数学软件包:功能比较完备,包括各种数学、数值计算、丰富的数学函数、特殊函数、绘图函数、用户图形届面交互功能,与其他软件和语言的接口及庞大的外挂函数库机制(工具箱toolbox)。常见通用数学软件包有Matlab、Mathematica和Maple,其中Matlab以数值计算见长,Mathematica和Maple以符号运算、公式推导见长。专用数学软件包有:(1)绘图类软件如MathCAD,Tecplot,IDL,Surfer,Origin,SmartDraw,DSP2000;(2)数值计算类软件如Matcom,IDL,DataFit,S-Spline,Lindo,Lingo,O-Matrix,Scilab,Octave,linpack/lapack/BLAS/GERMS/IMSL/CXML);(3)有限元计算类如ANSYS,MARC,PARSTRAN,FLUENT,FEMLAB,FlexPDE,Algor,COSMOS,ABAQUS,ADINA;(4)计算化学类如Gaussian98,Spartan,ADF2000,ChemOffice;(5)数理统计类如GAUSS,SPSS,SAS,Splus,statistica,minitab;(6)数学公式排版类如MathType,MikTeX,ScientificWorkplace,ScientificNootbook;比较笼统分类,很多软件的功能有交叉二、数学软件四大家目前在科技和工程界比较流行和著名的数学软件主要有Maple、MATLAB、MathCAD和Mathematica四个,被称为数学软件四大家。它们在各自针对的目标上各具特色。1、MapleV系统Maple是加拿大滑铁卢大学(UniversityofWaterloo)和WaterlooMapleSoftware公司注册的一套为微积分、线性代数和微分方程等高等数学使用的软件包。是当今世界上最优秀的几个数学软件之一,它以良好的Map使用环境、无以伦比的符号计算、高精度的数值计算、灵活的图形显示和高效的编程功能,为越来越多的师生和科研人员所喜爱。其符号计算能力还是MathCAD和MATLAB等软件的符号处理的核心。Maple提供了2000余种数学函数,涉及普通数学、高等数学、线性代数、数论、离散数学、图形学。还提供了一套内置编程语言,用户可开发自己的应用程序,且Maple自身的2000多种函数,基本上是用此语言开发的。Maple采用字符行输入方式,输入时需要按照规定的格式输入,虽然与一般常见的数学格式不同,但灵活方便,也很容易理解。输出则可选择字符方式和图形方式,产生的图形结果可方便地剪贴到Windows应用程序内。Maple适用于解决微积分、解析几何、线性代数、微分方程、计算方法、概率统计等数学分支中的常见计算问题。2、MathCAD系统MathCAD是美国Mathsoft公司1986年推出的集文本编辑、数学计算、程序编辑和仿真于一体的一个交互式数学系统软件。从早期的DOS下1.0和Windows下4.0版,到1999年的8.0版MathCAD8,其主要特点是输入格式与人们习惯数学书写格式很近似,采用所见所得界面,适合无须复杂编程或要求比较特殊的计算。还带有一个程序编辑器,在比较短小计算速度要求较低时常采用它。其程序编辑器的优点是语法特别简单。功能也从简单的数值计算,直至引用Maple强大的符号计算能力,使得它发生了一个质的飞跃。但Mathcad在对待数值计算、符号分析、文字处理、图形能力的开发上,不以专业水准为追求,而尽力集各种功能为一体。需讲究精度、速度、算法稳定性的数值计算问题和需经复杂推理的符号运算问题,都不是Mathcad所致力解决的目标。在输入一个数学公式、方程组、矩阵之后,计算机能直接给出结果,而无须去考虑中间计算过程。令人激动的是在加入软件包自带的Maple插件后能直接支持符号运算,可以在计算机上输入数学公式、符号和等式等,很容易地算出代数、积分、三角以及很多科技领域中的复杂表达式的值,并可显示数学表格和图形,通过对图形结果的分析,使我们对问题的理解更加形象。MathCAD可看作一个功能强大的计算器,没有很复杂的规则。它可和Word、Lotus、WPS2000等字处理软件很好配合使用,而把它当作一个出色的全屏幕数学公式编辑器。3、Mathematica系统Mathematica是由美国物理学家StephenWolfram领导的WolframResearch开发的数学系统软件,拥有强大的数值和符号计算能力,在这方面与Maple类似,但不是基于Maple的,而是自己开发的。Mathematica基本系统主要是用C语言开发的,因而可容易地移植到各种平台上。它是一个交互式计算系统,在用户和Mathematica互相交换、传递信息数据的过程中完成的。Mathematica系统所接受的命令都被称作表达式,系统在接受一个表达式后就对它进行处理,然后再把计算结果返回。Mathematica对于输入形式有比较严格规定,用户必须按照系统规定数学格式输入,系统才能正确处理,不过由于3.0版本引入输入面板,并且可修改、重组输入面板,因此以前版本输入指令时需要不断切换大小写字符的繁琐方式得到很好改善。可以用各种格式保存文件和剪贴内容,包括RTF、HTML、BMP等格式。它是目前比较流行的符号运算软件之一,它不仅可以完成微积分、线性代数及数学各个分支公式推演中的符号演算,而且可以数值求解非线性方程、优化等问题。它不仅是数学建模的得力助手,也是大学数学教育和科学研究不可或缺的工具。4、MATLAB系统MATLAB是英文MatrixLaboratory(矩阵实验室)的缩写,最早由C.Moler在70年代用Fortran语言编写,从80年代3.0DOS版,现在已更新至7.x版,所提供的工具箱覆盖信号处理、系统控制、统计计算、优化计算、神经网络、小波分析、偏微分方程、模糊逻辑、动态系统模拟和符号运算等领域,成为科技计算、视图交互系统和程序语言。并可运行在Windows9X/NT、OS/2、Sun、Unix、Linux等十几个操作平台。MATLAB程序主要由主程序和各工具包组成,其主程序含数百个内部核心函数,工具包则包括复杂系统仿真、信号处理、系统识别、优化、神经网络、控制系统、样条、符号数学、图像处理、统计等工具包。5.x版本还包含一套PDF文件,从MATLAB使用入门到专题应用均有详细介绍。它是数值计算先锋,以矩阵为基本数据单位,在应用线性代数、数理统计、自动控制、数字信号处理、动态系统仿真方面已成为首选工具,是科研人员和师生进行科学研究的得力工具。它在输入方面也很方便,可使用内部Editor或者其他任何字符处理器,同时Word还可与其结合而直接调用大部分功能,使Word具有特殊的计算能力。我们常选择Matlab系统:1、Matlab功能强大。它几乎能解决一切数学问题,其它软件能作的工作它几乎都能作。2、Matlab操作简单。许多指令及其语法都与自然语言具有一定相关性,因而易学易记。3、Matlab普及面广。目前在欧美各国,MATLAB的使用十分普及。在大学的数学、工程和科学系科,它被用作许多课程辅助教学手段;在科研机构和工业界,更是高质量新产品研究、开发和分析的主要工具之一。我国近几年也开始重视该系统并被一些有条件的高校引入了课堂。Matlab的学习方法•1)必须做大量的上机练习,熟悉有关函数、命令及其语法格式;•2)认真体会实例并多看帮助文件,它是一本很好的参考书•3)多思考,多参与讨论以寻求大家帮助。三、编程•1、Matlab•2、Fortrain•3、c/c++•下载一些源码分析、运行、应用。及构建程序库。