2023年12月9日发(作者:揭阳北师大版数学试卷)
第零讲 Mathematica软件使用简介
一、系统概述
Mathematica是美国Wolfram研究公司开发的一个功能强大的计算机数学软件系统,也称为符号计算系统。Mathematica提供了范围广泛的数学计算功能,支持在各个领域的人们所需要的各种计算。它是从事各种理论工作(数学、物理、„„)的科学工作者、从事实际工作的工程技术人员、以及学校教师和学生的首选计算平台。
Mathematica的主要功能包括三个方面:符号演算、数值计算和图形技术。例如,它可以做多项式的各种计算(四则计算、展开、因式分解等);求整式方程、有理式方程和的等的精确解和近似解;数值的或一般表达式的向量和矩阵的各种计算;求一般函数表达式的极限、导函数、积分、幂级数展开、求解某些微分方程等;任意位的整数的精确计算、分子分母为任意非零整数的有理数的精确计算(四则计算、乘方等)以及任意位精确度的数值(实数值或复数值)计算。使用Mathematica还可以非常方便地作出以各种方式表示的一元和二元函数的图形,可以根据需要自由选择画图的范围和精确度。因此,Mathematica的出现所带来的思维和解题工具的革新必将对各种需要数学计算和绘制函数图形的工作领域产生深远的影响。
Wolfram研究公司自从1988年推出Mathematica系统的1.0 DOS版本以来,历经多次升级和改版,目前已发出For Windows的5.0版本。本精品课程主要以Mathematica4.2 for
Microsoft Windows版本为例简要介绍该系统的功能及其应用。
1.Mathematica的工作环境
Mathematica的运行环境
要成功安装并稳定地运行Mathematica for Windows4.2,用户的计算机必须满足以下基本配置条件:
·P3或更高型号处理器的个人或多媒体计算机;
·Microsoft Windows98、Windows2000、Windows XP或以上版本;
·硬盘空间至少200MB,建议1GB以上
Mathematica的工作窗口及使用
运行Mathematica系统后,将出现下图所示的主窗口: Mathematica4.2的工作窗口有两种类型:笔记本(Notebook)工作窗口和基于文本(Text
Based)的工作窗口,这两个工作窗口分别由Mathematica提供的两个基本组成系统――输入输出控制系统(Front End系统)和内核系统(Kernel系统)所包含的交互接口来实现。在笔记本窗口中,Mathematica可以把输入、输出以文本、图形、平台或其他方式显示出来。笔记本窗口是用户输入计算公式和得到计算结果的窗口。而在用户通过笔记本窗口与Mathematica进行信息交换时,Mathematica系统会通过内核系统发送和接收各种信息,因为内核系统是Mathematica在进行各种计算时实际使用的系统。但是,内核系统所提供的工作窗口是纯文本(Text Based)的工作窗口,因而,在文本窗口中所画的曲线或分数线等将不是由点组成的连续的线,而是由“#”、“-”等符号组成的非连续线。一般地,如果用户不仅需要进行数学计算,而且要用Mathematica绘制精度较高的图形,那么应选择运行Front End 系统,即双击系统安装后默认的Windows桌面图标,打开笔记本工作窗口;若用户只需要进行数学计算,则可在开始菜单的“程序”中运行内核(Kernel)系统,打开文本工作大大加快运算速度。此外,内核系统与汉字系统兼容性较好,在文本窗口中可直接输入汉字。文本窗口中的信息不能以文本形式存盘,只能通过复制和粘贴来使用其中的信息。
2.Mathematica的基本用法
首先单击工作区窗口,工作区窗口的标题栏将以高亮度显示,表示该窗口已被激活。这时即可输入数学表达式进行计算,如输入“18-12”,然后同时按下“Shift+Enter”键执行该计算;可以再输入另一个表达式“2^100”,并执行该计算。计算结果如下图: Mathematica的简单使用方法:
使用File菜单下的“new”命令同时打开多个笔记本工作窗口,并在选中的工作窗口中输入表达式。在工作窗口中可以方便地对表达式、文字和图形进行修改、移动和放缩。
输入表达式时和普通的文本输入一样,Mathematica将把每次的输入进行内部记载,并给每个输入记录用“In[n]”进行编号,计算结果用“Out[n]”编号,第n个计算结果对应第n个输入内容。
在笔记本工作窗口中,任何时候需要执行命令时,都必须使用“Shift+Enter”组合键(方法是:先按住Shift键不放,再按一下Enter键。)
每一次输入和Mathematicai的每一次输出,以及相对应的输入和输出,都被称为“单元(Cell)”。单元在窗口最右侧用”]”标识,而且一次输入和输出一起又构成一个较大的单元。当用鼠标点击单元标识“]”时,该标识会被一个黑框罩住,说明该单元处于被选择状态,这时可对该单元进行删除(按“Delete”键)或复制(按鼠标右键,在出现的菜单中选“复制(Copy)”等操作。
Mathematica的表达式由字母、数字、数学运算符号和标点符号组成。它区分字母的大写和小写,在需要写大写字母的地方必须用大写字母。对于小写字母也是一样,否则系统将会错误地解释输入的命令,执行错误的动作,得到错误的结果。例如,SIN[x]、AreTan[x]k “S、A、T”都必须大写,其他字母必须小写。在笔记本工作窗口中,当每一个表达式输入完毕之后,如果只按回车键,系统将不做任何事情,它相当于在窗口中作某些解释或说明。这时,如果用鼠标点击一下窗口,则会出现一条横线,表明系统在等待用户的下一次输入。
Mathematica的笔记本交互接口与汉字兼容性较差,输入汉字时一般会出现乱码。如果必须输入汉字,可以先选定汉字字体,再输入。方法是:在菜单条的“格式(Format)”中点击“选择字体(Choose Font)”,在对话框中选择一种用户需要的汉字字体。这时再输入汉字就正常了。但是,当进入了下一个单元单元的输入时,系统又会恢复到纯西文状态。
要退出Mathematica系统,可单击“文件”(File)菜单下的“退出(Exit)”选项,也可直接点击系统功能菜单条右端的“Χ”按钮(对于Mathematica的DOS版本,可键入Quit命令退出)。这时,如果尚未把工作结果存盘,系统会显示是否存盘的对话框,若选“是”,则显示存盘的对话框;若选“否”,则系统将直接退出。一般来说,第一次将工作结果存盘时,应选文件菜单下的“另存为”(Save as )选项,以便给存盘的文件命名,其扩展名为。nb,即以Mathemati的笔记本格式存盘。
二、数、函数、变量和表达式
Mathematica系统具有强大的数学功能和符号演算功能。与此同时,为了实现这些功能,系统对用户的操作也提出了较为严格的要求。以下介绍数的表示与计算、函数、变量和表达式的相关知识。
1.数据类型和常数 在Mathematica中,基本的数值类型有四种:整数,有理数、实数和复数
如果计算机的内存足够大,Mathemateic可以表示任意长度的精确实数,而不受所用的计算机字长的影响。整数与整数的计算结果仍是精确的整数或是有理数。例如:2的100次方是一个31位的整数:
In[1] := 2^100
Out[1]=1267659476
在Mathematica中允许使用分数,也就是用有理数表示化简的分数。当两个整数相除而又不能整除时,系统就用有理数来表示,即有理数是由两个整数的比来组成。如:
In[2] := 12345/5555
Out[2]=2469/1111
实数是用浮点数表示的,Mathematica实数的有效位可取任意位数,是一种具有任意精确度的近似实数,当然在计算的时候也可以控制实数的精度。实数有两种表示方法:一种是小数点表示、另一种是用指数表示。如:
In[3] := 0.239998
Out[3]=0.23998
In[4] := 0.12*10^11
Out[4]=0.12*10^11
实数也可以与整数,有理数进行混合运算,结果仍是一个实数。
In[5] := 2+1/4+0.5
Out[5]=2.75
复数是由实部和虚部组成。实部和虚部可以用整数,实数,有理数表示。在Mathematica中,用i 表示虚单位。如:
In[6] := 3+0.7i
Out[6] := 3+0.7i
2.数据类型转换
在Mathematica的应用中,通常对数字的类型要求是不同的。例如在公式推导中的数字常用整数或有理数表示,而在数值计算中的数字常用实数表示。在一般情况下在输出行Out[n]中,系统根据输入行In[n]的数字类型对计算结果做出相应的处理。如果有一些特殊的要求,就要进行数据类型转换。
在Mathematica中的提供以下几个函数达到转换的目的:
将x转换成实数
N[x]
N[x,n]
Rationalize[x]
Rationalize[x,dx]
如:
In[1]=N[5.3, 20]
Out[1]=1.66666666666666666667
In[2] := N[%, 10]
Out[2]=1.66666667
第二行输出是把上面计算的结果变为10位精度的数字。%表示上一输出结果。
In[3]=Rationalize[%]
Out[3]=5/3
数学常数
将x转换成近似实数,精度为n
给出x的有理数近似值
给出x的有理数近似值,误差小于dx Mathematica 中定义了一些常见的数学常数,这些数学常数都是精确数,例如圆周率等。
Pi 表示=3.14159„„
E
Degree
i
Infinity
-Infinity
自然对数的底,e=2.71828„„
/180
虚数单位
无穷大 ∞
负的无穷大 -∞
黄金分割数0.61803
GondenRatio
数学常数可用在公式推导和数值计算中。在数值计算中表示精确值:
In[1] := Pi^2
Out[1]=
3.数的输出形式
在数的输出中可以使用转换函数进行不同数据类型和精度的转换。另外对一些特殊要求的格式还可以使用如下的格式函数:
以n位精度的实数形式输出实数NumberForm [expr, n]
expr
ScientificForm[expr]
EngineergForm [expr]
示例:
In[1] := N[Pi^30, 30]
Out[1]:=
In[2] := NumberForm[%, 10]
Out[2]// NumberForm =8.212893304
下面的函数输出幂值可被3整除的实数:
In[3]=EngineeringForm[%%]
以科学记数法输出实数expr
以工程记数法输出实数expr
2
Out[6]//EngineeringForm=
4.变量的命名
Mathematica中的变量是区分大小写的。Mathematica中的内部函数和命令都是以大写字母开头的标识符,称为保留字。为了不与这些保留字混淆,自定义的变量名应以小写字母开头,后跟数字和字母的组合,长度不限。例如:a12,ast,aST都是合法的,而12a,z*a是非法的。
在Mathematica中,变量不仅可以存放一个数值,还可以存放表达式或复杂的算式。
5.变量的赋值
在Mathmatica中用等号“=”为变量赋值。同一个变量可以表示一个数值,一个数组,一个表达式,甚至一个图形。如:
In[1] := x=3
Out[1]=3
In[2] := x^2+2x
Out[2]=15
In[3] := x=%+1
Out[3]=16
对不同的变量可同时赋给不同的值。如:
In[4] := {u,v,w}={1,2,3} Out[4]={1,2,3}
In[5] := 2u+3v+w
Out[5]=11
对已定义的且不再使用的变量,为防止变量值的混淆,可以随时用“=.”(赋值号和句点)清除其值。如果变量本身也要清除则用函数Clear[x]。如:
In[6] := u=.
In[7] := 2u+v
Out[7]=2+2u
6.变量替换
在给定一个表达式时,其中的变量可能取不同的值,这时可用变量替换来计算表达式的不同值。方法为用“expr/.”(表达式、斜杠、句点)。如:
In[1] := f=x/2+1
Out[1]=
In[2] := f/.x->1
Out[2]=
In[3] := f/.->2
Out[3]=3
表达式中有多个变量则同时替换:
函数
7.系统函数
Mathmatica定义了大量的数学函数,这些函数其名称一般表达了一定的意义,可以帮助理解。下面是一些常用的函数:
不比x大的最大整数
Floor[x]
Ceiling[x]
Sign[x]
Round[x]
Abs[x]
Max[x1, x2, x3…]
Min[x1, x2, x3…]
Random[]
Random[Real,xmax]
Random[Real, {xmin, xmax}]
Exp[x]
Log[x]
Log[b, x]
不比x小的最小整数
符号函数
接近x的整数
x的绝对值
x1,x2,x3„„中的最大值
x1,x2,x3„„中的最小值
0~1之间的随机函数
0~xmax之间的随机函数
xmin~xmax之间的随机函数
指数函数
自然对数函数Inx
以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]
Quotient[m, n]
GCD[n1, n2, n3…]或GCD[s]
LCM[n1, n2…]或LCM[s]
N!
双曲函数
m被n整除的余数,余数与n的符号相同
m/n的整数部分
n1,n2,„„的最大公约数,s为一数集合
n1,n2„„的最大公倍数,s为数据集合
n的阶乘
n的双阶乘
N!!
Mathematica中的函数与数学上的函数不完全相同,Mathematica中的函数是一个具有独立功能的程序模块,可以直接被调用。同时每一函数也可以包括一个或多个参数,也可以没有参数。
8.函数的定义
(1)函数的立即定义
立即定义函数的语法为“f[x_]=expr”,函数名为f,自变量为x(方括号中变亮名右侧的下划线不可少!),expr是表达式。执行时expr中的x被替换为f的自变量x(不是x_)。函数的自变量具有局部性,只对所在的函数起作用,不会改变其它全局定义的同名变量的值。
如对数学函数f(x)=x*Sinx+x^3,函数定义、求值和绘图:
对于定义的函数可以使用命令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命令定义函数
条件运算符的格式为“f[x_] := expr/;condition”,其含义为:当condition条件满足时把expr赋给f。If命令的格式为“If[条件,值1,值2]”,其含义为如果条件成立则取“值1”,否则取“值2”。对于如下的分段函数:
其两种定义方式为:
9.表
表(List)是一种特殊的数据结构,它是将一些相互关联的元素放在一起,使它们成为一个整体。既可以对整体操作,也可以对整体中的一个元素单独进行操作。表{a,b,c}表示一个向量;表{{a,b},{c,d}}表示一个矩阵。
建表
在表中元素较少时,可以采取直接列表的方式列出表中的全部元素。如{1,2,3}:
In[1] := {1, 2, 3}
Out[1]={1, 2, 3}
对于符号表达式的列表
In[2] := 1+%x+x^%
Out[2]={1+2x, 1+2x+x2, 1+3x+x2}
对列表中的表达式对x求导
In[3] := D[%, x]
Out[3]={2, 2+2x, 3+2x}
In[4] := %/.x->1
Out[4]={2, 4, 5}
Mathematica提供了若干建表函数:
Table[f, {i, min, max,
以step为步长给出f的数值表,i由min变到max
step}]
Table[f, {min, max}]
Table[f, max]
Table[f, {I, imin, imax},{j, jmin, jmax}, …]
TableForm[list]
Range[n]
Range[n1, n2, d]
下面给出x乘i的值的表,i的变化范围为[2,6]:
In[1] := Table[x*I, {I, 2, 6}]
以表格格式显示一个表
生成一个{1,2,„„。。}的列表
生成{n1,n1+d,n1+d,„。,n2}的列表
给出f的数值表,I由min变到max步长为1
给出max个f的表
生成一个多维表 Out[1]={2x, 3x, 4x, 5x, 6x}
In[2] := Table[x^2, {4}]
Out[2]={x2, x2, x2, x2}
用Range函数生成一个序列数
In[3] := Range[10]
Out[3]={1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
下面这个序列是以步长为2,范围从8到20
In[4] := Range[8, 20, 2]
Out[4]={8, 10, 12, 14, 16, 18, 20}
上面的参数变化都是只有一个,也可制成包括多个参数的表,下面生成一个多维表:
In[5] := Table[2i+j, {i, 1, 3}, {j, 3, 5}]
Out[5]={{5, 6, 7}, {7, 8, 9}, {9, 10, 11}}
使用函数TableForm可以以表格的方式输出
In[6] := %//TableForm
Out[6]//TableForm=5 6 7
7 8 9
9 10 11
表的元素的操作
当t表示一个表时,t[[i]]表示t中的第i个子表。如果t={1,2,a,b}那么t[[3]]表示“a”。如:
In[1] := t=Table[I+2, j{I, 1, 3},{j, 3, 5}]
Out[1]={{7, 9, 11}, {8, 10, 12}, {9, 11, 13}}
In[2] := t[[2]]
Out[2]={8, 10, 12}
10.表达式
表达式的含义
Mathematica 能处理数学公式,表以及图形等多多种数据形式。尽管从形式上看起来不一样,但在Mathematica内部都被看成同种类型,即都当作表达式的形式。Mathematica中的表达式是由常量、变量、函数、命令、运算符和括号等组成,他最典型的形式是f[x, y]
表达式的表示形式
在显示表达式时,由于需要的不同,有时需要表达式的展开形式,有时又需要其因子乘积的形式。在计算过程中可能得到很复杂的表达式,这时又需要对它们进行化简。常用的处理这种情况的函数。变换表达式表示形式函数
表达式表示形式函数 意义
Expand〔expr〕 按幂次升高的顺序展开表达式
Factor〔expr〕
Simplify〔expr〕
以因子乘积的形式表示表达式
进行最佳的代数运算,并给出表达式的最少项形式
表达式(x+y)^4(x+y^2) 展开: 还原上面的表达式为因子乘积的形式:
多项式表达式的项数较多,比较复杂,在显示时显得比较杂乱,而且在计算过程中没有必要知道全部的内容;或表达式的项很有规律,没有必要打印全部的表达式的结果,Mathematica提供了一些命令,可将它缩短输出或不输出
命令 意义
command
执行命令command,屏幕上不显示结果
显示表达式的一行形式
expr/Short
Short〔expr, n〕 显示表达式的n行形式命令后加一分号“;”不打印结果
将表达式(1+x)^30展开时的三种不同方式:
把代数表达式变换到你所需要的形式没有一种固定的模式,一般情况下,最好的办法是进行多次实验,尝试不同的变换并观察其结果,再挑出满意的表示形式。
关系表达式与逻辑表达式
符号“=”表示给变量赋值。下面介绍一些其它的逻辑与关系算子。关系表达式是最简单的逻辑表达式,常用关系表达式表示一个判别条件。例如:x>0,y=0。关系表达式的一般形式是:表达式+关系算子+表达式。其中表达式可为数字表达式、字符表达式或意义更广泛的表达式,如一个图形表达式等。在实际运用中,这儿的表达式常常是数字表达式或字符表达式。下面出Mathematica中的各种关系算子。
x==y相等
x!=y不相等
x>y大于
x>=y大于或等于
x x<=y小于等于 x==y==z都相等 x!=y!=z都不相等 x>y>z,etc严格递减 给变量x,y赋值,输出后以变量的值,如: In[1] := x=2; y=9 Out[1]=9; In[2] := x>y Out[2]=False; 下面是比较两个表达式的大小 In[3] := 3^2>y+1 Out[3]=True 用一个关系式只能表示一个判定条件,要表示几个判定条件组合,必须用逻辑运算符将关系表达式组织在一起,称表示判定条件的表达式为逻辑表达式。 下面是常用的逻辑运算和它们的意义 ! 非 && || Xor If 并 或 异或 条件 LogicalExpand[Expr] 展开逻辑表达式,例如下面的例子说明它们的应用 In[4] := 3x^2 Out[4]=False In[5] := 3x^2+1||3^2==y Out[5]=True 常用的符号: 圆括号用于组合运算 (term) f[x] { [[i]] % %% %%%(k) %n 方括号用于函数 }花括号用于列表 双括号用于排序 代表最后产生的结果 倒数第二次的算结果 倒数第k次的计算结果 例出行Out[n])的结果(用时要小心) 三、基本菜单操作 Mathematica系统菜单简介 启动Mathematica系统后,在屏幕的上方即出现系统的菜单条(Menu Bar)。如图下图所示,菜单条中包括File(文件)、Edit(编辑)、Cell(单元)、Format(格式)、Input(输入)、Kernel(内核)、Find(查找)、Window(窗口)、Help(帮助)等9个菜单。 下面分别介绍各菜单的功能。 1.(文件)菜单 菜单各选项主要用于系统各类文件的各种输入输出操作,菜单各项目及其功能下表: 菜单项 功能 New Open Close Save Save As 创建一个新文件 打开存在的文件 关闭当前处理的文件 保存当前处理的文件 把当前处理的文件保存为另外的文件 Save As Special… Open Special Open Selection Import… Send To… Send Selection Palettes Notebooks Generate Palette From Selection Generate NoteBook From Palette Printing Settings Print… Print Selection 把当前文件保存为指定类型的文件(主要指一些常用的文件类型) 打开指定类型的文件 打开被选的内容所对应的存在文件 把已存在的文件输入到当前处理文件的光标位置 把当前处理文件作为电子邮件发送 把当前处理文件中被选内容作为电子邮件发送 系统输入平台 新近被打开的各笔记本列表 转换被选的笔记本成为选择板 转换被选的选择板成为笔记本 打印设置 打印文件 打印被选的内容 退出系统 Exit 2.(编辑)菜单 菜单用于编辑当前工作区文件的内容,其各项目及其功能见下表: 菜单项 功能 Undo Cut Copy Paste Clear Paste and Discard Copy As Save Selection As Select All Insert Object Motion Expression Input Make 2D Check Balance 撤销上一次操作 将所选内容剪贴到剪贴板 将所选内容复制到剪贴板 将剪贴板内容粘贴到光标位置 删除所选文本或单元的内容 将剪贴板上的内容移动到指定的位置 复制被选内容并转换成指定的文件格式 把被选的内容保存为指定的文件格式 选择当前笔记本中的所有内容 插入Windows对象窗口内所选的内置对象 移动或删除上下词、上下字节、上下行、行头行尾 在指定位置输入表达式 将由键盘直接输入的线性语法表示转换为二维形式 检查平衡:从插入点向外扩张,选择最匹配的表达式 系统参数设置 Preferences 3.Cell(单元)菜单 Mathematica重要的数据结构是单元(又称单元)。单元指每次输入的命令或输出的结果所形成的单位。单元可以是多级的,即单元中可以有若干个子单元。笔记本文件就是由一个或多个单元组成的。 单元菜单主要用于对单元的内容表现形式的转换、属性的设置、组合与分解、分裂与并人等操作,其各项目及功能见下表: 菜单项 功能 Convert To Display As Default Input Format Type 把所选单元的内容转换成指定的形式 正文显示为文本、输入、标准、传统等形式 选择缺省输入格式:输入、标准、传统等形式 Default Output Format Type Default Inline Format Type Cell Properties Cell Grouping Divide Cell Merge Cells Animate Selected Graphics Play Sound Rerender Graphics Rerender and Save Graphics Make Standard Size 选择缺省输出格式:输入、标准、传统等形式 选择缺省的内部格式:标准和传统形式 设定单元的属性:可否打开、可否编辑、可否复制、可否计算、可否激活等 单元组合操作 在当前的插入点处分裂单元 把所选的几个单元合并成一个单元 让当前所选的图画动起来 播放所选声音 重画所选图形 生成并保存隐藏于所有图形单元中的图象 恢复图形成为缺省的尺寸 排列所选图形 Align Selected Graphics 显示当前笔记本中各单元的统计 Cell Size Statistics 4.Format(格式)菜单 Mathematica系统允许用户编辑或显示不同风格的笔记本,如可设置不同字体、字形、尺寸和颜色的文字。Format各项目及其功能见下表: 菜单项 功能 Style Screen Style Enviroment Printing Style Enviroment Show Expression Option Inspector Remove Option Style Sheet Edit Style Sheet Font Face Size Text Color Background Color Choose Font Text Alignment Text Justification Word Wrapping Cell Dingbat Horizontal Lines Show Ruler Show Toolbar Show Page Breaks 分配指定的风格给所选的单元或正文 设置屏幕显示风格参数:工作、发言稿、浓缩、打印输出 设置打印风格参数:工作、发言稿、浓缩、打印输出 显示单元的表达式 调用检查程序,查看和选择风格参数 删除所选单元的所有外在选项 为笔记本分派指定的风格:经典文章、时髦文章、天然颜色、记事等 编辑当前笔记本定义的风格 选择字体 选择字形:整体、粗体、斜体、下划线等 选择字号 选择字符颜色 选择单元的背景颜色 调用Windows系统字体 指定正文对齐方式 调整文字单元的字符间隔 换行选择 设定所选单元左边悬挂的标志 设定分隔水平直线的风格 在工作区的顶部显示标尺 在工作区显示工具栏 在工作区显示换页标志 改变笔记本内容的放大率 Magnitication 5.Input(输入)菜单 Input菜单用于完成各种形式输入的准备工作,使得输入工作变得简单和规范,其各项及其功能见下表: 菜单项 功能 Get Graphics Coordinates 3D ViewPoint Selector Color Selector Record Sound Get File Path Create Table/Matrix/Palette Create Button Edit Button Create Hyperlink Create Automatic Numbering Object Create Value Display Object Copy Input From Above Copy Output From Above Start New Cell Below Complete Selection 获取已画图形的坐标 选择三维作图的视点位置 调用调色板 调用Windows的录音机进行录音 设置获取文件的路径 创建表/矩阵/选择板输入的形式 创建具有指定功能的简单按钮,如粘贴、计算等 调用按钮编辑器编辑各种按钮 调用对话框创建超链接 创建自动编号的对象 创建显示对象的计算结果 复制此前的输入内容 复制此前的输出内容 在此后开始新的单元 完整选择:使输入的部分函数名完整化 插入函数输入模板 Make Template 6.Kernel(内核)菜单 Mathematica系统的核心程序是Mathematica Kernel,其内核菜单主要用于控制单元和笔记本中的各种运算及其结果,以及指定、配置、启动和退出所用的核心功能,其各项目及功能见下表: 菜单项 功能 Evaluation Evaluate Cells Evaluate In Place Evaluate Next Input Evaluate in Subsession Evaluate Notebook Evaluate Initialization Enter Subsession Exit Subsession 计算控制 送当前所选的单元到内核计算 就地计算当前所选内容 选择并计算笔记本中的下一个单元 在交互的内核对话框中计算被选的单元 计算笔记本中所有可计算的单元 计算笔记本汇总所有初始化的单元 进入交互的内核对话框 退出交互的内核对话框 Remove From Evaluation 从计算队列中移出,即在所选单元计算前退出计算 Quee 中断当前计算 Interrupt Evaluation Abort Evaluation Start Kernel Quit Kernel 使当前计算无效 启动指定的内核程序 结束指定的内核程序 Default Kernel Notebook’s Kernel Kernel Configuration Option Show In/Out names 指定所有计算所使用的缺省内核 指定当前笔记本所使用的内核 启动内核的参数设置 显示输入/输出名(单元句名) 删除由内核所生成的输出单元 Delete All Output 7.Find(查找)菜单 Find菜单用于在笔记本中查找、替换文字,找开或查找所选单元及对单元标签的操作。其各项目及功能见下表: 菜单项 功能 Find Enter Selection Find Next Find Previos Find In Cell Tags Replace Replace and Find Again Replace All Open Selected Scroll to Selection Add/Remove Cell Tags Cell Tags Show Cell Tags 在当前笔记本中查找含有对话框中字符串的内容 进入选择:把当前所选字符串填入到查找对话框中 查找符合要求的下一个内容 反向查找符合要求的上一个内容 用单元标签来查找单元 用在对话框中指定的内容来替换所选内容 替换并再查找 从当前段到文件末,在笔记本中做所有可能的替换 打开包含所选内容的单元组 滚动到所选的内容 添加/删除与所选单元联系的单元标签 根据单元标签查找并选择单元 显示单元标签 亦当前的输入/输出名作为单元的标签 Cell Tags from In/Out Names 创建笔记本中的单元标签索引 Make Index 8.Window(窗口)菜单 Window菜单用于对多个窗口的排列及对各个窗口的激活操作,其各项目及功能见下表: 菜单项 功能 Stack Window Tile Windows Wide Tile Windows Tail Message * 层叠排列窗口 垂直排列窗口 水平排列窗口 激活信息窗口 激活*(基本输入)窗口 激活无标题的窗口-1 Untitled-1 (其他打开的文件名) (可选择激活其他打开的文件的窗口) 9.Help(帮助)菜单 Help菜单可以使用户获得各种形式在线帮助信息,其各项目及其功能见下表: 菜单项 功能 Help Registration Find in Help Why the Beep? About Mathematica 调出帮助浏览器 调出注册帮助 在帮助浏览器中查找 对前端的嘟嘟声产生的原因的解释 调出关于Mathematica的版本信息 重建关于帮助的索引 Rebuild Help Index 菜单应用举例 Edit菜单中的“Preferences”选项对于Mathematica是很重要的。单击这个选项将出现如下图所示的窗口: 在这个窗口中,用户可以对Mathematica系统的各种参数进行设置,其中包括综合选项(Global Options)、笔记本选项(Notebook Options)、单元选项(Cell Options)、编辑选项(Editing Options)、格式选项(Formatting Options)、图形选项(Graphics Options) 和按钮选项(Button Options)。下面以格式选项的部分参数设置为例说明其用法。 修改笔记本窗口的字体属性 用鼠标点击Formatting Options前面的“+”号,出现下一级菜单,再点击该级菜单中 “Font Options(字符选项)”前的“+”号,如下图示: 由图中可以看到,系统关于字号(FontSize)的默认值是12,点击该项右边的下拉按钮,将“12”改为“18”,类似地,可以点击“FontColor(字符颜色)”和“Background(背景颜色)”的右边下拉按钮,修改字符颜色和背景颜色。 修改表达式序号的设置 对于用户在工作窗口中输入的表达式和运行结果,系统默认以扩展名为“.nb”的笔记本文件格式保存。但是,这样保存下来的文件,当再次打开使用时,会发现原来的表达式行号没有了,这对于观察表达式的上下关系很不方便。修改这项设置的方法是:“CellLabelAutoDelete→True”,也就是将该项右边方框内的“∨”取消。这样系统就不会在保存文件时自动删除行号了。 3。修改表达式序号的设置 在第二章中曾经指出,对于近似计算,系统为了提高计算速度,当用户不指明输出的精确度时,均以6位有效数字显示计算结果。在这里可以修改系统的这一默认值。方法是:打开“Expression Formattihng(表达式格式)”菜单,选择“Display Options(显示选项)”并打开,出现的窗口如下图示: 其中“Print Precision”(显示精度)一项的值“6”就是系统默认的显示精度。用鼠标点击该项,这时“6”的旁边会出现光标,说明可以直接修改。将“6”改为12,并按回车确认(注意这一步不能少,否则修改无效),则系统在以后的近似计算中将以12为精确度显示。注意,这里最多只能只能改为16位,即系统的机器精度;若改为17或30等,系统也只显示16位精度,用户不妨试一试。 设置笔记本风格 笔记本是用户使用Mathematica系统时的主要工作窗口,因而它的风格对用户的视觉感受影响很大,为此,系统为笔记本提供了多种风格选项,用户可以根据自己的爱好选择一种适合自己的风格。修改和选择笔记本风格是在Format(格式)菜单中完成的。 选择Format菜单中的“Style Sheet”一项,出现二级菜单,菜单中列举的就是系统提供的多种笔记本风格选项,有ArticleClassic(经典文章)、ArticleModern(时髦文章)、Classic(经典)、Classroom(教室)、Default(缺省,系统默认)、Demo(演示)、DemoTEXT(演示正文)、HelpbBrowser(帮助浏览器)、HTML(超文本)、NaturalColor(天然颜色)、Notepad(记事本)、NotepadMono(单色记事本)、PasteColor(粘贴颜色)、PrimaryColor(基色)、Report(报告)、Textbook(课本)、Tutorialbook(指导书)、Other(其他)等。 四、数学运算 1.算数运算 在Mathematica中进行算数运算类似于用计算机进行算数运算,对应的运算符号和优先级如下表: 运算名称 运算符号 优先级 加法 减法 乘法 除法 + - * 或空格 / 1 1 2 2 乘方 ^ 3 算数运算还具有如下的具体规则: 在混合运算中运算的优先次序与通常数学中规定的一样,先乘方,后乘除,再加减,即优先级越高,在同一括号内越优先。相同优先级时则从左到右。此外,可以使用圆括号改变优先级,方括号是系统作为只能用于函数。 空格和性号“*”都是乘法运算符。在系统能明确判断做乘法的位置处可以省略输入乘法符号。在算数运算符的前后、圆括号或方括号前后,有无空格或几个空格都不会改变式子的愿意。 在数的运算中,数的类型将自动转换。其具体的转换规则见前述的“基本运算”一节。 2.代数运算 可认为多项式是表达式的一种特殊的形式,所以多项式的运算与表达式的运算基本一样,表达式中的各种输出形式也可用于多项式的输出。Mathematica提供一组按不同形式表示代数式的函数: 展开多项式的乘积和乘方 Expand[ploy] ExpandAll[ploy] Factor[ploy] FactorTerms[ploy, x, y, …}] Simplify[poly] FullSimplify[ploy] Collect[ploy, x] 全部展开多项式ploy 对多项式进行因式分解 提取数字公因子 把多项式化为最简形式 把多项式展开并化简 把多项式poly按x幂展开 把多项式poly按x,y„。的幂次展开 Collect[poly, {x, y…}] 两个多项式相除,总能写成一个多项式和一个有理式相加Mathematica中提供两个函数PolynomialQuotient和PolynomialRemainder分别返商式和余式。 例如: 3.方程及其根的表示 Mathematica将方程看作逻辑语句。在数学方程式表示为形如“x2-2x+1=0”的形式。在Mathematica中“=”用作赋值语句,这样在Mathematica中用“==”(双等号!)表示逻辑等号,则方程应表示为“x^2-2x+1==0”。方程的解同原方程一样被看作是逻辑语句。例如用Roots求方程x^2-3x+2的根显示为: 这种表示形式说明x取1或2均可。而用Solve[]可得解集形式: 求解一元代数方程 Mathematica中有如下常用的一些方程求解函数: 给出方程的解集 Solve[lhs==rhs, vars] ]直接给出方程的数值解集 NSolve[lhs==rhs, vars Roots[lhs==rhs, vars] FindRoot[lhs==rhs, {x, x0} Solve函数示例: 求表达式的根 求x=x0时,方程的解值 Solve函数可处理的主要方程是多项式方程。Mathematica总能对不高于四次的方程进行精确求解,对于三次或四次方程,解的形式可能很复杂。如求x^3+5*x+3=0: 当方程中有一些复杂的函数时,Mathematica可能无法直接给出解来。在这种情况下可用FindRoot[]来求解,但要给出起始条件。3*Cosx==Logx的解: 但只能求出x=1附近的解,如果方程有几个不同的解,当给定不同的条件时,将给出不同的解。如上例若求x=10附近的解命令为: 因此确定解的起始位置是比较关键,一种常用的方法是,先绘制图形观察后再解。 如上例通过图形可断定在x=5附近有另一根: 求方程组的根 使用Solve和NSolve,FindRoot也可求方程组的解,只是使用时格式略有不同下面给出一个Solve函数的例子: 求解: 4x3y0 2x5y60 在输入方程式时注意双等号的使用规则。 求方程的全解 对于一个给定的带符号的方程,其解应考虑各个符号的特殊情形。在Mathematica中,可以区分是否考虑这些特殊情形对应的方程的解,此为方程的全解。在求ax2+bx+c=0的根时若用Solve函数求解,则解的结果是: 这显然是不合理的,因为对不同的a,b,c方程的解有不同的情况,而上面只是给出部分解如果要解决这个问题可用Reduce命令,它可根据,a,b,c的取值给出全部值: 求和与求积 在Mathematica中,数学上的各式符号用Sum表示,连乘用Product表示。以下是求积函数的形式和意义: 求和 Sum[f, {I, imin, imax}] Sum[f, {I, imin, imax, di}] Sum[f, {I, imin, imax}, {j, jmin, jmax}] Product[f, {I, imain, imax}] Product Product[f, {I, imin, imax}, {j, jmin, jmax}] Nsum[f, {I, imin, Infinity}] NProduct[f, {I, imin, Infinity}] 示例: 求1至100间所有奇数的和: 以步长di增加i求和 嵌套求和 求积 [f,{i,imin,imax,di}]以步长di增加i求和 嵌套求积 求近似值 求近似值 从起始到终止,并给定步长后,构造多项式: 5.微积分的基本操作 极限 Mathematica计算极限的命令是Limit它的使用方法主要有: 当x趋向于x0时求expr的极限 Limit[expr, x>x0] Limit[expr, x>x0, Direction>1] 当x趋向于x0时求expr的左极限 当x趋向于x0时求expr的右极限 Limit[expr, x>x0, Direction>1] 趋向的点可以是常数,也可以是+∞,-∞。 微分 函数的微分 在Mathematica 中,计算函数的微分的命令为D[f,x],其含义是对x求函数f的导数或偏导数。该函数的常用格式有以下几种 D[f, x] f 计算微分x D[f, x1, x2, …] f计算多重偏微分x1x2D[f, {x, n}] fn 计算n阶微分xD[f, x, NonConstants->{v1, v2,…}] fn 计算微分x,其中v1,v2„依赖于x 示例: 求函数e^x * sinx的导数: 求函数e^xsinx的2阶导数: 对二元函数f(x,y)=x^2*y+y^2求对x,y 求一阶和二阶偏导: 全微分 在Mathematica中,D[f,x]给出f的偏导数,其中假定f中的其他变量与x无关。当f为单变量时,D[f,x]计算f对x的导数。函数Dt[f,x]给出f的全微分形式,并假定f中所有变量依赖于x。以下是Dt命令的常用形及意义: 求全微分df Dt[f] Dt[f, x]求全微分 Dt[f, x1, x2, …] Dt[f, x, Constants->{c1, c2, …}] 示例:求x^2+y^2的偏微分和全微分: 求多重全微分 求全微分其中c1,c2。。是常数 可以看出第一种情况y与x没有关系,第二种情况y是x的函数。再看下列求多项式x^2+xy^3+yz的全微分并假定z保持不变是常数。 不定积分 在Mathematica中计算不定积分命令为Integerate[f,x],当然也可使用工具栏直接输入不定积分式。当然并不是所有的不定积分都能求出。例如SinSinxdx Mathematica只给出输入表达式,而没有直接的计算结果。但对于一些手工计算相当复杂的不定积分,Mathematica还是能轻易求得,例如求u1u211u22du: 定积分 定积分的求解主要命令也是用Integrate只是要在命令中加入积分限Integrate[f,{x,min,max}],或者使用式具栏输入也可以。例如求:44xedx2ax: 显然这条命令也可以求广义积分。例如求41(x2)20dx 求无穷积分和广义积发散积分的示例: 数值积分 数值积分是解决求定积分的另一种有效的方法,它可以给出一个近似解。特别是对于用Integrate命令无法求出的定积分,数值积分更是可以发挥巨大作用。 它的命令格式为 在[a,b]上求f数值积分 Nintegrate[f, {x, a, b}] Nintegrate[f, {x, a, x1, x2, …, b}] Nintegrate[f, {x, a, b}, MaxRecursion->n] 求Sinsinx在[0,Pi]上的积分值,由于这个函数的不定积分求不出,因此使用Integrate命令无法得到具体结果,但可以用数值积分求 以x1,x2„。为分割求[a,b]上的数值积分 求数值积分时指定迭代次数n。 多变量函数的微分和积分 计算多变量函数的偏导数及全微分的命令与单变量基本相同。 微分方程解 在Mathematica中使用Dsolove[]可以求解线性和非线性微分方程,以及联立的微分方程组。在没有给定方程的初值条件下,所得到的解包括C[1],C[2]是待定系数。求解微分方程就是寻找未知的函数的表达式,在Mathematica中,函数用y[x]表示,其微分用y\'[x],y\'\'[x]等表示。 以下是微分方程(组)的求解函数: 求解关于函数y[x]的常微分方程 Dsolve[eqn, y[x], x] Dsolve[{eqn1, eqn2, …}, {y1[x], y2[x], …}, x] 用Dsolve求解常微分方程y’’+y=2cosx: 求解常微分方程组或定解问题 求微分方程的定解问题:y’’+4y=3x在初始条件y(0)=0,y’(0)=1下的特解: 求微分方程组的解: 对于简单的微分方程的解比较简单,对一些微分方程它的解就复杂的多。特别是对一些微分方程组或高阶微分方程,不一定能得具体的解,其解中可能含有一些特殊函数。并且很多特殊函数的提出就是为了解这些方程的。下面就是贝塞尔函数的使用示例: 微分方程的数值解 在Mathematica中用函数DSolve[]得到微分方程的准确解,用函数NDSolve得到微分方程的数值解,当然在此处要给出求解区间(x,xmin,xmax)。NDSolve也是既能计算单个的微分方程,也能计算联立微分方程组。它能对大多数的常微分方程和部分偏微分方程求解。在常微分可能有一些未知函数yi,但这些未知函数都依赖于一个单变量x。 求函数y的数值解,x属于[xmin,xmax] NDSolve[{eqn1, eqn2, …}, y, {x, xmin, xmax}] NDSolve[{eqnl, eqn2, …}, {y1, y2, …},{x, xmin, 求多个函数yi的数值解 xmax}] DSolve以InterpolatingFunction目标生成函数yi的解,InterpolatingFunction目标提供在独立变量x的xmin到xmax范围内求少的近似值。NDSolve用迭代法求解,它以某一个x值开始,尽可能覆盖从xmin到xmax的全区间。为使迭代开始,NDSolve指定yi及其导数为初始条件。初始条件给定某定点x处的yi[x]及尽可能的导数y\'i[x],一般情况下,初始条件可在任意x处,NDSolve将以此为起点自动覆盖xmin到xmax的全区域。下面对初始条件y[0]=0和y[1]=0分别求出x从0到1的范围内y’[x]=y[x]的解: 再看下面的微分方程的数值解 使用Mathematica页可以很容易的得到解的图形。这儿给出如何观察微商的逆函数的近似值图形。使用命令Evaluate代替InterpolatingFunction能够节省时间: 五、图形技术 Mathematica系统具有很强的作图功能,利用它不仅可以方便地作出一般显函数的图形,而且能作出由参数表示的隐函数的图形。同时,图形显示的形式可以多种多样,包括图形显示的颜色、光照、旋转等。 Mathematica的图形功能是融合在其强大的符号和数值计算功能之中的,它提供了一大批作图的操作函数,这些函数还可以由用户根据需要组合成更大的作图函数。在利用系统作图时,用户只需关心图形的逻辑性质和结构,至于图形是如何显示屏幕上的则不必关心。 1.基本的二维图形 Mathematica在直角坐标系中作一元函数图形用下列基本命令。 作出函数f[x]在[xmin,xmax]上的图形 Plot[f, {x, xmin, xmax}] 先计算函数f[x]在[xmin,xmax]上的函数值,Plot[Evaluate[f], {x, xmin, xmax}] Plot[{f1, f2, f3, …}, {x, xmin, xmax}] 再作图 在同一个坐标系中作出函数组f1,f2,f3,…在区间[xmin,xmax]上的图形 Plot[Evaluate [Table[f1, f2, f3, …]], {x, xmin, 先计算函数f1,f2,f3,…在[xmin,xmax]上的函数值,再作图 xmax}] 函数esin20x在[0, Pi]上的图形: x 函数tanx在[-2Pi, 2Pi]上的图形: 函数sinx/x在[-2Pi, 2Pi]上的图形: 三个函数在[0, 2]上的图形: 带Evaluate的函数作图可以使得画图的速度明显提高,而且可以避免Plot画图时的计算错误。 Mathematica绘图时允许用户设置选项值对绘制图形的细节提出各种要求。例如:要设置图形的高宽比,给图形加标题等。每个选项都有一个确定的名字,以“选项名->选项值”的形式放在Plot中的最右边位置,一次可设置多个选项,选项依次排列,用逗号隔开,也可以不设置选项,采用系统的默认值。选项的使用格式为: 选项名->选项值 选项 说明 默认值 AspectRatio AxesLabel PlotLabel PlotRange PlotStyle PlotPoint 示例: 图形的高、宽比 给坐标轴加上名字 给图形加上标题 1/0。618 不加 不加 指定函数因变量的区间用什么样方式作图(颜色,粗细等) 计算的结果 画图时计算的点数 值是一个表 默认值 25 数据集合的图形 Mathematica用于绘数字集合的图形的命令与前而介绍的绘函数图形的命令是相似的。如下: 绘出在x的值为1,2„时y1,y2,„的图形 ListPlot[{y1, y2, …}] ListPlot[{{x1, y1}, {x2, y2}, …}] 绘出离散点(xi,yi) 把离散点连成曲线 ListPlot[List, PlotJoined->True] 2.二维参数作图 前面使用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] 设法保持曲线的形 二维图形元素 用图形元素绘图适合于绘制结构复杂的图形。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, …}, …}] 填充矩阵 填充多边形 圆 半轴分别为rx,ry的椭圆 圆弧 椭圆弧 填充圆 灰度在0到1之间的灰层组 文本大小 Text[Expr, {x, y}] 下图绘出一个有颜色和大小的点,且在图形四周插入文本 下面绘制一些有线条组成的图形 当然也可以添加坐标轴下面的例子,说明了这一点。 图形的样式 称图形的颜色、曲线的形状和宽度等特性为图形样式。在本节中,就图形的各种样式,尤其是曲线的样式进行学习。 下面给出选项用于设置图形样式。 灰度介于0(黑)到l(白)之间 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}…} 由红、绿,蓝组成的颜色,每种色彩取0到1之间的数 取0到1之间的色彩 指定色调,位置和亮度的颜色,每项介于0到1之间 给出半径为d的点,单位是Plot的一个分数 给出半径为d的点(以绝对单位量取) 给所有线的宽度w,单位是Plot的分数 给所有线的宽度w,(以绝对单位量取) 给所有线为一系列虚线,虚线段的长度为wl,w2,„ 以绝对单位给出虚线长度 设立Plot中所有曲线的风格 设立Plot中一些列曲线的风格 设立宽度和表面网格的风格 MeshStyle->Style 图形颜色的设置 在Mathematicaa提供各种图形指令中,对图形元素颜色的设置是一个很重要的设置。。下面给出三条不同颜色的正弦曲线,此处以灰度表示,即颜色深浅不同。 下面用不同的色调对三个菱形进行着色。 图形大小 下面是一些点,注意点大小的控制。 下面的点的控制是用绝对单位 Mathematica提供的虚线指令可生成多种不同的复杂虚线。 图形的重绘和组合 每次绘制图形后,Mathematica保存了图形的所有信息,所以用户可以重绘这些图形。在重绘图形的时候,还可以改变一些使用。下面是常用重绘图形的函数: 重绘图形 Show[plot] Show[plot, option->value] Show[plot1, plot2, plot3…] Show[GraphcisArray[{{plot1, plot2, …}…}]] InputForm[plot] 使用Show显示图形 下面绘制函数Sin[x^2] 的图形。 改变方案重绘图形 多个图形的绘制 绘制图形矩阵 给出所有的图形信息 使用Show命令进行组合 也可使用Show进行图形组合。图形组合与图形是否有相同的比例无关,这是Mathematica会自动选择新的比例来绘制图形。下面绘制函数-xsin(2x+Pi)的图形和xcos(2x),然后绘制在一张图时: 将多个图形组合为一个图形 也可把图形组合为一个图形,还可以用GraphicsArray把多个图形绘制在一个图形矩阵中如下图。 基本三维图形 绘制函数f(x,y)在平面区域上的三维立体图形的基本命令是Plot3D,Plot3D和Plot的工作方式和选项基本相同。ListPlot3D可以用来绘制三维数字集合的三维图形,其用法也类似于listPlot,下面给出这两个函数的常用形式。 绘制以x和y为变量的三维函数/Plot3D[f, {x, min,xmax}, {y, ymin, ymax}] 的图形 绘出高度为Zvx数组的三维图形 ListPlot3D[{Z11, Z12, …}, {Z21, Z22, …}, …]] Plot3D同平面图形一样,也有许多输出选项,你可通过多次试验找出你所需的最佳图形样式。 选项 取值 意义 AxesTrue AxesLabel 是否包括坐标轴 None 在轴上加上标志:zlabel规定z轴的标志,{xlabel,ylabel,zlabel}规定所有轴的标志 是否在曲面周围加上立方体 使用什么颜色的明暗度;Hue表示使用一系列颜色 用于图形文本的缺省类型 用于图形文本的缺省格式类型 如何绘制图形,Indentity表示不显示 如何在立体界面上绘上网格;All表示在每个界面上绘上网格 Boxed ColorFunction TextStyle ormatType DisplayFunction FaceGrids True Automatic STextStyle StandardForm SdlisplayFunction None HiddenSurface Lighdng Mesh PlotRange True True True Automatic 是否以立体的形式绘出曲面 是否用明暗分布米给表面加色 是否在表面上绘出xy网格 图中坐标的范围;可以规定为All,{zmin,zmax}或{xminn,xmax},{ymin,ymax},{zmin,zmax} 表面是用阴影还是留空白 表面的空间观察点 Shading ViewPoint 三维绘图举例 函数sin(x+y)cos(x+y)的立体图 True {1.3,-2.4,2} 再用两种方式画函数z=xy在矩形区域[-1, 1],[-1, 1]上的图形。 对于三维图形中Axes、Axeslabel、Boxed等操作同二维图形的一些操作很相似。用PlotRange设定曲线的表面的变化范围。 图形轴上加上标记,且在每个平面上画上网格。 视图的改变 学习过画法几何或工程制图的都知道,制图时通常用三视图来表示一个物体的具体形状特性。在生活中也知道从不同观察点观察物体,其效果是很不一样的。Mathematica在绘制立体图形时,在系统默认的情况下,观察点在(1.3,-2.4,2)处。这个参考点选择是具有一般性的,因此偶尔把图形的不同部分重在一起也不会发生视觉混乱。 从上面可以看出,观察点位于曲面的上方有利于看清对于图形全貌。对于较复杂的图形,在所绘的图形上包括尽可能多的曲线对于观察很有帮助。同时,在曲面的周围直接绘出立方体盒子也有利于认清曲面的方位。 下面是没有网格和立体盒子的曲面图,它看起来就不如前面的图形清晰明了。 下图给出没有阴影的曲面 带有阴影和网格的图形对于理解曲面的形状是很有好处的。在有些矢量图形的输出装置中,你可能得不到阴影,但是当有阴影时,输出装置可能要花很长时间来输出它。 给空间立体曲面着色 通常情况下,Mathematica为了使图形更加逼真而用明暗分布的形式给空间立体曲面着色。在这种情况下,Mathematica假定在图形的右上方有三种光源照在物体上。但有时这种方法会造成混乱,此时你可用Lighting->False来采取根据高度在表面上涂以不同灰度的阴影的方法。
更多推荐
图形,函数,表达式,系统,单元,输入,计算
发布评论