16kch1-数学计算软件简介.doc

上传人:鲁** 文档编号:548068130 上传时间:2024-02-09 格式:DOC 页数:52 大小:672KB
返回 下载 相关 举报
16kch1-数学计算软件简介.doc_第1页
第1页 / 共52页
16kch1-数学计算软件简介.doc_第2页
第2页 / 共52页
16kch1-数学计算软件简介.doc_第3页
第3页 / 共52页
16kch1-数学计算软件简介.doc_第4页
第4页 / 共52页
16kch1-数学计算软件简介.doc_第5页
第5页 / 共52页
点击查看更多>>
资源描述

《16kch1-数学计算软件简介.doc》由会员分享,可在线阅读,更多相关《16kch1-数学计算软件简介.doc(52页珍藏版)》请在金锄头文库上搜索。

1、第一章 数学计算软件简介1.1 引 言数学建模的一个关键步骤是模型的求解,不管是求取解析结果还是数值结果,往往都需要比较复杂的求解过程,在数学建模的过程中,我们常需要借助于计算机编程来计算模型的结果并实现计算结果的可视化,因此需要学习并掌握实现科学计算方法的计算平台。利用计算机进行数学计算包括两类:一类是纯数值的计算,例如求函数的值、方程的数值解、矩阵的特征值及科学计算中的浮点运算、数字计算等;另一类计算是符号的计算,即代数计算,这是一种更加智能化的计算,处理的是符号,这个符号可以代表整数、有理数、实数和复数,也可以代表多项式、函数和方程,运算的主要目的在于寻求数学问题的一个简单完美的公式解答

2、,如多项式的因式分解,函数的求导、求不定积分、定积分、公式化简等。计算机的发明极大地促进数值计算方法的发展,用计算机进行的科学计算主要是数值计算,如用计算机进行天气预报、石油勘探模拟、航天模拟等大规模的数值计算。科学计算的另一方面是符号计算,20世纪80年代以来,用计算机进行代数运算的研究在国外发展非常迅速,涉及的数学领域在不断地增加,出现了多种符号运算方法、计算程序和系统,这是一个以构造性数学为为核心,以计算机实现为目标,以问题的算法为研究内容,以实用程序、软件为成果的研究领域,文献上常把这个领域称为计算机数学或计算机代数系统。计算机代数系统的优越性主要在于它能够进行大规模的代数运算.通常我

3、们用笔和纸进行代数运算只能处理符号较少的算式,当算式的符号上升到百位数后,手工计算便成为可能而不可行的事,主要原因是在做大量符号运算时,我们很容易出错,并且缺乏足够的耐心.当算式的符号个数上升到四位数后,手工计算便成为不可能的事,这时用计算机代数系统进行运算就可以做到准确、快捷、有效。计算机数学的发展产生了一些独立的计算机程序库,一部分发展成为完整的专用或通用的计算机数学软件,如Matheatica, Matlab, Maple,Mathcad, Lindo, SPSS,SAS等。Mathematica是目前比较流行的符号运算软件之一,它不仅可以完成微积分、线性代数及数学各个分支公式推演中的符

4、号演算,而且可以数值求解非线性方程、非线性优化等问题。MATLAB是一个高性能的科技计算软件,广泛应用于数值计算、数学建模、系统仿真、数据分析处理及可视化、科学和工程绘图、应用系统开发, 包括建立用户界面。当前它的使用范围涵盖了工业、电子、医疗、建筑等各领域。 Maple是加拿大滑铁卢大学(University of Waterloo)和Waterloo Maple Software公司注册的一套为微积分、线性代数和微分方程等高等数学使用的软件包。它是当今世界上最优秀的几个数学软件之一,它以良好的使用环境、强有力的符号计算、高精度的数值计算、灵活的图形显示和高效的编程功能,为越来越多的教师、学

5、生和科研人员所喜爱,并成为他们进行数学处理的工具。Maple软件适用于解决微积分、解析几何、线性代数、微分方程、计算方法、概率统计等数学分支中的常见计算问题。 Mathcad是由MathSoft公司推出的一种交互式数值系统。该软件定位于向广大教师、学生、工程人员提供一个兼备文字处理、数学和图形能力的集成工作环境使他们能方便地准备教案、完成作业和准备科学分析报告。Mathcad在对待数值计算、符号分析、文字处理、图形能力的开发上,不以专业水准为追求,而尽力集各种功能为一体。需讲究精度、速度、算法稳定性的数值计算问题和需经复杂推理的符号运算问题,都不是Mathcad所致力解决的目标。在输入一个数学

6、公式、方程组、矩阵之后,计算机能直接给出结果,而无须去考虑中间计算过程。最令人激动的是在加入软件包自带的Maple插件后能直接支持符号运算。你可以在计算机上输入数学公式、符号和等式等,很容易地算出代数、积分、三角以及很多科技领域中的复杂表达式的值,并可显示数学表格和图形,通过对图形结果的分析,使我们对问题的理解更加形象。Mathcad的用户主要针对具备应用数学知识但并不要求具有较多的计算机知识的用户,如工程研究人员、学生等。LINDO是一种专门用于求解数学规划问题的软件包。由于LINDO执行速度快,易于方便地输入、求解和分析数学规划问题,因此在教学、科研和工业界得到广泛应用。 LINDO主要用

7、于求解线性规划、非线性规划、二次规划和整数规划等问题,也可以用于一些线性和非线性方程组的求解以及代数方程求根等。LINDO中包含了一种建模语言和许多常用的数学函数(包括大量概率函数),可供使用者建立数学规划问题模型时调用。SPSS(Statistical Package for the Social Science)社会科学用软件包是世界上著名的统计分析软件之一,它和SAS(Statistical Analysis System,统计分析系统)、BMDP(Biomedical Programs,生物医学程序)并称为国际上最有影响的三大统计软件。SPSS名为社会学统计软件包,这是为了强调其社会科

8、学应用的一面(因为社会科学研究中的许多现象都是随机的,要使用统计学和概率论的定理来进行研究),而实际上它在社会科学、自然科学的各个领域都能发挥巨大作用,并已经应用于经济学、生物学、教育学、心理学、医学以及体育、工业、农业、林业、商业和金融等各个领域。SAS (Statistical Analysis System)是一个模块化、集成化的大型应用软件系统。它由数十个专用模块构成,功能包括数据访问、数据储存及管理、应用开发、图形处理、数据分析、报告编制、运筹学方法、计量经济学与预测等等。SAS系统基本上可以分为四大部分:SAS数据库部分、SAS分析核心、SAS开发呈现工具、SAS对分布处理模式的支

9、持极其数据仓库设计。SAS系统主要完成以数据为中心的四大任务:数据访问、数据管理、数据呈现、数据分析。 尽管不同的数学软件之间有较大的差别,但也有一些共同的特点: 1.可以进行符号运算,数值计算和图形显示,这是通用数学软件包的三大基本功能.具有高效的可编程功能。 2.多数计算机代数系统都是交互式的,人们通过键盘输入命令,计算机计算后显示结果。好的系统都有Windows操作系统下的版本,人机界面友好,命令输入方便灵活,很容易寻求帮助.结果的输出有多种形式,好的数学软件都提供了人们习惯的数学符号表达形式。 3.各个系统都在不断地发展完善,不断地更新换代,更新的速度也在逐渐加快.数学软件在向着智能化

10、,自动化方向发展。数学软件的实质是数学方法及其算法在计算机上的实现,这些方法是千百年来无数数学家的工作与智慧的结晶。 4.参与软件开发和应用的人员的数量在不断增加,而且日趋国际化。随着Internet的普及,软件用户可以很方便地与软件开发者进行沟通,反映软件中存在的问题,也把新的应用情况和好的程序提供给软件的开发者.软件的开发不再只是软件开发者的事情,也是广大用户的事情。尽管计算机代数系统在代替人进行繁琐的符号运算上有着无比的优越性,但是,计算机毕竟是机器,它只能执行人们给它的指令,因此数学软件都有一定的局限性。首先,多数计算机代数系统对计算机硬件有较高的要求,在进行符号运算时,通常需要很大的

11、内存和较长的计算时间,而精确的代数运算以时间和空间为代价的。一些人工计算的简单问题,计算机代数系统却做不出来。用数学软件的第二个问题是计算结果往往很长,人们很难从结果中看到问题的要害。用计算机代数系统进行数值计算,虽然计算精度可以到任意位,但由于计算机代数系统是用软件本身浮点运算代替硬件算术运算,所以速度要比用Fortran语言算同样的问题慢百倍甚至千倍。另外,虽然计算机代数系统包含大量的数学知识,但这仅仅是数学的一小部分,目前有许多数学领域计算机代数系统还未能涉及。在本章中,我们简要介绍两个数学软件Mathematica和Matlab,其原因首先在于这两个软件比较容易入门,便于我们尽快地将软

12、件应用数学建模的计算;其次,这两个软件在国内比较流行,相应的参考书籍比较多,如果我们对它们有进一步学习的兴趣或想将它们应用于将来的学习和工作中,那么这个理由将是更为主要的。1.2 Mathematica简介2.1 Mathematica的基本语法特征 如果你是第一次使用Mathematica,那么以下几点请你一定牢牢记住: (1) Mathematica中大写小写是有区别的,如Name、name、NAME等是不同的变量名或函数名。(2) 系统所提供的功能大部分以系统函数的形式给出,内部函数一般写全称,而且一定是以大写英文字母开头,如Sinx,Conjugatez等。(3)乘法即可以用*,又可以

13、用空格表示,如2 32*36 ,x y,2 Sinx等;乘幂可以用“”表示,如x0.5,Tanxy。(4)自定义的变量可以取几乎任意的名称,长度不限,但不可以数字开头。当你赋予变量任何一个值,除非你明显地改变该值或使用Clear变量名或“变量名=.”取消该值为止,它将始终保持原值不变。(5)一定要注意四种括号的用法:( ) 圆括号表示项的结合顺序,如(x+(yx+1/(2x); 方括号表示函数,如Logx,BesselJx,1; 大括号表示“表”(一组数字、任意表达式、函数等的集合),如,2x,Sin12 Pi,1+A,y*x; 双方括号表示“表”或“表达式”的下标,如a2,3、1,2,31=

14、1。 (6)Mathematica的语句书写十分方便,一个语句可以分为多行写,同一行可以写多个语句(但要以分号间隔)。当语句以分号结束时,语句计算后不做输出(输出语句除外),否则将输出计算的结果。1数的表示及计算在Mathematica中你不必考虑数的精确度,因为除非你指定输出精度,Mathematica总会以绝对精确的形式输出结果。例如:你输入In1:=378/123系统会输出Out1:=126/41如果想得到近似解,则应输入In2:=N378/123,5即求其5位有效数字的数值解,系统会输出Out2:=3.073另外Mathematica还可以根据你前面使用的数字的精度自动地设定精度。Ma

15、thematica与众不同之处还在于它可以处理任意大、任意小及任意位精度的数值,如1007000,2(-2000)等数值可以很快地求出,但在其他语言或系统中这是不可想象的,你不妨试一试NPi,1000。 Mathematica还定义了一些系统常数,如上面提到的Pi(圆周率的精确值),还有E(自然对数的底数)、I(复数单位),Degree(角度一度,Pi/180),Infinity(无穷大)等,不要小看这些简单的符号,它们包含的信息远远大于我们所熟知的它们的近似值,它们的精度也是无限的。 2“表”及其用法 “表”是Mathematica中一个相当有用的数据类型,它即可以作为数组,又可以作为矩阵;除此以外,你可以把任意一组表达式用一个或一组括起来,进行运算、存储。可以说表是任意对象的一个集合。它可以动态地分配内存,可以方便地进行插入、删除、排序、翻转等等几乎所有可以想象到的操作。 如果你建立了一个表,你可以通过下表操作符(双方括号)来访问它的每一个元素,如我们定义table=2,Pi,Sinx,aaa,A*I为一个表,那么table1就为2,table2就是Pi,而table4,1表示嵌套在table中的子表aaa,A*I的第一个元素即aaa,table4,2表示aaa,A*I第二个元素即A*I。总之,表每一

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号