Mathematica基础 (2).ppt
数学四个分支与数学机械化,数学四大分支:分析学代数学几何学计算机数学,老三基,近代数学的三大基础课:数学分析斐礼文:数学分析中的典型问题与方法,高等教育出版社高等代数解析几何,新三基,泛函分析抽象代数微分几何陈省生(整体微分几何的奠基人)天衣岂无缝,匠心剪接成。浑然归一体,广邃妙绝伦。造化爱几何,四力纤维能。千古存心事,欧高黎嘉陈。,数学机械化,数学机械化的基本内容主要有两方面:一方面,将传统数学中可以算法化求解或求证的问题,利用计算机及数学软件完成或实现;另一方面,实现数学机械化首先要将问题转化为可算法化问题,,然后按照MAP思想,即Model(模型)+Algorithm(算法)+Program(程序),确定正确的具有操作性的算法,再选择适当的平台软件设计相应的计算机程序,也就是:问题数学问题算法程序计算机实现数学建模:Matlab在数学建模中的应用Matlab神经网络30个案例分析,Mathematica基础,教材:Mathematica在大学数学课程中的应用,丁大正 编著,数学软件,公共基础软件:BASIC,FORTRAN,C等 数学软件:为解决数学问题的专用系统,应具备的一般功能:数值计算符号计算绘制图形编程功能,著名的数学软件 MathCAD,Matlab,Mathematica,Maple,LINDO、SPSS、SAS、IDL,由美国Mathsoft公司开发 早期的DOS下的1.0版本(1986)Windows下的4.0版本 14.0版本(PTC)Win9X/NT下的7.0 采用WYSWYG界面 功能:集文本编辑、数学计算、程序编辑和仿真于一体,1、MathCAD,常用的有 MathCAD 7.0 及 MathCAD 2000,70年代:Matrix Lab.用来提供Linpack和Eispack软件包的接口程序。用Fortran编写。80年代:3.0版本(DOS)1984年:成立Mathworks公司 2008年:7.6版本(Windows)2009年:2009a,2009b(Win,Unix),2、MatLAB,Cleve Moler,由主程序和各种工具包组成主程序包:数百个内部核心函数工具包:复杂系统仿真、信号处理工具包、系统识别工具包、优化工具包、神经网络工具包、控制系统工具包、分析和综合工具包、样条工具包、符号数学工具包、图像处理工具包、统计工具包,数值计算的先锋,以矩阵作为基本数据单位,数值计算不能完全依赖于Matlab!,通用数学软件,耗费系统资源较大使用Java内核,速度比较慢Matlab不适合大计算量大规模的数值计算,大计算量的数值计算最佳选择为Fortran(77、90、95)和C语言,LAPACK、BLAS程序包是好帮手,Waterloo大学开发(1980,1988商业化)功能强大*数值处理、符号计算、提供了2000余种数学函数,内置的编程语言 MathCAD和MatLAB等软件的符号处理的核心,3.Maple,最新版 Maple 12(2008年5月),4、Mathematica,由Wolfram Research公司开发用C语言开发,可移植到各种平台上 功能强大*数值处理、符号计算、图形功能 1988年 Mathematica 1.0版 标志着现代科技计算的开始2008年 Mathematica 6.03版2009年Mathematica 7.01版,1959年出生于伦敦 15岁 发表首篇粒子物理方面的论文;17岁,论文发到了Nuclear Physics 20岁 Caltech 理论物理Ph.D 22岁 最年轻的MacArthur Genius Fellowship 研究领域:高能物理、量子场论、宇宙学,Stephen Wolfram,1981年 复杂性的起源 1986年 Univ.Illinois的物理学、数学和计算机科学教授 创立 Wolfram Research,Inc 1988年6月23日 发布数学软件Mathematica,Stephen Wolfram,Weinberg说他学会使用Mathematica软件的那一天是个快乐的日子,它们属通用数学软件,但各有千秋,各有专长Matlab:数值计算和仿真,接口全,使用方便Scilab:类似于Matlab,免费,开源Mathematica:精确的数值和符号运算Maple与Mathematica 类似,可以同时使用,选用何种数学软件?,Mathematica、Maple与Matlab侧重点非常不同,前两者更在抽象的符号运算上更加强大,后者在数值计算上更具有优势,三者接口都很方便。对于计算量很小的简单数值计算,三者皆可。,价格上Matlab最贵,Maple最便宜,Maple使用Java内核,速度相对较慢,免费包很多。Mathematica速度相对较快,商用包较多,第一章 Mathematica基础,窗口操作指令,执行指令的方法:Shift+Enter执行部分指令的方法:Ctrl+Shift+Enter终止指令进行的方法:alt+.注释符号:(*时间到*),数的表示与计算,Mathematica是通过符号运算得出计算结果,所以如果不声明,则计算结果是准确的数学表达式,而不是近似的数字。Mathematica的“计算精度是任意的”。,In1:=1/7out1=1/7,In2:=N1/7out2=0.142857,In3:=N1/7,20out3=,N表达式 or 表达式/N 表达式的6位数字近似值N表达式,n 表达式的n位数字近似值,近似数的精度控制函数N,输入小数自动进入数值计算模式,不是无限精度!,常用常数符号,常数每个单词都以大写字母开头Pi 或圆周率E 自然对数的底Degree或o角度,360o=2Infinity或无穷ComplexInfinity 复无穷大GoldenRatio黄金分割率,变量,1.变量命名规则Mathematica中的变量名必须以字母开头的、由字母或数字组成的字符串,不能含有空格或标点符号,大写与小写字母表示不同的变量。例如:x,a1,b12,Tc都是合法的变量;2a是不合法的变量;a1与A1代表不同的变量。,变量查找,;不显示运算结果,分开一行中的多个命令?变量名显示变量信息?变量名 显示更详细的信息,变量赋值,一个变量可以表示各种类型的数或字符串,也可以表示一个算式。与C语言不同,不必事先声明变量的类型,Mathematica会根据用户给变量所赋的值自动处理。使用等号给变量赋值,具体格式如下:x=Value 给x赋值;x=y=Value 同时给x,y赋值;x,y,=Value1,Value2,同时给x,y,z,赋值。,变量赋值命令举例,变量赋值命令举例,x=.清除x的值但保留变量xClearx 清除x的值但保留变量xRemovex 将变量x清除Clear“Global*”清除所有变量的值Remove“Global*”清除所有变量,变量清除,变量清除命令举例,%的作用,%:表示前一个输出的内容%:表示倒数第2个输出的内容%n:表示第n个输出的内容,%作用举例,函数,命名规则函数名首字母都要大写,后面字母小写参数用方括号括起来,不能用圆括号例如:Sinx,常见函数举例,常用内置函数,Sqrtxx的算术平方根Absxx的绝对值Signxx的符号1,-1,0Factorialn或n!n的阶乘Modn,m整数n除以m的余数Roundxx最近的整数Floorx不大于x的最大整数,Logb,x 以b为底的对数Expx指数 Sinx,Cosx,三角函数 ArcSinx,ArcCosx,反三角函数 Sinhx,Coshx,双曲三角函数 ArcSinhx,ArcCoshx,反双曲三角函数,常用内置函数,丰富的特殊函数,LegendreP,SphericalHarmonicYGammaBesselJ,几乎所有常用的特殊函数ClebschGordan,ThreeJSymbol,SixJSymbol,PauliMatrix,数据结构表,表是存储多个数、变量或算式等对象的一种数据结构一个表用一对花括号表示它的成员(元素)在括号内用逗号隔开,同一个表的成员可以有不同的数据类型,表的成员还可以是一个表(子表),表 举例,tn或Partt,n 表示表t的第n个元素t-n或Partt,-n 表示表t的倒数第n个元素tn1,n2,或Partt,n1,n2,表示表t的第n1,n2,个元素ti,j或Partt,i,j表示表t的第i个子表的第j个元素Lengtht 表示表t的元素个数,表的元素的操作,表的元素操作命令举例,表的操作,Joint1,t2 将表t1,t2连接成一个表Uniont1,t2 取表t1,t2的并集组成一个表Intersectiont1,t2 取表t1,t2的交集组成一个表。,表的操作命令举例,