Mathematica的用法

1.1.1Mathematica的启动和运行                         

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].如图

MathematicaNotebook界面下,可以用这种交互方式完成各种运算,如函数作图,求极限、解方程等,也可以用它编写像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中,函数名和自变量之间的分隔符是用方括号“[ ]”,而不是一般数学书上用的圆括号( ),初学者很容易犯这类错误。

如果输入了不合语法规则的表达式,系统会显示出错信息,并且不给出计算结果,例如:要画正弦函数在区间[-1010]上的图形,输入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 PackagesMathLink 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可以表示任意长度的精确实数,而不受所用的计算机字长的影响。整数与整数的计算结果仍是精确的整数或是有理数。例如:2100次方是一个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=

  

2.2变量                           

 

1.变量的命名

    Mathematica中内部函数和命令都是以大写字母开始的标示符。为了不会与它门混淆,我们自定义的变量应该是以小写字母开始,后跟数字和字母的组合,长度不限例如:a12,ast,aST都是合法的,而12az*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]                                                                 mn整除的余数,余数与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,自变量为xexpr是表达式。在执行时会把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的数值表,imin变到max

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

Table[f,max]                 给出maxf的表

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

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

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

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

下面给出xi的值的表,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,范围从820

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]:=%//TableForm

Out[6]//TableForm=5 6 7

7 8 9

9 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提供了丰富的函数,详细的可以查阅后面的附录或者系统帮助。

2.5 表达式                                             

 

1表达式的含义

Mathematica 能处理数学公式,表以及图形等多多种数据形式。尽管他们从形式上看起来不一样,但在Mathematica内部都被看成同种类型,即都把他们当作表达式的形式。Mathematica 中的表达式是由常量、变量、函数、命令、运算符和括号等组成,他最典型的形式是f[x,y]

2.表达式的表示形式

    在显示表达式时,由于需要的不同,有时我们需要表达式的展开形式,有时又需要其因子乘积的形式。在我们计算过程中可能得到很复杂的表达式,这时我们又需要对它们进行化简。常用的处理这种情况的函数。变换表达式表示形式函数

表达式(x+y^4x+y^2) 展开:

还原上面的表达式为因子乘积的形式:

   多项式表达式的项数较多,比较复杂,在显示时显得比较杂乱,而且在计算过程中没有必要知道全部的内容;或表达式的项很有规律,没有必要打印全部的表达式的结果,Mathematica提供了一些命令,可将它缩短输出或不输

  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值