12
实实 Mathematica 实实实实 实实实实: 1.掌掌掌掌掌掌掌掌掌,掌掌掌掌掌掌掌掌掌 2.掌掌掌 Mathematica 掌掌掌掌掌掌掌掌掌掌掌掌掌掌掌 掌掌 Mathematica 掌掌掌掌掌掌掌掌掌掌 掌掌 Mathematica 掌掌掌掌掌 实实实实实实实: 掌掌 ,掌掌掌掌掌掌掌 实实实实实: Mathematica 掌 掌 Wolfram 掌 1986 掌掌掌 掌掌掌掌 掌掌掌掌掌掌掌掌掌掌 、、 Stephen Wolfram 掌掌Mathematica 掌 掌 掌 掌掌掌掌掌掌 掌掌掌掌掌 掌掌掌掌掌 掌掌掌掌掌 统统 ,、、、。 Mathematica 掌 掌掌掌掌掌掌掌掌掌掌“掌”掌“掌掌掌掌”掌掌掌掌掌掌掌掌掌掌掌掌掌掌掌掌掌掌掌掌掌掌掌掌掌掌掌掌掌掌 、、。;,; 一, Mathematica 掌掌掌掌掌 Mathematica 掌掌 C 掌 掌 BASIC 掌掌掌掌掌掌掌掌掌掌掌掌掌掌掌 掌掌 MathCADMatlab 掌 掌 MacsymaMapleReduce 掌 SMP 掌 掌 APL 掌 LISP 掌掌掌掌掌掌掌掌掌掌掌掌掌 C 掌 PASCAL 掌 掌掌掌掌掌掌 Windows 掌掌掌掌 4. 1 掌 . Mathematica 实实实实实实 1 掌掌掌掌掌 掌掌 掌 ):,, . 2 掌掌掌掌 ):,,. 3 掌掌掌掌掌 ):,,,.掌 掌掌掌 ,, . Mathematica 实实实实实实实实 1 掌掌掌掌掌 ):, Windows98 掌 掌掌掌掌掌掌掌—掌掌— Mathematica 4.1—Mathematica 4.1 掌掌掌掌掌掌掌 .掌掌掌掌掌掌掌 Mathematica 掌 掌 1. 2 掌掌掌掌 ): Mathematica 掌 掌 .掌掌掌 1+2,掌掌掌掌掌掌 Shift+Enter 掌掌 .掌掌掌掌掌掌 2掌掌掌In[1]掌掌掌掌掌掌掌 一, Out[1] 掌 一(: In[1]掌=掌 In[2]掌= …… 掌掌掌掌掌掌 Out[1]= 掌 Out[2]= …… 掌掌掌掌掌掌掌掌掌掌 . 掌掌掌掌掌掌掌掌掌掌掌掌掌掌 掌掌掌掌掌掌掌掌 一, Enter掌掌掌掌掌掌掌掌掌掌掌掌掌掌 一,一 掌掌掌掌掌掌掌掌掌掌掌掌掌掌掌“\” 掌掌 Enter 掌掌掌掌掌.

实验一 Mathematica软件简介

Embed Size (px)

Citation preview

Page 1: 实验一   Mathematica软件简介

实验一 Mathematica 软件简介

实验目的: 1.掌握软件的基本功能,为数学实验提供工具。

2.掌握用 Mathematica 软件作函数图形的语句或作图方法。

实验重点:软件 Mathematica 的运行环境及基本知识

实验难点:软件 Mathematica 的命令格式

实验过程与要求: 教师利用多媒体组织教学,边讲边操作示范。

实验的内容:Mathematica 系统是美国 Wolfram 公司的产品,1986 年由美国伊利诺大学复杂系统研究

中心主任、物理学、数学和计算机科学教授 Stephen Wolfram 研制。Mathematica 系统是符号计算系统,它使用方便、功能强大、用户友好、扩展便利。Mathematica 是最大的单应用程序之一,它内容丰富、功能强大的函数覆盖了初等数学、微积分和线性代数等众多的数学领域。它包含了数学多方向的新方法和新技术;它包含的近百个作图函数,是数据可视化的最好工具;它也是“数学模型”和“数学实验”课程最好的工具之一,世界各地的大学和高等教育工作者已开发基于 Mathematica 的多门课程。

Mathematica 是用 C 语言编写的,具有 BASIC 语言的简单易学的交互式操作方式;具有 MathCAD、Matlab 那样强的数值计算功能;具有 Macsyma、Maple、Reduce 和 SMP 那样的符号计算功能;具有 APL 和 LISP 那样的人工智能列表处理功能;象 C 与 PASCAL 那样的结构化程序设计语言。

这里主要介绍 Windows 环境下的 4. 1 版本在高等数学等领域的应用,其它版本类似.

一、Mathematica 软件功能简介

(1)作函数的图像:用作图程序,当输入被作函数时,计算机直接作出该函数的图像.

(2)数值计算:可简单地计算函数值,积分值等,可求微分方程的数值解等.

(3)符号运算:可计算函数的极限,导数,不定积分,求微分方程的通解等 .在这以前,计算机只能作数值计算,不能作符号运算.

二、Mathematica 的启动与基本操作

(1 ) 启 动 : 系 统 安 装 好 以 后 , 在 Windows98 中 , 用 鼠 标 点 击 开 始 — 程 序 —Mathematica 4.1—Mathematica 4.1 菜 单 即 可 进 入 系 统 . 计 算 机 屏 幕 出 现Mathematica 的主工作窗口(图 1).

(2)基本操作:进入系统后,出现 Mathematica 的主工作窗口,即可键入指令.如键入 1+2,然后同时按下 Shift+Enter,即可得到结果.窗口显示如图 2,其中 In[1]为第一

Page 2: 实验一   Mathematica软件简介

输入行的标志,Out[1] 为第一输出行的标志(注意:输入行的标志 In[1]:=, In[2]:=,……;输出行的标志 Out[1]=,Out[2]=,……均是计算机自动给出的).如果输入的语句和表达式不能在一行显示完,可以按 Enter 键后在下一行继续输入,但一个命令或表达式在没写完需换行则要加“\”,在后面接着按 Enter 后继续输入.

图 1

图 2

三、Mathematica 中的数、运算符、变量与表达式

1.数Mathematica 的数据分为两大类:一类是我们平常写出的数,叫普通数,另一类是

系统内部的常数,有固定的写法.

Mathematica 中的普通数有整数、有理数、实数、复数四种类型,见表 1

表 1

Page 3: 实验一   Mathematica软件简介

类型 描述 实例 特征说明整数 Integer 33889 任意长度的精确数

有理数 Rationa

l

27/79 化简过的分数

实数 Real 109.0 任意精确度的近似数复数 Comple

x

12.0+2

I实部、虚部可为整数、有理数、实数

常数在 Mathematica 中定义了一些常数和常量,现将它们列如下表:

常量名 数学含义 解释Pi π 圆周率E e 自然对数的底数I i 虚数单位

Infinity ∞ 无穷大Degree π/180 度数

GoldRatio 黄金分割率

In[1]:=N[Pi,50]

Out[1]= 3.1415926535897932384626433832795028841971693993751

要注意这些数书写时必须以大写字母开头.

2.运算符 (1)算术运算符 +、-、*、/、̂ 分别表示加、减,乘、除、乘方的运算,其中在不引起混淆的情况下乘法运算符“*”也可省略不写,另外开方可以表示成分数指数,上述运算的优先顺序同数学运算完全一致.

(2)关系运算符 = =、!=、>、>=、<、<=分别表示等于、不等于、大于、大于等于、小于、小于等于.

(3)逻辑运算符逻辑运算符及其意义见表 2

表 2

逻辑运算符 名称 实例 意义! 非 !A 若A 为真,则!A 为假;若A 为假,则!A 为真&& 与 A&&B 当 A,B 均真时,则A&&B 为真;否则A&&B 为假|| 或 A||B 当 A,B 中有一为真,则A||B 为真;否则A||B 为假

3.变量Mathematica 中变量的名称是以小写字母(不能以数字开头)开头的字符或字符串,

但不能有空格和标点符号,例如: abc和 g2 均是合法的变量名.在 Mathematica 中,变量即取即用,不需先说明变量的类型后再使用.在 Mathematica 中变量不仅可存放一个整数或复数,还可存放一个多项式或复杂的算式.

4.表达式表达式是以变量、常量、运算符构成的式子、表、甚至是图形,例如

Page 4: 实验一   Mathematica软件简介

3*x^3-2*x+5 和 x<=0 分别是算术表达式和关系表达式.

写表达式时,要注意以下几点:(1)所有表达式必须以线性形式写出.因此分子、分母、指数、下标等都必须写在同一行上.

(2)只能使用合法的标识符(字符或字符串).

(3)为了指定运算的次序可以利用括号.括号必须成对出现,且只有一种括号“(”与“)”,除了特定符号外不得使用方括号“[”与“]”及花括号“{”与“}”.

变量的赋值,格式为:变量名=表达式 或 变量名 1=变量名 2=表达式.

例如:a=3*5^2 y=2*x^2-1

代数式中的变量也可以用另一个变量(或代数式)替换,如把上例中变量 y 中的 x 用Pi-x替换,可表述为

y=2*x^2-1; y/.x->Pi-x

x->Pi-x中的“->”是由键盘上的减号及大于号组成的,以后各节中不在说明.

变量的清除,当一个变量 a无用时,可以用命令 Clear[a]加以清除,以免影响后面计算的结果.注意在 Mathematica 中,内部函数或命令都是以大写字母开头的标识符(字符或字符串).

四、用 Mathematica 作算术运算与代数运算

1.算术运算进入系统后,出现 Mathematica 的主工作窗口(图 1),此时可以通过键盘输入要

计算的表达式,再按 Shift+Enter 键得运算结果.

实验 1 计算 80!.

解 在主工作窗口用户区输入 80!.

按下 Shift+Enter 键得运算结果(图 3).

图 3

实验 2 先求表达式 的值,再求该表达式的平方.

Page 5: 实验一   Mathematica软件简介

解 在主工作窗口用户区输入表达式 3*5^2-10/(1+4)后按下 Shift+Enter 键得该表达式运算结果,然后输入%^2 按下 Shift+Enter 键得该

表达式平方运算结果(图 4).

其中%代表上一输出结果,该例中指 73;如果输入行的标志 In[1]:=, In[2]:=,……;输出行的标志 Out[1]=,Out[2]=,……代表的表达式是唯一的,则可将其写入以后的运算表达式中代表其对应的表达式参与运算 .例如上例中求表达式的平方还可输入为In[1]^2 或 Out[1]^2 后按下 Shift+Enter 键得该表达式平方运算结果.

图 4

2.代数运算Mathematica 的一个重要的功能是进行代数公式演算,即符号运算.

实验 3 设有多项式 .

(1)求二者的和,差,积;(2)将二者的积分解因式;(3)将二者的积展开成单项式的和.

解 In[1]:=p1=x^2-x-2

Out[1]= - 2 - x+x2

In[2]:=p2=x^3-1

Out[2]= - 1+x3

In[3]:=p1+p2

Out[3]= - 3 - x+x2 +x3

In[4]:=p1-p2

Out[4]= - 1 - x+x2 - x3

In[5]:=p1*p2

Out[5]=

In[6]:=Factor[p1*p2]

Out[6]=

In[7]:=Expand[p1*p2]

Out[7]=2+x - x2 - 2x3 - x4+x5

其中 Factor[多项式]表示将其括号内的多项式分解因式;Expand[多项式] 表示将其括号内的多项式展开成按升幂排列的单项式之和的形式.

Page 6: 实验一   Mathematica软件简介

值得注意的是,上面提到的 Factor[多项式]和 Expand[多项式]均是 Mathematica

系统中的函数,其中 Factor 和 Expand 分别为其函数名(函数名的第一个字母必须大写).事实上Mathematica 系统中含有丰富的函数,后面将结合具体内容介绍有关函数命令.

课后实验一

1.计算下列各式:

2.将多项式3.设有多项式 ,求二者的和、差、积.

五、函数运算(一)常用函数Mathematica 系统中的数学函数是根据定义规则命名的.就大多数函数而言,其名字

通常是英文单词的全写.对于一些非常通用的函数,系统使用传统的缩写 .下面给出一些常用函数的函数名及功能.

1.数值函数N[x,k] 求出表达式的近似值,其中 k为可选项,它指有效数字的位数Round[x] 舍入取整Abs[x] 取绝对值Max[x1,x2,…] 取 x1,x2,…中的最大值Min[x1,x2,…] 取 x1,x2,…中的最小值x+Iy 复数 x+iy

Re[z] 复数 z的实部Im[z] 复数 z的虚部Abs[z] 复数 z的模Arg[z] 复数 z的辐角PrimeQ[n] n为素数时为真,否则为假Mod[m,n] m被 n除的正余数GCD[n1,n2,…] n1,n2…的最大公约数LCM[n1,n2,…] n1,n2…的最小公倍数Sqrt[x] 求平方根2.基本初等函数Exp[x] 以 e 为底的指数函数Log[a,x] 以 a为底的对数函数Log[x] 以 e 为底的对数函数

Page 7: 实验一   Mathematica软件简介

Sin[x] 正弦函数Cos[x] 余弦函数Tan[x] 正切函数Cot[x] 余切函数Sec[x] 正割函数Csc[x] 余割函数ArcSin[x] 反正弦函数ArcCos[x] 反余弦函数 ArcTan[x] 反正切函数ArcCot[x] 反余切函数使用 Mathematica 系统中的数学函数要注意以下几点:(1)Mathematica 系统中的函数都以大写字母开头.如果用户输入的函数没有用大

写字母开头,Mathematica将不能识别,并提出警告信息; (2)Mathematica 系统中的函数的自变量都应放在方括号内;(3)这些函数的自变量可以是数值,也可以是算术表达式;(4)计算三角函数时,要注意使用弧度制,如果要使用角度制,不妨把角度制先乘

以 Degree常数(Degree=π/180),转换为弧度制.

实验 4 求表达式 lg2+ln3 的值.

解 In[1]:=Log[10,2]+Log[3]In[2]:=N[Log[10,2]+Log[3],6]

Out[2]=1.39964

In[3]:=Log[10.0,2]+Log[3.]

Out[3]=1.39964

实验 4 中,对应于输入语句 In[1],输出语句 Out[1]并没有给出 lg2 及 ln3 的“数值结果”,这是由于 Mathematica 符号计算系统的“对于只含有准确数的输入表达式也只进行完全准确的运算并输出相应的准确结果”的特性所决定的 .在 In[2]中用数值转换函数N[Log[10,2]+Log[3],6],将对表达式 Log[10,2]+Log[3]的运算转换成了计算结果具有

6 位 有 效 数 字 的 实 数 形 式 运 算 , 所 以 输 出 结 果 Out[2]=1.39964 . 在

In[3]:=Log[10.0,2]+Log[3.]中,用实数 10.0 代替整数 10,用实数 3.代替整数 3,这里 10.0 及 3.都是实数的表示法,两种表示可以任选其一.

计算时欲得“数值结果”输入数时用实数形式.

实验 5 求 sin90o.

解 In[4]:=Sin[90Pi/180]

(二)自定义函数1.不带附加条件的自定义函数在 Mathematica 系统中,所有的输入都是表达式,所有的操作都是调用转化规则对

表达式求值.一个函数就是一条规则,定义一个函数就是定义一条规则 .定义一个一元函数的规则是:

f[x_ ]:=表达式其中表达式是以 x 为自变量的,x_称为形式参数,f 是函数名,函数名的命名规则同变

量名的命名规则.

调用自定义函数 f[x_ ],只需用实在参数(变量或数值等)代替其中的形式参数 x_即

Page 8: 实验一   Mathematica软件简介

可.

在运行中,可用“f[x_ ]:=.”清除函数 f[x_ ]的定义,用 Clear[f]清除所有以 f 为函数名的函数定义.

实验 6 定义函数 ,先分别求 时的函数值,

再求 .

解 In[5]:=f[x_]:=x^3+2Sqrt[x]+Sin[x]In[6]:=f[1.]

Out[6]=3.84147

In[7]:=f[5.1]

Out[7]=136.242

In[8]:=f[N[Pi]/2.]

Out[8]=7.38241

In[9]:=f[x^2]

在 Out[9]中,由于系统不知道变量 x的符号,所以没有对 进行开方运算.

2. 带附加条件的自定义函数在使用“f[x_ ]:=表达式”定义规则时,可以给规则附加条件,附加条件放在定义规

则表达式后面,通过“/;”与表达式连接.规则的附加条件形式为:f[x_ ]:=表达式/;条件

在调用上述规则时,实在参数必须满足附加条件,系统才调用规则.

“附加条件”经常写成用关系运算符连接着的两个表达式,即关系表达式 .用一个关系表达式只能表示一个条件,如表示多个条件的组合,必须用逻辑运算符将多个关系表达式组合到一起.

实验 7 设有分段函数

解 In[10]:=f[x_]:=Exp[x]Sin[x]/;x<=0In[11]:=f[x_]:=Log[x]/;(x>0)&&(x<=E)

In[12]:=f[x_]:=Sqrt[x]/;x>E

In[13]:=f[-100.0]

Out[13]=1.88372´ 10-44

In[14]:=f[1.5]

Out[14]=0.405465

In[15]:=f[2.0]

Out[15]=0.693147

In[16]:=f[100.0]

Out[16]=10.

课后实验二

1.求表达式 lg100+lne-lg5 的值.

Page 9: 实验一   Mathematica软件简介

2.求 sin30o.

3.求复数 3+2i的模,辐角,实部及虚部.

4.设 f(x)=sin2x-5lnx-ex,求 f(1.3),f(2)及 f(100).

5.设函数 ,求 f(-1.5)及 f(2).

六、作函数图像

1、作图函数与输入格式

在 Mathematica 系统中用函数 Plot 可以很方便地作出一元函数的静态图像,基本格式为:

Plot[{f1,f2,…},{x,xmin,xmax},可选参数]

其中表{f1,f2,…}的 fi(i=1,2,3,…)是绘制图形的函数名,表{x,xmin,xmax}中 x 为函数 fi(i=1,2,3,…)的自变量,xmin和 xmax是自变量的取值区间的左端点和右端点.

实验 7 作 y=x2-1 在[-2,2]内的图像和作 y=lgx 在[0.3,4]内的图像,其输入和输出如图5.

图 5

2、作图时的可选参数1)参数 AspectRatio(面貌比)平时我们作图时,两个坐标轴的单位长度应该一致,即 1:1.但在 Mathematica 系统中

根据美学原理系统默认的纵横之比为 1:0.618,而将参数 AspectRatio 的值设置为Automatic(自动的)时可使纵横比为 1:1.

Page 10: 实验一   Mathematica软件简介

实验 8 (1)作 y=sinx和 y=cosx在[0,2π]内的图像,且两坐标轴上的单位比为 0.618.

(2)作 y=sinx和 y=cosx在[0,2π]内的图像,且两坐标轴上的单位比为 1:1.

其输入和输出如图 6.

图 6

2)参数 PlotStyle(画图风格)

PlotStyle 的值是一个表,它决定画线的虚实、宽度、色彩等.

(1)取值 RGBColor[r,g,b]—决定画线的色彩.r,g,b 分别表示红,绿,蓝色的强度,其值为[0,1]之间的数.

实验 9 作 y=sinx在[0,2π]内的图像,线条用红色.

输入:Plot[Sin[x],{x,0,2Pi},PlotStyle->{RGBColor[1,0,0]}]

表示画出的曲线为红色.

(2) 取值 Thickness[t](厚度,浓度)—决定画线的宽度.t是一个介于 0,1 之间的数,且远远小于 1,因为整个图形的宽度为 1.

实验 10 作 y=sinx在[0,2π]内的图像,线条厚度 t=0.02.

输入:Plot[Sin[x],{x,0,2Pi},PlotStyle->Thickness[0.02]]

输出如图 7

1 2 3 4 5 6

-1

-0.5

0.5

1

图 7

(3) 取值 Dashing[{d1,d2,…}]—决定画线的虚实,其中表{d1,d2,…}确定线的虚实分段方式,di(i=1,2,…)的取值介于 0,1 之间.

实验 11 作 y=sinx在[0,2π]内的图像,线条用虚线.

输入:Plot[Sin[x],{x,0,2Pi},PlotStyle->Dashing[{0.03,0.07}]]

Page 11: 实验一   Mathematica软件简介

输出如图 8

1 2 3 4 5 6

-1

-0.5

0.5

1

图 8

实验 12 作 y=sinx 和 y=cosx 在[0,2π]内的图像,且两坐标轴上的单位比为 1:1,

线条用蓝色虚线.

输入:Plot[{Sin[x],Cos[x]},{x,0,2Pi},AspectRatio->Automatic,PlotStyle-

>{{RGBColor[0,0,1],Dashing[{0.02,0.05}]}}]

输出如图 9

1 2 3 4 5 6

-1

-0.5

0.5

1

图 9

3)参数 DisplayFunction(显示函数)

该参数决定图形的显示与否,当取值为 Identity 时,图形不显示出来.

当取值为$DisplayFunction 时恢复图形的显示.

图形的组合显示函数 Show

Plot 的作用可以同时在同一坐标系的同一区间内作出不同函数的图像 ,但有时需要在同一坐标系的不同区间作出不同函数的图像,或者在同一坐标系作一个函数而要求函数的各个部分具有不同的形态(像分段函数),这个时候就需要使用 Show 函数.

实验 13 在同一坐标系中作出 y=ex 和 y=lnx 的图像,并说明它们的图像关于直线y=x对称.

输入:a=Plot[Exp[x],{x,-2,2},AspectRatio->Automatic,PlotStyle->RGBColor[0,1,0],

DisplayFunction->Identity]

b=Plot[Log[x],{x,0.3,3},AspectRatio->Automatic,PlotStyle->RGBColor[1,0,0],

DisplayFunction->Identity]

c=Plot[x,{x,-2,2},AspectRatio->Automatic,PlotStyle->Dashing[{0.09,0.04}],

DisplayFunction->Identity]

Show[a,b,c,DisplayFunction$DisplayFunction]

输出如图 10.

Page 12: 实验一   Mathematica软件简介

-2 -1 1 2 3

-2

-1

1

2

3

4

图 10

课后实验三

6.在同一坐标系中作出 y=x,y=sinx,x∈[-π/2,π/2]和 y=arcsinx, x∈[-1,1]的图像, 且要求两坐标轴上的单位比为 1:1, y=x 用虚线和红色,y=sinx 用绿色,y=arcsinx

用蓝色.