第一范文网 - 专业文章范例文档资料分享平台

mathematica-超级教程 

来源:用户分享 时间:2025/5/18 14:31:36 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

Mathematica是美国Wolfram研究公司生产的一种数学分析型的软件,以符号计算见长,也具有高精度的数值计算功能和强大的图形功能。

假设在Windows环境下已安装好Mathematica4.0,启动Windows后,在“开始”菜单的“程序”中单击

,就启动了Mathematica4.0,在屏幕上显示如图的Notebook窗口,系统暂时取

名Untitled-1,直到用户保存时重新命名为止

输入1+1,然后按下Shif+Enter键,这时系统开始计算并输出计算结果,并给输入和输出附上次序标识In[1]和Out[1],注意In[1]是计算后才出现的;再输入第二个表达式,要求系统将一个二项式展开,按Shift+Enter输出计算结果后,系统分别将其标识为In[2]和Out[2].如图

在Mathematica的Notebook界面下,可以用这种交互方式完成各种运算,如函数作图,求极限、解方程等,也可以用它编写像C那样的结构化程序。在Mathematica系统中定义了许多功能强大的函数,我们称之为内建函数(built-in function), 直接调用这些函数可以取到事半功倍的效果。这些函数分为两类,一类是数学意义上的函数,如:绝对值函数Abs[x],正弦函数Sin[x],余弦函数Cos[x],以e为底的对数函数Log[x],以a为底的对数函数Log[a,x]等;第二类是命令意义上的函数,如作函数图形的函数Plot[f[x],{x,xmin,xmax}],解方程函数Solve[eqn,x],求导函数D[f[x],x]等。

必须注意的是:

Mathematica 严格区分大小写,一般地,内建函数的首写字母必须大写,有时一个函数名是由几个单词构成,则每个单词的首写字母也必须大写,如:求局部极小值函数FindMinimum[f[x],{x,x0]等。第二点要注意的是,在Mathematica中,函数名和自变量之间的分隔符是用方括号“[ ]”,而不是一般数学书上用的圆括号“( )”,初学者很容易犯这类错误。

如果输入了不合语法规则的表达式,系统会显示出错信息,并且不给出计算结果,例如:要画正弦函数在区间[-10,10]上的图形,输入plot[Sin[x],{x,-10,10}],则系统提示“可能有拼写错误, 新符

号‘plot’ 很像已经存在的符号‘Plot’”,实际上,系统作图命令“Plot”第一个字母必须大写,一般地,系统内建函数首写字母都要大写。再输入Plot[Sin[x],{x,-10,10} ,系统又提示缺少右方括号,并且将不配对的括号用蓝色显示,如图

一个表达式只有准确无误,方能得出正确结果。学会看系统出错信息能帮助我们较快找出错误,提高工作效率。 完成各种计算后,点击File->Exit退出,如果文件未存盘,系统提示用户存盘,文件名以“.nb”作为后缀,称为Notebook文件。以后想使用本次保存的结果时可以通过File->Open菜单读入,也可以直接双击它,系统自动调用Mathematica将它打开.

1.1.2表达式的输入

Mathematica 提供了多种输入数学表达式的方法。除了用键盘输入外, 还可以使用工具样或者快捷方式健入运算符、矩阵或数学表达式。

1.数学表达式二维格式的输入

Mathematic担提供了两种格式的数学表达式。形如x/(2+3x)+y*(x-w)的称为一维格式,形如

的称为二维格式。

你可以使用快捷方式输入二维格式,也可用基本输入工具栏 输入二维格式。下面列出了用快捷方式输入二维格式的方法

数学运算 数学表达式 按键

分式 x Ctrl+/ 2

n 次方

x Ctrl+^ 2

开 n次方 Ctrl +2 x

下标 x Ctrl+_ 2

如果要取消二维格式输入 按下Ctrl+SPACE(空格) 例如输入数学表达式

可以按如下顺序输入按键:

(,x,+,1,),Ctrl+^, ->, +,a,Ctrl+_,1,->,Ctrl+/,Ctrl+2,2,x,+,y,->,->

另外也可从FILE菜单中激活Plaettes->Basic Input 工具栏,也可输入, 并且使用工具栏可输入

更复杂的数学表达式。

如下图:

2.特殊字符的输入

MathemMatica 还提供了用以输入各种特殊符号的工具样。基本输入 工具样包含了常用的特殊字符(上图),只要单击这些字符按钮即可输入。若要输入其它的特殊字符或运算符号,必须使用从FILE菜单中选取Complete Characters工具栏,如下图:

单击符号后即可输入。

1.2.Mathematica的联机帮助系统

用Mathematica的过程中,常常需要了解一个命令的详细用法,或者想知系统中是否有完成某一计算的命令,联机帮助系统永远是最详细、最方便的资料库。

1.获取函数和命令的帮助

在Notebook界面下,用 ?或 ?? 可向系统查询运算符、函数和命令的定义和用法,获取简单而直接的帮助信息。 例如,向系统查询作图函数Plot命令的用法?Plot 系统将给出调用Plot的格式以及Plot命令的功能(如果用两个问号“??”,则信息会更详细一些)。? Plot* 给出所有以Plot这四个字母开头的命令

2.Help菜单

任何时候都可以通过按F1键或点击帮助菜单项Help Browser,调出帮助菜单,如图

所示,其中的各按钮用途如表所示

Built-in Function 内建函数,按数值计算、代数计算、图形和编程分类存放 Add-ons 有程序包(Standard Packages)MathLink Library等内容 The Mathematica Book 一本完整的Mathematica使用手册 Getting Started/Demos 初学者入门指南和多种演示

Other Information 菜单命令的快捷键,二维输入格式等 Master Index 按字母命令给出命令、函数和选项的索引表

如果要查找Mathematica中具有某个功能的函数,可以通过帮助菜单中的Mahematica使用手册,通过其目录索引可以快速定位到自己要找的帮助信息。例如:需要查找Mathematica中有关解方程的命令,单击“The Mathematica Book”按钮,再单击“Contents”,在目录中找到有关解方程的节次,点击相应的超链接,有关内容的详细说明就马上调出来了。如果知道具体的函数名,但不知其详细使用说明,可以在命令按钮 Goto 右边的文本框中键入函数名,按回车键后就显示有关函数的定义、例题和相关联的章节。例如,要查找函数Plot的用法,只要在文本框中键入Plot,按回车键后显示如图的窗口,

再按回车键,则显示Plot函数的详细用法和例题。如果已经确知Mathematica 中有具有某个功能的函数,但不知具体函数名,可以点击Built-in Functions按钮,再按功能分类从粗到细一步一步找到具体的函数,例如,要找画一元函数图形的函数,点击Built-in Functions ->Graphics and Sound->2D Plots->Plot,找到Plot的帮助信息。

如果知道具体的函数名,但不知其详细使用说明,可以在命令按钮 Goto 右边的文本框中键入函数名,按回车键后就显示有关函数的定义、例题和相关联的章节。例如,要查找函数Plot的用法,只要在文本框中键入Plot,按回车键后显示如图1-5的窗口,再按回车键,则显示Plot函数的详细用法和例题。

如果已经确知Mathematica 中有具有某个功能的函数,但不知具体函数名,可以点击Built-in Functions按钮,再按功能分类从粗到细一步一步找到具体的函数,例如,要找画一元函数图形的函数,点击 Built-in Functions ->Graphics and Sound->2D Plots->Plot,找到Plot的帮助信息。

2.1数据类型和常数 1数值类型

在Mathematic中,基本的数值类型有四种:整数,有理数、实数和复数

如果你的计算机的内存足够大,Mathemateic可以表示任意长度的精确实数,而不受所用的计算机字长的影响。整数与整数的计算结果仍是精确的整数或是 有理数。例如:2的100次方是一个31位的整数:

ln[1]:=2^100

Out[1]=1267650600228228229401496703205376

在Mathematica中允许使用分数,也就是用有理数表示化简过的分数。当两个整数相除而又不能整除时,系统就用有理数来表示,即有理数是由两个整数的比来组成如:

Ln[2]:=12345/5555 Out[2]=2469/1111

实数是用浮点数表示的,Mathematica实数的有效位可取任意位数,是一种具有任意精确度的近似实数,当然在计算的时候也可以控制实数的精度。实数有两种表示方法:一种是小数点另外一种是用指数方法表示的。如:

ln[3]:=0.239998 Out[3]=0.23998

ln[4]:=0.12*10^11 Out[4]=0.12*10^11

实数也可以与整数,有理数进行混合运算,结果还是一个实数。

Ln[5]:=2+1/4+0.5 Out[5]=2.75

复数是由实部和虚部组成。实部和虚部可以用整数,实数,有理数表示。在Mathematica中,用i 表示虚数单位如:

Ln[6]:=3+0.7i Out[6]:=3+0.7i

2.不同类型数的转换

在Mathematica的不同应用中,通常对数字的类型要求是不同的。例如在公式推导中的数字常用整数或有理数表示,而在数值计算中的数字常用实数表示。在一般情况下在输出行Out[n]中,系统根据输入行ln[n]的数字类型对计算结果做出相应的处理。如果有一些特殊的要求,就要进行数据类型转换。

在Mathematica中的提供以下几个函数达到转换的目的:

N[x] 将x转换成实数

N[x,n] 将x转换成近似实数,精度为n Rationalize[x] 给出x的有理数近似值

Rationalize[x,dx] 给出x的有理数近似值,误差小于dx

[举例]

ln[1]=N[5.3,20]

Out[1]=1.66666666666666666667 ln[2]:=N[%,10] Out[2]=1.66666667

二行输出是把上面计算的结果变为10位精度的数字。%表示上一输出结果。

Ln[3]=Rationalize[%]

Out[3]=5/3

3.数学常数

Mathematica 中定义了一些常见的数学常数,这些数学常数都是精确数,例如表示圆周率。

Pi 表示

=3.14159……

E 自然对数的底,e=2.71828……. Degree

/180

i 虚数单位 Infinity 无穷大

-infinity 负的无穷大 -

GondenRatio 黄金分割数0.61803

数学常数可用在公式推导和数值计算中。在数值计算中表示精确值:如:

n[1]:=Pi^2

Out[1]=

ln[2]:=Pi^2//N Out[2]=9.8696l

4.数的输出形式

在数的输出中可以使用转换函数进行不同数据类型和精度的转换。另外对一些特殊要求的格式还可以使用如下的格式函数:

NumberForm[expr,n] 以n位精度的实数形式输出实数expr ScientificFormat[expr] 以科学记数法输出实数expr EngineergForm[expr] 以工程记数法输出实数expr

例如:

ln[1]:=N[Pi^30,30]

ln[2]:=NumberForm[%,10]

Out[2]//NumberForm=8.212893304

下面的函数输出幂值可被3整除的实数

Ln[3]=EngineeringForm[%%]

Out[6]//EngineeringForm=

1.变量的命名

Mathematica中内部函数和命令都是以大写字母开始的标示符。为了不会与它门混淆,我们自定义的变量应该是以小写字母开始,后跟数字和字母的组合,长度不限。例如:a12,ast,aST都是合法的,而12a,z*a是非法的。另外在Mathematica中的变量是区分大小写的 在Mathematica中,变量不仅可以存放一个数值,还可以存放表达式或复杂的算式。

2.给变量赋值

在Mathmatica中用等号=为变量赋值。同一个变量可以表示一个数值,一个数组,一个表达式,甚至一个图形。如:

Ln[1]:=x=3 Out[1]=3 Ln[2]:=x^2+2x Out[2]=15 Ln[3]:=x=%+1 Out[3]=16

对不同的变量可同时赋不同的值例如:

Ln[4]:={u,v,w}={1,2,3} Out[4]={1,2,3}

Ln[5]:=2u+3v+w Out[5]=11

对于已定义的变量,当你不再使用它是,为防止变量值的混淆,可以随时用=.清除他的值,如果变量本身也要清除用函数Clear[x]例如

ln[6]:=u=. ln[7]:=2u+v Out[7]=2+2u

3.变量的替换

在给定一个表达式时其中的变量可能取不同的值,这是可用变量替换来计算表达式的不同值。方法为用expr/.例如:

Ln[1]:=f=x/2+1

Out[1]=

Ln[2]:=f/.x->1

Out[2]=

Ln[3]:=f/.->2 Out[3]=3

如果表达式中有多个变量也可以同时替换方法为例如有两个:

expr/.{x->xval,y->val}

Ln[4]:=(x+y)(x-y)^2/.{x->3,y->1-a}

Out[4]=

2.3 函数

1.系统函数

在Mathmatic中定义了大量的数学函数可以直接调用,这些函数其名称一般表达了一定的意义,可以帮助我们理解。下面是几个常用的函数:

Floor[x] 不比x大的最大整数 Ceiling[x] 不比x小的最小整数 Sign[x] 符号函数 Round[x] 接近x的整数 Abs[x] x绝对值

Max[x1,x2,x3……..] x1 ,x2,x3…….中的最大值 Min[x1,x2,x3……..] x1,x2,x3…….中的最小值 Random[] 0~1之间的随机函数 Random[Real,xmax] 0~xmax之间的随机函数 Random[Real,{xmin,xmax}] xmin~xmax之间的随机函数 Exp[x] 指数函数 Log[x] 自然对数函数lnx Log[b,x] 以b为底的对数函数

Sin[x],Cos[x],Tan[x],Csc[x],Sec[x],Cot[x] 三角函数(变量是以弧度为单位的) Sinh[x],Cosh[x],Tanhx[x],Csch[x],Sech[x],Coth[x] 双曲函数 ArcSech[x],ArcCoth[x] 双曲函数

Mod[m,n] m被n整除的余数,余数与n的符相同 Quotient[m,n] m/n的整数部分

GCD[n1,n2,n3……]或GCD[s] n1,n2,…的最大公约数,s为一数集合 LCM[n1,n2……]或LCM[s] n1,n2…….的最大公倍数,s为数据集合 N! n的阶程 N!! n的双阶程

Mathematica中的函数与数学上的函数有些不同的地方,Mathematica中函数是一个具有独立功能的程序模块,可以直接被调用。同时每一函数也可以包括一个,或多个参数,也可以没有参数。参数的的数据类型也比较复杂。更加详细的可以参看系统的帮助,了解各个函数的功能和使用方法是学习Mathematica软件的基础

2.函数的定义

(1)函数的立即定义

立即定义函数的语法如下f[x_]=expr函数名为f,自变量为x,expr是表达式。在执行时会把expr 中的x都换为f的自变量x(不是x_)。函数的自变量具有局部性,只对所在的函数起作用。函数执行结束后也就没有了,不会改变其它全局定义的同名变量的值。请看下面的例子

定义函数f(x)=x*Sinx+x2

对定义的函数我们可以求函数值,也可绘制它的图形。

对于定义的函数我们可以使用命令Clear[f]清除掉而Remove[f]则从系统中删除该函数。

(2).多变量函数的定义

也可以定义多个变量的函数,格式为f[x_,y_,z_,…]=expr自变量为x,y,z….,相应的expr中的自变量

会被替换。例如定义函数

f(x,y)=xy+ycosx

(3).延迟定义函数

延迟定义函数从定义方法上与即时定义的区别为“=”与“:=”延迟定义的格式为f[x_]:=expr其他操作基本相同。那么延迟定义和即时定义的主要区别是什么?即时定义函数在输入函数

后立即定义函数并存放在内存中并可直接调用。延时定义只是在调用函数时才真正定义函数。

(4).使用条件运算符定义和If命令定义函数

如果要定义如:

这样的分段函数应该如何定义,显然要根据x 的不同值给出不同的表达式。一种办法是使用条件运算符,基本格式为f[x_]:=expr/;condition ,当condition条件满足时才把expr赋给f.下面定义方法,通过图形可以验证所定义函数的正确性

当然使用If命令也可以定义上面的函数,If语句的格式为If[条件,值1,值2]如果条件成立取“值1”,否则取“值2”,下面用If语句的定义结果

可以看出用If定义的函数g(x)和前面函数f(x)相同,这里使用了两个If嵌套。逻辑性比较强关于其他的条件命令的进一步讨论请看后面的章节

2.4 表

将一些相互关联的元素放在一起,使它们成为一个整体。既可以对整体操作,也可以对整体中的一个元素单独进行操作。在Mathematica中这样的数据结构就称作表(List)。表主要有三个用法:表{a,b,c}可以表示一个向量;表{{a,b},{c,d}}可表示一个矩阵。

1.建 表

在表中元素较少时,可以采取直接列表的方式列出表中的元素,如{1,2,3}.请看下面的操作

Ln[1]:={1,2,3} Out[1]={1,2,3}

下面是符号表达式的列表

Ln[2]:=1+%x+x^% Out[2]={1+2x,1+2x+x2,1+3x+x2}

下面是对列表中的表达式对x求导

Ln[3]:=D[%,x]

Out[3]={2,2+2x,3+2x}

Ln[4]:=%/.x->1

Out[4]={2,4,5}

如果表中的元素较多时,可以用建表函数进行建表。

Table[f,{I,min,max,step}] 以step为步长给出f的数值表,i由min变到max,

Table[f,{min,max}] 给出f的数值表,I由min变到max 步长为1

Table[f,max] 给出max个f的表

Table[f,{I,imin,imax},{j,jmin,jmax},….] 生成一个多维表

TableForm[list] 以表格格式显示一个表

Range[n] 生成一个{1,2,……..}的列表

Range[n1,n2,d] 生成{n1,n1+d,n1+d,….,n2}的列表

下面给出x乘i的值的表,i的变化范围为[2,6]:

Ln[1]:=Table[x*i,{i,2,6}]

Out[1]={2x,3x,4x,5x,6x}

Ln[2]:=Table[x^2,{4}]

Out[2]={x2,x2,x2,x2}

用Range函数生成一个序列数

Ln[3]:=Range[10]

Out[3]={1,2,3,4,5,6,7,8,9,10}

下面这个序列是以步长为2,范围从8到20

Ln[4]:=Range[8,20,2]

Out[4]={8,10,12,14,16,18,20}

上面的参数变化都是只有一个,也可制成包括多个参数的表,下面生成一个多维表:

Ln[5]:=Table[2i+j,{i,1,3},{j,3,5}]Out[5]={{5,6,7},{7,8,9},{9,10,11}}

使用函数TableForm可以以表格的方式输出

Ln[6]:=%//TableFormOut[6]//TableForm=5 6 77 8 99 10 11

2.表的元素的操作

当t表示一个表时,t[[i]]表示t中的第i个子表。如果t={1,2,a,b}那么t[[3]]表示“a”。如:

ln[1]:=t=Table[I+2,j{I,1,3},{j,3,5}]Out[1]={{7,9,11},{8,10,12},{9,11,13}}ln[2]:=t[[2]]Out[2]={8,10,12}

对于表的操作Mathematica提供了丰富的函数,详细的可以查阅后面的附录或者系统帮助。

3.1 多项式的表示形式

可认为多项式是表达式的一种特殊的形式,所以多项式的运算与表达式的运算基本一样,表达式中的各种输出形式也可用于多项式的输出。Mathematica提供一组按不同形式表示代数式的函数。

Expand[ploy] Expand[ploy] ExpandAll[ploy] Factor[ploy]

按幂次展开多项式ploy 全部展开多项式ploy 全部展开多项式ploy 对多项式poly 进行因式分解

FactorTerms[ploy,{x,y,…}] 按变量 x,y,…进行分解 Simplify[poly] 把多项式化为最简形式 FullSimplify[ploy] 把多项式展开并化简 Collect[ploy,x] 把多项式poly按x幂展开 Collect[poly,{x,y…}]

把多项式poly按x,y….的幂次展开

1.下面是一些例子 (1).对x8-1

进行分解

(2).展开多项式(1+x)^5

(3).展开多项式(1+x+3y)4

(4).化简(2+x)^4(1+x)^4(3+x)^3

2.多项式的代数运算

多项式的运算有加、减、乘、除运算:+,-,*,/ 下面通过例子说明。

(1).多项式的加运算a2+3a+2与a+1相加(后面例子中也使用这两个多项式运算

(2).多项式相减

(3).多项式相乘

(4).多项式相除

(5).另外使用Cancel函数可以约去公因式

两个多项式相除,总能写成一个多项式和一个有理式相加Mathematic中提供两个函数PolynomialQuotient和PolynomialRemainder分别返商式和余式。

例如:

3.2方程及其根的表示 因为Mathematica把方程看作逻辑语句。在数学方程式表示为形如“x2-2x+1=0”

的形式。在Mathematica中“=”用作赋值

语句,这样在Mathematica中用“==”表示逻辑等号,则方程应表示为“x^2-2x+1==0” 。方程的解同原方程一样被看作是逻辑语句。例如用Roots求方程x^2-3x+2的根显示为

这种表示形式说明x取1或2均可。而用Solve[]可得解集形式。

1求解一元代数方程

下面是常用的一些方程求解函数

Solve[lhs==rhs,vars]NSolve[lhs==rhs,vars]Roots[lhs==rhs,vars]

给出方程的解集 直接给出方程的数值解集 求表达式的根 求x=x0时,方程的解值

FindRoot[lhs==rhs,{x,x0}

先看Solve函数例子

Solve函数可处理的主要方程是多项式方程。Mathematica总能对不高于四次的方程进行精确求解,对于三次或四次方程,解的形式可能很复杂。

例如求x3

+5x+3=0

这时可用N函数近似数值解.

当方程中有一些复杂的函数时,Mathematica可能无法直接给出解来。在这种情况下我们可用FindRoot[]来求解,但要给出起始条件。

例如:求3Cosx=logx的解

但只能求出x=1附近的解,如果方程有几个不同的解,当给定不同的条件时,将给出不同的解。如上例若求x=10附近的解命令为:

因此确定解的起始位置是比较关键,一种常用的方法是,先绘制图形观察后再解

如上例通过图形可断定在x=5附近有另一根

2.求方程组的根

使用Solve和NSolve,FindRoot也可求方程组的解,只是使用时格式略有不同下面给出一个Solve函数的例子:

求解:

3求方程的全解 如果我们求ax2+bx+c=0

的根我们用Solve函数解的结果是:

这显然是不合理的,因为对不同的a,b,c方程的解有不同的情况,而上面只是给出部分解如果要解决这个问题可用Reduce命令,它可根据,a,b,c的取值给出全部值。

因此Solve,Roots只给出方程的一般解,而Reduce函数数可以给出方程的全部可能解。

4.解条件方程

在作方程计算时,可以把一个方程看作你要处理的主要方程,而把其他方程作为必须满足的辅助条件,你将会发现这样处理很方便。譬如在求解像这样的方程

时,通常我们采用的代换方法使求解方程

得到简化。在Mahematica中,我们通常是首先命名辅助条件组,然后用名字把辅助条件包含在你要用函数Solve[] 求解的方程组中。

用Sc定义方程:,在这种条件下,求解方程。

3.3求和与求积

用Sum表示,连乘

用Product表示。下面列出求

在Mathematica中,数学上的各式符号各与求积函数的形式和意义:

Sum[f,{i,imin,imax}] 求和

Sum[f,{i,imin,imax,di}] 以步长di增加i求和

Sum[f,{i,imin,imax},{j,jmin,jmax}] 嵌套求和

Product[f,{i,imain,imax}] 求积

Product [f,{i,imin,imax,di}] 以步长di增加i求和

Product[f,{I,imin,imax},{j,jmin,jmax}] 嵌套求积

Nsum[f,{i,imin,Infinity}] 求近似值

NProduct[f,{i,imin,Infinity}] 求一些例子

近似值

.1基本的二维图形

Mathematica在直角坐标系中作一元函数图形用下列基本命令。

Plot[f,{x,xmin,xmax},option->value] 在指定区间上按选项定义值画出函数在直角坐标系中的图形.

Plot[{f1,f2,f3,…},{x,xmin,xmax},option->>value] 在指定区间上按选项定义值同时画出多个函数在直角坐标系中的图形

Mathematica绘图时允许用户设置选项值对绘制图形的细节提出各种要求。例如:要设置图形的高宽比,给图形加标题等。每个选项都有一个确定的名字,以“选项名->选项值”的形式放在Plot中的最右边位置,一次可设置多个选项,选项依次排列,用逗号隔开,也可以不设置选项,采用系统的默认值。

选项 AspectRatio AxesLabel PlotLabel PlotRange PlotStyle PlotPoint

1.举例

说明

图形的高、宽比 给坐标轴加上名字 给图形加上标题 指定函数因变量的区间

默认值 1/0.618 不加 不加 计算的结果

用什么样方式作图(颜色,粗细等) 值是一个表 画图时计算的点数

25

(1).例如绘制的图形。

(2).如果要取消刻度可以使用Ticks选项

(3).如果要标注坐标名称x 轴为“Time”,y轴为“Height”

(4).将坐标交点(3,0),并标注图形名称。

(5).修改x方向的刻度,y轴方向的刻度则用默认值。

(6).定义y轴的绘图范围

(7).另外我们也可以将图形结果定义给变量,但不显示图形,后用Show命令显示。

2.数据集合的图形

Mathematica用于绘数字集合的图形的命令与前而介绍的绘函数图形的命令是相似的。如下:

ListPlot[{y1,y2,…..}]

ListPlot[{{x1,y1},{x2,y2},…..}] ListPlot[List,PlotJoined->True]

绘出在x的值为1,2…时y1,y2,…的图形 绘出离散点(xi,yi) 把离散点连成曲线

(1).下面举例说明下面是一个离散数据的集合的图形

3.二维参数作图

前面我们使用Plot命令可以绘出直角坐标系下的函数图形,使用ParametrecPlot可以绘制参数曲线下面给出ParametricPlot的常用形式

ParametricPlot[{fx,fy},{t,tmin,tmax}]

ParametricPlot[{fx,fy},{gx,gy},….{t,tmin,tmax}]

ParametricPlot[{fx,fy},{t,tmin,tmax},AspectRatio->Automatic]

绘出参数图 绘出一组参数图 设法保持曲线的形

(1).绘制参数方程的图形

(2).下面将一个园与上面参数绘在同一个坐标下,并保证图形的形状正确。

4.1 二维图形元素 用图形元素绘图适合于绘制结构复杂的图形。Mathematica中还提供了各种如绘制点、线段、圆弧 等函数。同样我们可先用Grahpics作出平面图形的表达式,再用Show显示守成的图形。 下面给出在Mathematica中常用的二维图形元素。 ____________________________________________________________________ Point[[x,y]] Line[{{x1,y1},{x2,y2},…}] Rectangle[{xmin,ymin},{xmax,ymax}] Polygon[{{x1,y1},{x2,y2},…….}] Circle[{x,y},r] Circle[{x,y},{rx,ry}] Circle[{x,y},r,{theta1,thata2}] Circle[{x,y},{rx,ry},{theta1,theta2}] Disk[{x,y},r] Raster[{{a11,a12,…..},{a21,……},….}] Text[Expr,{x,y}] 点 线段 填充矩阵 填充多边形 圆 半轴分别为rx,ry的椭圆 圆弧 椭圆弧 填充圆 灰度在0到1之间的灰层组 文本大小 下图绘出一个有颜色和大小的点,且在图形四周插入文本

下面绘制一些有线条组成的图形

当然也可以添加坐标轴下面的例子,说明了这一点。

下面的例子,是说明了Retangle的图形绘制,例子中用一些小矩形逼近正弦曲线与x轴所成面积。程序中生成一个图形集合并显示出来。

4.3图形的样式

我们称图形的颜色、曲线的形状和宽度等特性为图形样式。在本节中,我们就图形的各种样式,尤其是曲线的样式进行学习。 下面给出选项用于设置图形样式。 Graykvel[] RGBColor[r,g,b] Hue[A] Hue[h,s,b] PointSize[d] AbsolutePointSize[d] Thickness[w] AbsoluteThickness[w] Dashing[wl,w2,….] Absolutedashing[{w1,w2,…..}] PlotStyle->style PlotStyle->{{Style1},{Style2}…….} MeshStyle->Style 1.图形颜色的设置

在Mathematicaa提供各种图形指令中,对图形元素颜色的设置是一个很重要的设置.。下面给出三条不同颜色的正弦曲线,此处以灰度表示,即颜色深浅不同。

灰度介于0(黑)到l(白)之间 由红、绿,蓝组成的颜色,每种色彩取0到1之间的数 取0到1之间的色彩 指定色调,位置和亮度的颜色,每项介于0到1之间给出半径为d的点,单位是Plot的一个分数 给出半径为d的点(以绝对单位量取) 给所有线的宽度w,单位是Plot的分数 给所有线的宽度w,(以绝对单位量取) 给所有线为一系列虚线,虚线段的长度为wl,w2,… 以绝对单位给出虚线长度 设立Plot中所有曲线的风格 设立Plot中一些列曲线的风格 设立宽度和表面网格的风格

下面用不同的色调对三个菱形进行着色。

2.图形大小

下面是一些点,注意点大小的控制。

下面的点的控制是用绝对单位

3.线段的控制

下面的例子是控制线段的宽度,使用的是绝对控制。

Mathematica提供的虚线指令可生成多种不同的复杂虚线。

4.4图形的重绘和组合

每次绘制图形后,Mathematica保存了图形的所有信息,所以用户可以重绘 这些图形。我们在重绘图形的时候,还可以改变一些使用。下面是常用重绘图形的函数。

Show[plot]

Show[plot,option->value] Show[plot1,plot2,plot3…]

Show[GraphcisArray[{{plot1,plot2,…}…}]] InputForm[plot]

1.使用Show显示图形

下面绘制函数Sin[x^2] 的图形。

重绘图形

改变方案重绘图形 多个图形的绘制 绘制图形矩阵 给出所有的图形信息

重绘图形时,可以改变命令的设置,下面改变y的比例同时给 图边框

2.使用Show命令进行组合

也可使用Show进行图形组合。图形组合与图形是否有相同的比例无关,这是Mathematica会自动选择新的比例来绘制图形。下面绘制函数-xsin(2x+Pi)的图形和xcos(2x) 然后绘制在一张图时。

3. 将多个图形组合为一个图形

我们也可把图形组合为一个图形,我们还可以用GraphicsArray把多个图形绘制在一个图形矩阵中如下图。

4.5基本三维图形

绘制函数f(x,y)在平面区域上的三维立体图形的基本命令是Plot3D,Plot3D和Plot的工作方式和选项基本相同。ListPlot3D可以用来绘制三维数字集合的三维图形,其用法也类似于listPlot,下面给出这两个函数的常用形式。

Plot3D[f ,(x,xmin,xmax),(y,ymin,ymax)] 绘制以x和y为变量的三维函数/的图形 ListPlot3D[{Z11,Z12,…},{Z21,Z22,…},…..]] 绘出高度为Zvx数组的三维图形

Plot3D同平面图形一样,也有许多输出选项,你可通过多次试验找出你所需的最佳图形样式。

选项

Axes AxesLabel Boxed ColorFunction TextStyle ormatType DisplayFunction FaceGrids HiddenSurface Lighdng Mesh PlotRange Shading ViewPoint 1.三维绘图举例

(1).函数sin(x+y)cos(x+y)的立体图

True None True Automatic STextStyle StandardForm SdlisplayFunction None True True True Automatic True

{1.3,-2.4,2}

取值

是否包括坐标轴

在轴上加上标志:zlabel规定z轴的标志,{xlabel,ylabel,zlabel}规定所有轴的标志 是否在曲面周围加上立方体

使用什么颜色的明暗度;Hue表示使用一系列颜色

用于图形文本的缺省类型 用于图形文本的缺省格式类型 如何绘制图形,Indentity表示不显示 如何在立体界面上绘上网格;All表示在每个界面上绘上网格

是否以立体的形式绘出曲面 是否用明暗分布米给表面加色 是否在表面上绘出xy网格

图中坐标的范围;可以规定为All,{zmin,zmax}或{xminn,xmax},{ymin,ymax},{zmin,zmax} 表面是用阴影还是留空白 表面的空间观察点

意义

(2).对于三维图形中Axes、Axeslabel、Boxed等操作同二维图形的一些操作很相似。用PlotRange设定曲线的表面的变化范围。

(3).图形轴上加上标记,且在每个平面上画上网格。

(4).视图的改变

学习过画法几何或工程制图的都知道,制图时通常用三视图来表示一个物体的具体形状特性。我们在生活中也知道从不同观察点观察物体,其效果是很不一样的。Mathematica在绘制立体图形时,在系统默认的情况下,观察点在(1.3,-2.4,2)处。这个参考点选择是具有一般性的,因此偶尔把图形的不同部分重在一起也不会发生视觉混乱。 下面例子改变观察视点。

从上面我们可以看出,观察点位于曲面的上方有利于看清对于图形全貌。对于较复杂的图形,我们在所绘的图形上包括尽可能多的曲线对于我们观察很有帮助。同时,在曲面的周围直接绘出立方体盒子也有利于我们认清曲面的方位。

(6).下面是没有网格和立体盒子的曲面图,它看起来就不如前面的图形清晰明了。

(7).下图给出没有阴影的曲面

带有阴影和网格的图形对于理解曲面的形状是很有好处的。在有些矢量图形的输出装置中,你可能得不到阴影,但是当有阴影时,输出装置可能要花很长时间来输出它。

(8).给空间立体曲面着色

通常情况下,Mathematica为了使图形更加逼真而用明暗分布的形式给空间立体曲面着色。在这种情况下,Mathematica假定在图形的右上方有三种光源照在物体上。但有时这种方法会造成混乱,此时你可用Lighting->False来采取根据高度在表面上涂以不同灰度的阴影的方法。

2用数据来进行绘图

同二维绘图一样,三维图形也可用数据来进行绘图。下面给出数据矩阵,因其较大未表示其结果。

3.三维空间的参数方程绘图

三维空间中的参数绘图函数ParametricPlot3D[{fx,fv,fz},{t,tmin,tmax}]和二维空间中的ParametricPlot很相仿。在这种情况下,Mathematica实际上都是根据参数t来产生系列胡点,然后再连接起来。

三维参数作图的基本形式为:

ParametricPlot3D[{fx,fv,fz},{t,tmin,tmax}]

ParametricPlot3D[{fx,fv,fz},{t,tmin,tmax},{u,umin,umax}] ParametricPlot3D[{fx,fv,fz,s}…..]

ParametricPlot3D[{fx,fv,fz},{gx,gy,gz}…..]]

下面是一些空间曲线的例子

给出空间曲线的参数图 给出空间曲面的参数图

按照函数关系s绘出参数图的阴影部分

把一些图形绘制在一起

结果为

命令ParametricPlot3D[{fx,fv,fz},{t,tmin,tmax},{u,umin,umax}] 产生一个见曲面而不是一条曲线曲面是由四边形组成。

下面这个图形也很漂亮

5.1极限

Mathematica计算极限的命令是Limit它的使用方法主要有

Limit[expr,x->x0]

Limit[expr,x->x0,Direction->1] Limit[expr,x->x0,Direction->-1]

趋向的点可以是常数,也可以是+∞,-∞ 例如

当x趋向于x0时求expr的极限当x趋向于x0时求expr的左极限当x趋向于x0时求expr的右极限

1.求

2.求

3.求

5.2微分

1.函数的微分

在Mathematica 中,计算函数的微分或是非常方便的,命令为D[f,x],表示对x求函数f的导数或偏导数。该函数的常用格式有以下几种

D[f,x]

计算微分

D[f,x1,x2,…]

计算多重偏微分

D[f,{x,n}]

计算n阶微分

D[f,x,NonConstants->{v1,v2,----}]

计算微分其中v1,v2…依赖于x

例如 1.求函数sinx

的导数

2.求函数exsinx的2阶导数

3.假设a是常数可以对sinax求导

4.如果对二元函数f(x,y)=x^2*y+y^2求对x,y 求一阶和二阶偏导

搜索更多关于: mathematica-超级教程  的文档
mathematica-超级教程 .doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c6klis2s0h44x67j2pulh_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top