1、Mathematica教程 Mathematica简明教程 第1章Mathematica概述 1.1 运行和启动:介绍如何启动Mathematica软件,如何输入并运行命令 1.2 表达式的输入:介绍如何使用表达式 1.3 帮助的使用:如何在mathematica中寻求帮助 第2章Mathematica的根本量 2.1 数据类型和常量:mathematica中的数据类型和根本常量 2.2 变量:变量的定义,变量的替换,变量的去除等 2.3 函数:函数的概念,系统函数,自定义函数的方法 2.4 表:表的创立,表元素的操作,表的应用 2.5 表达式:表达式的操作 2.6 常用符号:经常使用的一些符
2、号的意义 第3章Mathematica的根本运算 3.1 多项式运算:多项的四那么运算,多项式的化简等 3.2 方程求解:求解一般方程,条件方程,方程数值解以及方程组的求解 3.3 求积求和:求积与求和 第4章 函数作图 4.1 二维函数作图:一般函数的作图,参数方程的绘图 4.2 二维图形元素:点,线等图形元素的使用 4.3 图形样式:图形的样式,对图形进行设置 4.4 图形的重绘和组合:重新显示所绘图形,将多个图形组合在一起 4.5 三维图形的绘制:三维图形的绘制,三维参数方程的图形,三维图形的设置 第5章 微积分的根本操作 5.1 函数的极限:如何求函数的极限 5.2 导数与微分:如何求
3、函数的导数,微分 5.3 定积分与不定积分:如何求函数的不定积分和定积分,以及数值积分 5.4 多变量函数的微分:如何求多元函数的偏导数,微分 5.5 多变量函数的积分:如何计算重积分 5.6 无穷级数:无穷级数的计算,敛散性的判断 第6章 微分方程的求解 6.1 微分方程的解:微分方程的求解 6.2 微分方程的数值解:如何求微分方程的数值解 第7章 Mathematica程序设计 7.1 模块:模块的概念和定义方法 7.2 条件结构:条件结构的使用和定义方法 7.3 循环结构:循环结构的使用 7.4 流程控制 第8章 Mathematica中的常用函数 8.1 运算符和一些特殊符号:常用的和
4、不常用一些运算符号 8.2 系统常数:系统定义的一些常量及其意义 8.3 代数运算:表达式相关的一些运算函数 8.4 解方程:和方程求解有关的一些操作 8.5 微积分相关函数:关于求导,积分,泰勒展开等相关的函数 8.6 多项式函数:多项式的相关函数 8.7 随机函数:能产生随机数的函数函数 8.8 数值函数:和数值处理相关的函数,包括一些常用的数值算法 8.9 表相关函数:创立表,表元素的操作,表的操作函数 8.10 绘图函数:二维绘图,三维绘图,绘图设置,密度图,图元,着色,图形显示等函数 8.11 流程控制函数 第1章Mathematica概述 1.1 Mathematica的启动和运行
5、 Mathematica是美国Wolfram研究公司生产的一种数学分析型的软件,以符号计算见长,也具有高精度的数值计算功能和强大的图形功能。 假设在Windows环境下已安装好Mathematica5.0,启动Windows后,在“开始菜单的“程序中单击,就启动了Mathematica5.0,在屏幕上显示如图1的Notebook窗口,系统暂时取名Untitled-1,直到用户保存时重新命名为止。 图1 输入1+1,然后按下Shif+Enter键,这时系统开始计算并输出计算结果,并给输入和输出附上次序标识In1和Out1,注意In1是计算后才出现的;再输入第二个表达式,要求系统将一个二项式x5
6、+ y5展开,按Shift+Enter输出计算结果后,系统分别将其标识为In2和Out2,如图2。 图2 在Mathematica的Notebook界面下,可以用这种交互方式完成各种运算,如函数作图,求极限、解方程等,也可以用它编写像C那样的结构化程序。在Mathematica系统中定义了许多功能强大的函数,我们称之为内建函数(built-in function), 直接调用这些函数可以取到事半功倍的效果。这些函数分为两类,一类是数学意义上的函数,如:绝对值函数Absx,正弦函数Sinx,余弦函数Cosx,以e为底的对数函数Logx,以a为底的对数函数Loga,x等;第二类是命令意义上的函数,
7、如作函数图形的函数Plotfx,x,xmin,xmax,解方程函数Solveeqn,x,求导函数Dfx,x等。 必须注意的是: Mathematica 严格区分大小写,一般地,内建函数的首写字母必须大写,有时一个函数名是由几个单词构成,那么每个单词的首写字母也必须大写,如:求局部极小值函数FindMinimumfx,x,x0等。第二点要注意的是,在Mathematica中,函数名和自变量之间的分隔符是用方括号“ ,而不是一般数学书上用的圆括号“( ),初学者很容易犯这类错误。 如果输入了不合语法规那么的表达式,系统会显示出错信息,并且不给出计算结果,例如:要画正弦函数在区间-10,10上的图形
8、,输入plotSinx,x,-10,10,那么系统提示“可能有拼写错误, 新符号plot 很像已经存在的符号Plot, 实际上,系统作图命令“Plot第一个字母必须大写,一般地,系统内建函数首写字母都要大写。再输入PlotSinx,x,-10,10 ,系统又提示缺少右方括号,并且将不配对的括号用紫色显示,如图3。 图3 一个表达式只有准确无误,方能得出正确结果。学会看系统出错信息能帮助我们较快找出错误,提高工作效率。 完成各种计算后,点击“文件“退出 退出,如果文件未存盘,系统提示用户存盘,文件名以“.nb作为后缀,称为Notebook文件。以后想使用本次保存的结果时可以通过“文件“翻开菜单读
9、入,也可以直接双击它,系统自动调用Mathematica将它翻开。 1.2表达式的输入 Mathematica 提供了多种输入数学表达式的方法。除了用键盘输入外, 还可以使用工具样或者快捷方式健入运算符、矩阵或数学表达式。 1. 数学表达式二维格式的输入 Mathematic担提供了两种格式的数学表达式。形如x/(2+3x)+y*(x-w)的称为一维格式,形如的称为二维格式。 你可以使用快捷方式输入二维格式,也可用根本输入工具栏输入二维格式。下面列出了用快捷方式输入二维格式的方法: 数学运算 数学表达式 按键 分式 x Ctrl+/ 2 n 次方 x n x Ctrl+ n 开 2次方 Ctr
10、l +2 x 下标 x2 x Ctrl+_ 2 例如输入数学表达式,可以按如下顺序输入按键: (,x,+,1,),Ctrl+ ,+,4,Ctrl+/,Ctrl+2,2,x,+,y 另外也可从“文件菜单中激活“控制面板“Basic Input工具栏,也可输入,并且使用工具栏可输入更复杂的数学表达式,如以下图4。 图4 图5 2.特殊字符的输入 MathemMatica 还提供了用以输入各种特殊符号的工具栏。根本输入工具栏包含了常用的特殊字符(上图),只要单击这些字符按钮即可输入。假设要输入其它的特殊字符或运算符号,必须使用从“文件菜单中激活“控制面板“Complete Characters工具栏
11、,如上图5,单击符号后即可输入。 1.3 Mathematica的联机帮助系统 用Mathematica的过程中,常常需要了解一个命令的详细用法,或者想知系统中是否有完成某一计算的命令,联机帮助系统永远是最详细、最方便的资料库。 1.获取函数和命令的帮助 在Notebook界面下,用 ?或 ? 可向系统查询运算符、函数和命令的定义和用法,获取简单而直接的帮助信息。 例如,向系统查询作图函数Plot命令的用法 ?Plot 系统将给出调用 Plot 的格式以及 Plot 命令的功能(如果用两个问号 “?, 那么信息会更详细一些)。? Plot* 给出所有以Plot这四个字母开头的命令。 2.Hel
12、p菜单 任何时候都可以通过按shift+F1键或点击“帮助菜单项“帮助浏览,调出帮助菜单,如图6所示。 图6 其中的各按钮用途如下: Built-in Function 内建函数,按数值计算、代数计算、图形和编程分类存放 Add-ons & Links 程序包附件和链接 The Mathematica Book 一本完整的Mathematica使用手册 Getting Started/Demos 初学者入门指南/多种演示 Tour 漫游Mathematic Front End 菜单命令的快捷键,二维输入格式等 Master Index 按字母命令给出命令、函数和选项的索引表 如果要查找Math
13、ematica中具有某个功能的函数,可以通过帮助菜单中的Mahematica使用手册,通过其目录索引可以快速定位到自己要找的帮助信息。例如:需要查找Mathematica中有关解方程的命令,单击“The Mathematica Book按钮,再单击“Contents,在目录中找到有关解方程的节次,点击相应的超链接,有关内容的详细说明就马上调出来了。如果知道具体的函数名,但不知其详细使用说明,可以在命令按钮 Goto 右边的文本框中键入函数名,按回车键后就显示有关函数的定义、例题和相关联的章节。例如,要查找函数Plot的用法,只要在文本框中键入Plot,按回车键后显示Plot函数的详细用法和例题
14、的窗口,如图7。 图7 如果已经确知Mathematica 中有具有某个功能的函数,但不知具体函数名,可以点击Built-in Functions按钮,再按功能分类从粗到细一步一步找到具体的函数,例如,要找画一元函数图形的函数,点击Built-in Functions Graphics and Sound2D PlotsPlot,找到Plot的帮助信息(如图7)。 第2章Mathematica的根本量 2.1数据类型和常数 1.数值类型 在Mathematic中,根本的数值类型有四种:整数、有理数、实数和复数。 如果你的计算机的内存足够大,Mathemateic可以表示任意长度的精确实数,而不
15、受所用的计算机字长的影响。整数与整数的计算结果仍是精确的整数或是有理数。例如2的100次方是一个31位的整数: ln1:=2100 Out1=1267650600228228229401496703205376 在Mathematica中允许使用分数,也就是用有理数表示化简过的分数。当两个整数相除而又不能整除时,系统就用有理数来表示,即有理数是由两个整数的比来组成如: In2:=12345/5555 Out2= 实数是用浮点数表示的,Mathematica实数的有效位可取任意位数,是一种具有任意精确度的近似实数,当然在计算的时候也可以控制实数的精度。实数有两种表示方法:一种是小数,另外一种是用
16、指数方法表示的。如: In3:=0.239998 Out3=0.23998 In4:=0.12*1011 Out4=0.12*1011 实数也可以与整数,有理数进行混合运算,结果还是一个实数。 In5:=2+1/4+0.5 Out5=2.75 小数表示 复数是由实部和虚部组成,实部和虚部可以用整数、实数、有理数表示。在Mathematica中,用I 表示虚数单位如: In6:=3+0.7I Out6=3+0.7i 2.不同类型数的转换 在Mathematica的不同应用中,通常对数字的类型要求是不同的。例如在公式推导中的数字常用整数或有理数表示,而在数值计算中的数字常用实数表示。在一般情况下在
17、输出行Outn中,系统根据输入行Inn的数字类型对计算结果做出相应的处理。如果有一些特殊的要求,就要进行数据类型转换。 在Mathematica中的提供以下几个函数到达转换的目的: Nx 将x转换成实数 Nx,n 将x转换成近似实数,精度为n Rationalizex 给出x的有理数近似值 Rationalizex,dx 给出x的有理数近似值,误差小于dx 举例: In1:=N5/3,20 Out1=1.6666666666666666667 In2:=N%,10 表示上一输出结果,即=1.6666666666666666667。 Out2=1.666666667 第二个输出是把上面计算的结果
18、变为10位精度的数字。 In3:=Rationalize% Out3= 3.数学常数 Mathematica 中定义了一些常见的数学常数,这些数学常数都是精确数。 Pi 表示3.14159 E 自然对数的底e2.71828 Degree 1度,/180弧度 I 虚数单位i Infinity 无穷大 infinity 负无穷大 GondenRatio 黄金分割数0.61803 数学常数可用在公式推导和数值计算中,在数值计算中表示精确值。如: In1:=Pi2 Out1=2In2:=Pi2/N Out2=9.8696 4.数的输出形式 在数的输出中可以使用转换函数进行不同数据类型和精度的转换。另外
19、对一些特殊要求的格式还可以使用如下的格式函数: NumberFormexpr,n 以n位精度的实数形式输出实数expr ScientificFormatexpr 以科学记数法输出实数expr EngineergFormexpr 以工程记数法输出实数expr 例如: In1:=NPi30,30 Out1=8.212893304027495815865035854341014 In2:=NumberForm%,10 Out2/NumberForm=8.2128933041014下面的函数输出按工程记数法表示的指数可被3整除的实数 In3=EngineeringForm% %表示上两步的输出结果,即
20、Out1 Out3/EngineeringForm=821.2893304027495815865035854341012 2.2变量 1变量的命名 Mathematica中内部函数和命令都是以大写字母开始的标示符,为了不会与它们混淆,我们自定义的变量应该是以小写字母开始,后跟数字和字母的组合,长度不限。例如:a12,ast,aST都是合法的,而12a,z*a,a b(中间有空格)是非法的。另外在Mathematica中的变量是区分大小写的。在Mathematica中,变量不仅可以存放一个数值,还可以存放表达式或复杂的算式。 2给变量赋值 在Mathmatica中用等号为变量赋值。同一个变量可
21、以表示一个数值,一个数组,一个表达式,甚至一个图形。如: In1:=x=3 Out1=3 In2:=x2+2*x Out2=15 In3:=x=%+1 Out3=16 对不同的变量可同时赋不同的值,例如: In4:=u,v,w=1,2,3 Out4=1,2,3 In5:=2u+3v+w Out5=11 对于已定义的变量,当你不再使用它是,为防止变量值的混淆,可以随时用.去除它的值,如果变量本身也要去除用函数Clearvar,例如: In6:=u=. In7:=2u+v (上面已定义了u,v的值) Out7=2+2u 3.变量的替换 在给定一个表达式时其中的变量可能取不同的值,这是可用变量替换来
22、计算表达式的不同值。方法为用expr/.x-xval,例如: In1:=f=x/2+1 Out1= 1+ In2:=f/.x-1 Out2= In3:=f/.x-2 Out3=3 如果表达式中有多个变量,也可同时替换,方法为:expr/.x-xval,y-yval,. In4:=(x+y)(x-y)2/.x-3,y-1-a Out4=(4-a)(2+a)2 2.3 函数 1系统函数 在Mathmatic中定义了大量的数学函数可以直接调用,这些函数其名称一般表达了一定的意义,可以帮助我们理解。下面是几个常用的函数: Floorx 不比x大的最大整数 Ceilingx 不比x小的最小整数 Sign
23、x 符号函数 Roundx 接近x的整数 Absx x绝对值 Maxx1,x2,x3. x1 ,x2,x3.中的最大值 Minx1,x2,x3. x1,x2,x3.中的最小值 Random 01之间的随机函数 RandomR,xmax 0xmax之间的随机函数(R为Real,Integer,Complex之一) RandomR,xmin,xmax xminxmax之间的随机函数(R为Real,Integer,Complex之一) Expx 指数函数e x Logx 自然对数函数lnx Logb,x 以b为底的对数函数 Sinx,Cosx,Tanx,Cscx,Secx,Cotx 三角函数(变量是
24、以弧度为单位的) ArcSinx,ArcCosx,ArcTanx,ArcCscx,ArcSecx,ArcCotx 反三角函数 Sinhx,Coshx,Tanhxx,Cschx,Sechx,Cothx 双曲函数 ArcSinhx, ArcCoshx, ArcTanhxx, ArcCschx,ArcSechx,ArcCothx 反双曲函数 Modm,n m被n整除的余数,余数与n同号 Quotientm,n m/n的整数局部 GCDn1,n2,n3或GCDs n1,n2, 或s的最大公约数,s为数据集合 LCMn1,n2或LCMs n1,n2 或s的最小公倍数,s为数据集合 N! N的阶程 N!
25、N的双阶程 Mathematica中的函数与数学上的函数有些不同的地方,Mathematica中函数是一个具有独立功能的程序模块,可以直接被调用。同时每一函数也可以包括一个或多个参数,也可以没有参数。参数的的数据类型也比拟复杂。更加详细的可以参看系统的帮助,了解各个函数的功能和使用方法是学习Mathematica软件的根底。 2函数的定义 (1) 函数的立即定义 立即定义函数的语法如下fx_=expr函数名为f,自变量为x,expr是表达式。在执行时会把expr 中的x都换为f的自变量x (不是x_ )。函数的自变量具有局部性,只对所在的函数起作用。函数执行结束后也就没有了,不会改变其它全局定
26、义的同名变量的值。 请看下面的例子,定义函数f(x)=xsinx+x2,对定义的函数我们可以求函数值,也可绘制它的图形。 In1:=fx_=x*Sinx+x2 Out1=x 2 +xSinx In2:=f1 Out2=1+Sin1 In3:=Plotfx,x,-3,3 Out3= -Graphics- 对于定义的函数我们可以使用命令Clearf去除掉,而Removef那么从系统中删除该函数。 (2) 多变量函数的定义 也可以定义多个变量的函数,格式为fx_,y_,z_,=expr自变量为x,y,z,相应的expr中的自变量会被替换。例如定义函数f(x,y)=xy+ycosx。 In1:=fx_
27、,y_ =x*y+y*Cosx Out1=xy+yCosx In2:=f2,3 Out2=6+3Cos2 (3) 延迟定义函数 延迟定义函数从定义方法上与即时定义的区别为 “= 与“:=延迟定义的格式为fx_:=expr其他操作根本相同。那么延迟定义和即时定义的主要区别是什么?即时定义函数在输入函数后立即定义函数并存放在内存中并可直接调用。延时定义只是在调用函数时才真正定义函数。 (4) 使用条件运算符定义和If命令定义函数 如果要定义如: 这样的分段函数应该如何定义,显然要根据x 的不同值给出不同的表达式。一种方法是使用条件运算符,根本格式为:fx_:=expr/;condition ,当condition条件满足时才把expr赋给f(x) 。下面定义方法,通过图形可以验证所定义函数的正确性。 In1:=fx_:=x-1/;x=0 fx_:=x2/;(x-1)&(x0) fx_:=x-1/;x=0,x-1,Ifx1 Out4=2,4,6 如果表中的元素较多时,可以用建表函数进行建表: Ta
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1