Contenu connexe
Similaire à 实验一 Mathematica软件简介 (20)
实验一 Mathematica软件简介
- 1. 实验一 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]为第一输
入行的标志,Out[1] 为第一输出行的标志(注意:输入行的标志 In[1]:=, In[2]:=,
……;输出行的标志 Out[1]=,Out[2]=,……均是计算机自动给出的).如果输入的语句
和表达式不能在一行显示完,可以按 Enter 键后在下一行继续输入,但一个命令或表达式
在没写完需换行则要加“”,在后面接着按 Enter 后继续输入.
- 2. 图1
图2
三、Mathematica 中的数、运算符、变量与表达式
1.数
Mathematica 的数据分为两大类:一类是我们平常写出的数,叫普通数,另一类是系
统内部的常数,有固定的写法.
Mathematica 中的普通数有整数、有理数、实数、复数四种类型,见表 1
表1
类型 描述 实例 特征说明
整数 Integer 33889 任意长度的精确数
有理数 Rationa 27/79 化简过的分数
l
实数 Real 109.0 任意精确度的近似数
复数 Complex 12.0+2I 实部、虚部可为整数、有理数、实数
- 3. 常数
在 Mathematica 中定义了一些常数和常量,现将它们列如下表:
常量名 数学含义 解释
Pi π 圆周率
E e 自然对数的底数
I i 虚数单位
Infinity ∞ 无穷大
Degree π/180 度数
GoldRatio (1 + 5 ) / 2 黄金分割率
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.表达式
表达式是以变量、常量、运算符构成的式子、表、甚至是图形,例如
3*x^3-2*x+5 和 x<=0 分别是算术表达式和关系表达式.
写表达式时,要注意以下几点:
(1)所有表达式必须以线性形式写出.因此分子、 分母、指数、下标等都必须写在同一行上.
(2)只能使用合法的标识符(字符或字符串).
(3)为了指定运算的次序可以利用括号.括号必须成对出现,且只有一种括号“(”与“)
”,除了特定符号外不得使用方括号“[”与“]”及花括号“{”与“}”.
变量的赋值,格式为:变量名=表达式
或 变量名 1=变量名 2=表达式.
- 4. 例如: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
实验 2 先求表达式 3 × 5 − 10 ÷ (1 + 4) 的值,再求该表达式的平方.
解 在主工作窗口用户区输入表达式 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 键得该表达式平方运算结果.
- 5. 图4
2.代数运算
Mathematica 的一个重要的功能是进行代数公式演算,即符号运算.
2 3
实验 3 设有多项式 x − x − 2和x − 1 .
(1)求二者的和,差,积;
(2)将二者的积分解因式;
(3)将二者的积展开成单项式的和.
解 In[1]:=p1=x^2-x-2
2
Out[1]= - 2 - x + x
In[2]:=p2=x^3-1
3
Out[2]= - 1 + x
In[3]:=p1+p2
2 3
Out[3]= - 3 - x + x + x
In[4]:=p1-p2
2 3
Out[4]= - 1 - x + x - x
In[5]:=p1*p2
Out[5]=
In[6]:=Factor[p1*p2]
Out[6]=
In[7]:=Expand[p1*p2]
2 3 4 5
Out[7]= 2 + x - x - 2 x - x + x
其中 Factor[多项式]表示将其括号内的多项式分解因式;Expand[多项式] 表示将其
括号内的多项式展开成按升幂排列的单项式之和的形式.
值得注意的是,上面提到的 Factor[多项式]和 Expand[多项式]均是 Mathematica 系
统中的函数,其中 Factor 和 Expand 分别为其函数名(函数名的第一个字母必须大写) .
事实上 Mathematica 系统中含有丰富的函数,后面将结合具体内容介绍有关函数命令.
课后实验一
- 6. 1.计算下列各式:
(1)61 15 (2) 169 (3)90!
3 2
2.将多项式 x − 6 x + 5 x分解因式.
3 4 3
3.设有多项式 x − 2 x − 2和2 x + 2 x − +5 x − 1 ,求二者的和、差、积.
五、函数运算
(一)常用函数
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 为底的对数函数
Sin[x] 正弦函数
Cos[x] 余弦函数
Tan[x] 正切函数
Cot[x] 余切函数
Sec[x] 正割函数
Csc[x] 余割函数
- 7. 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_即
可.
在运行中,可用“f[x_ ]:=.”清除函数 f[x_ ]的定义,用 Clear[f]清除所有以 f 为
函数名的函数定义.
π
定义函数 f ( x) = x + 2 x + sin x ,先分别求 x = 1,5.1,
3
实验 6
2 时的函数值,
2
再求 f ( x ) .
- 8. 解 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]
2
在 Out[9]中,由于系统不知道变量 x 的符号,所以没有对 x 进行开方运算.
2. 带附加条件的自定义函数
在使用“f[x_ ]:=表达式”定义规则时,可以给规则附加条件,附加条件放在定义规
则表达式后面,通过“/;”与表达式连接.规则的附加条件形式为:
f[x_ ]:=表达式/;条件
在调用上述规则时,实在参数必须满足附加条件,系统才调用规则.
“附加条件”经常写成用关系运算符连接着的两个表达式,即关系表达式 .用一个关
系表达式只能表示一个条件,如表示多个条件的组合,必须用逻辑运算符将多个关系表达
式组合到一起.
实验 7 设有分段函数
e x sin x x≤0
f ( x) = ln x 0< x≤e
x x>e
求f (−100), f (1.5), f (2)及f (100).
解 In[10]:=f[x_]:=Exp[x]Sin[x]/;x<=0
In[11]:=f[x_]:=Log[x]/;(x>0)&&(x<=E)
In[12]:=f[x_]:=Sqrt[x]/;x>E
In[13]:=f[-100.0]
- 44
Out[13]= 1.88372 ´ 10
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 的值.
2.求 sin30o.
3.求复数 3+2i 的模,辐角,实部及虚部.
4.设 f(x)=sin2x-5lnx-ex,求 f(1.3),f(2)及 f(100).
- 9. x 2 + 1 x<0
5.设函数 f ( x) = ,求 f(-1.5)及 f(2).
ln( x + 1) x≥0
六、作函数图像
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.
实验 8 (1)作 y=sinx 和 y=cosx 在[0,2π]内的图像,且两坐标轴上的单位比为 0.618.
(2)作 y=sinx 和 y=cosx 在[0,2π]内的图像,且两坐标轴上的单位比为 1:1.
其输入和输出如图 6.
- 10. 图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
0.5
1 2 3 4 5 6
-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}]]
输出如图 8
- 11. 1
0.5
1 2 3 4 5 6
-0.5
-1
图8
实 验 12 作 y =sin x 和 y =cos x 在 [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
0.5
1 2 3 4 5 6
-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.
- 12. 4
3
2
1
-2 -1 1 2 3
-1
-2
图 10
课后实验三
1
1.作函数y = x 4的图像.
1
2.作函数y = ( ) x 的图像.
2
3.作函数y = log 1 x的图像.
2
π
4.作函数y = 3 sin( 2 x +
)在一个周期内的图像.
4
x 2 + 1 x ≤ 0
5.作分段函数y = 的图像.
ln x x>0
6.在同一坐标系中作出 y=x,y=sinx,x∈[-π/2,π/2]和 y=arcsinx, x∈[-1,1]的图
像, 且要求两坐标轴上的单位比为 1:1, y=x 用虚线和红色,y=sinx 用绿色,y=arcsinx 用
蓝色.