要取消二维格式,按下Ctrl+space
可以从file菜单中激活Plaettes->Basic Input工具栏即可
2.特殊字符的输入
使用工具栏,从FILE菜单中选取Complete Characters即可
第二章帮助
按下F1调出帮助菜单
第三章数据类型和常数
1.基本的数值类型有四种:整数,有理数,实数和复数
2.不同类型数的转换
N[x] 将x转换成实数
N[x] 将x转换成近似实数,精度为n
Rationalize[x] 给出x的有理数近似值
Rationalize[x,dx] 给出x的有理数近似值,误差小于dx
3.数学常数
Pi 表示p=3.1415926......
E 自然对数的底
e=2.71802.....
Degree p/180
I 虚数单位
Infinity 无穷大
-infinity 负的无穷大
GondenRatio 黄金分割数0.61803
4.数的输出形式
NumberForm[expr,n] 以n位精度的实数形式输出实数expr
ScientificFormat[expr] 以科学记数法输出实数expr
EngineergForm[expr] 以工程记数法输出实数expr
5.变量的命名
我们自定义的变量应该是以小写字母开始,后跟数字和字母的组合,长度不限。
给变量赋值
《 1》.在Mathmatica中用等号=为变量赋值。同一个变量可以表示一个数值,一个数组,一个表达式,甚至一个图形。
《2》.对于已定义的变量,当你不再使用它是,为防止变量值的混淆,可以随时用=.清除他的值,如果变量本身也要清除用函数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]=
第四章函数的使用-------重点
一、 二维图形
1. 一元函数的图形
在平面直角坐标系中绘制函数y =f(x)的图形的函数是Plot,其调用格式如下:
Plot[f(x),{x,a,b}] 绘制函数f(x)在区间[a,b]范围内的图形。
Plot[{f1(x),f2(x),…},{x,a,b}] 同时绘制多个函数的图形。
(1) 第一类可选参数
第一类可选参数有以下几种。
l PlotRange指定绘图的范围。它的可选值是:
Automatic 由Mathematica自动选取范围切除无穷值点和尖峰(默认值)。
All 画出所有点。
{min,max} 给出y(三维为z)轴方向的取值范围。
{{x1,x2},{y1,y2}} 分别给出x,y(三维加z)轴方向的取值范围。
l AspectRatio指定图形的高宽比。它的可选值是:
默认值为0.618(黄金分割),准确值是1/GoldenRatio,其中GoldenRatio= 是一个Mathematica常数。如果取Automatic,则高宽比为1,还可以取任何正数。如果不设置这个参数,则圆变成椭圆,设此参数值为Automatic则可解决问题。
l Axes用于指定是否显示坐标轴。它有三个值:
True(或Automatic) 表示画出坐标轴(默认值)。
False 表示不画出坐标轴。
{True,False} 或 {False,True} 只画出一个轴。
l AxesOrigin用于指定两个坐标轴的交点坐标。它有两种选择:
Automatic 由Mathematica自动选择,但可能不在(0,0)点(默认值)。
{x,y} 给出交点坐标。
l Ticks用于给坐标轴加上刻度或给坐标轴上的点加标记。常用的选项值为:
Automatic 由Mathematica自动加上刻度(默认值)。
None 不加刻度。
{{x1,x2,…},{y1,y2,…}} 在横轴上的点x1,x2,…和纵轴上的点y1,y2,…处加上刻度。
{{x1,“字符串1”},{x2,“字符串2”},…},{{y1,“字符串1”},{y2,“字符串2”},…}} 在横轴上的点x1,x2,…和纵轴上的点y1,y2,…处写上字符串。
l AxesStyle用于设置坐标轴的颜色、线宽等选项。它的值为:
{选项1,选项2,…} 对所有轴设置相同的选项。
l {{x轴选项1,x轴选项2,…},{y轴选项1,y轴选项2,…} 分别对各轴设置不同的选项。Frame用于给图形加框。它的值为:
False 不加框(默认值)。
True 加框。
l GridLines用于加网格线。它的值为:
None 不加网格线(默认值)。
Automatic 由Mathematica自动加上网格线。
{{x1,x2,…},{y1,y2,…}} 在横轴上的点x1,x2,…和纵轴上的点y1,y2,…处加上网格线。
l Background用于指定背景颜色。可以使用多种颜色模式,常用选项是:
Automatic 实际颜色与Windows的窗口颜色一致,但利用Mathematica的直接打印功能输出时是白色的(默认值)。
GrayLevel[k] 其中k是0到1之间的数,给出灰度大小,0为黑色,1为白色。
RGBColor[r,g,b] 其中r,g,b是0到1之间的数分别表示红、绿、蓝色的强度,[1,1,1]为白色,[0,0,0]为黑色,[1,0,0]为红色。
Mathematica提供了设置颜色的简便方法,单击Mathematica菜单Input中的第三项ColorSelector,可以打开颜色选择对话框。这是一个标准的Windows颜色选择对话框,单击对话框左边的一种基本颜色或者利用对话框右边的色框自定义一种颜色,然后单击确定按钮退出,则在当前工作区的光标处自动写出如RGBColor[0.996109,0.996109,0.500008]的表达式,表示刚才选中的颜色。
l PlotLabel用于在图形上方居中加注释。它的值为:
None 没有注释(默认值)。
“字符串” 用双引号括起来的字符串。
(2) 第二类可选参数
第二类可选参数有以下几种:
l PlotStyle用于规定曲线的线型和颜色。常用值是:
Automatic 曲线是黑色实线(默认值)。
GrayLevel[k] 指定曲线的灰度k。
RGBColor[r,g,b] 指定曲线的颜色。
PointSize[d] 其中d是点的直径与整个图形宽度之比(二维时默认值为0.008,三维时默认值为0.01)。
Thickness[r] 其中r是线的宽度与整个图形宽度之比(二维时默认值为0.004,三维时默认值为0.001)
Dashing[{r1,r2,…}] 交替使用数r1,r2,…作为线段和空白的相对长度画虚线(其中r1,r2,…是远远小于1的数,整个图形宽度为1)。
l PlotPoints规定绘图时取的最少点数。它的默认值是25,画一条变化剧烈的曲线应该增大点数。
l 二维参数图
曲线方程由参数形式给出是很常见的,绘制平面参数式曲线的函数是ParametricPlot,其调用格式如下:
ParametricPlot[{x(t),y(t)},{t,a,b}] 其中t的取值范围是区间[a,b]。
ParametricPlot[{{x1(t),y1(t)},{x2(t),y2(t)},…},{t,a,b}] 同时画出多条曲线。
2. 绘制散点图
用一个表给出点列中各点的坐标,函数ListPlot用于绘制散点图,其调用格式如下:
ListPlot[{y1,y2,…}] 画出点列(1,y1),(2,y2),…。
ListPlot[{{x1,y1},{x2,y2},…}] 画出点列(x1,y1),(x2,y2),…。
这个函数还有可选参数PlotJoined,用于将各点用线段顺序连接起来,画出折线图,它的值为:
False 不连接(默认值)。
True 连接各点。
3. 等值线图和密度图
(1) 等值线图
等值线图用灰度表示函数值的大小,越亮的地方函数值越大,绘制函数z=f(x,y)等值线图使用函数:
ContourPlot[f,{x,xmin,xmax},{y,ymin,ymax}] 其中f是二元函数的表达式。
(2) 密度图
密度图也用灰度表示函数值的大小,越亮的地方函数值越大,这与等值线图类似。绘制密度图的函数是:
DensityPlot[f,{x,xmin,xmax},{y,ymin,ymax}] 其中f是二元函数的表达式。
4. 外部绘图函数
Mathematica绘制二维图形的内部函数缺少一些功能,如绘制极坐标图形、直方图和向量场等。但是Mathematica带有绘图程序包,它们在标准扩展程序包子集Graphics中。程序文件Graphics的绘图功能花样繁多,不能一一列举,可以通过查看Help,从中找到所需的外部函数及其范例。
二、三维图形
Mathematica在绘制三维图形方面功能很强,能满足实际需要。下面使用绘制参数曲面、旋转曲面的函数,绘制了一些高等数学中的实用曲面,表明Mathematica的绘图功能很有实用价值。
1. 二元函数图形
(1) 绘制二元函数图形的函数
在空间直角坐标系中绘制二元函数z = f(x,y)所表示的曲面的函数是Plot3D,其调用格式如下:
Plot3D[f,{x,xmin,xmax},{y,ymin,ymax}] 其中二元函数f的定义域是一个矩形区域。
Plot3D[{f,s},{x,xmin,xmax},{y,ymin,ymax}] 这里s是着色表达式用于给曲面着色。
(2) 可选参数
函数Plot3D有以下可选参数。
l Boxed说明是否给图形加立体框。它的值为:
True 加立体框(默认值)。
False 不加立体框。
l BoxRatios[rx,ry,rz]给出3个方向上的长度比,默认值为[1,1,0.4]。
l Mesh 说明在曲面上是否画网格。它的值为:
True 画网格(默认值)。
False 不画网格。
l HiddenSurface 说明是否隐藏曲面被遮住的部分。它的值为:
True 隐藏(默认值)。
False 不隐藏。
l Shading说明是否在曲面上按函数值大小涂灰色(或彩色)。它的值为:
True 曲面上涂色(默认值)。
False 只有曲面网格线,曲面为白色。
l ColorFunction 决定曲面用灰度还使用彩色涂色。
l FaceGrids 用于添加坐标网格线。它的值为:
None 没有坐标网格线(默认值)。
All 由Mathematica自动在立体框的6个面上添加坐标网格线。
{face1,face2,…} 指定6个面中的那些面添加网格线(其中face1等表示由3个数组成的表,例如{0,0,-1}表示底面、{0,0,1}表示顶面,3个数必须有两个是0,另一个为1或-1)。
{{face,{表1,表2},…} 其中表1和表2分别指定两个坐标轴上网格线的坐标值。
l Lighting 说明是否打开光源。默认值为True,当曲面上按函数值大小涂灰色时,曲面由于反光而呈现色彩。如果曲面上按函数值大小涂彩色,则光源不起作用。
l ViewPoint 用于设置观察点。默认值为{1.3,-2.4,2},可以重新将观察点设置为任何点,从不同角度观察曲面的形状。直接选择观察点的坐标绝非易事,为此这个软件开发了直观选择观察点的功能,十分方便和有趣。单击Mathematica菜单Input中的第二项3D ViewPoint Selector,就可以直观选择观察点。
(3) 由坐标数据表绘制曲面的函数
最后介绍由坐标数据表绘制曲面的函数:
ListPlot3D[{{z11,z12,z13,…},{z21,z22,z23,…},…}] 其中参数是一个m行、n列的矩阵,这个函数以坐标(j,i,zij)作为曲面网格点绘制一个曲面。
这个函数的参数令人费解,以下通过最简单的例子表明数据与图形之间的对应关系。
2. 三维参数图形
(1) 三维参数式曲线
绘制三维参数式曲线的函数是:
ParametricPlot3D[{x(t),y(t),z(t)},{t,a,b}] 如果第一个参数改为{{曲线1参数式},{曲线2参数式},…},可以同时画出多条曲线。
(2) 三维参数式曲面
函数Plot3D的最大缺陷在于曲面总是定义在矩形区域上,这不能满足实际需要。Mathematica提供的画三维参数图形的功能,留给用户自由变换的余地,用途广泛。
绘制三维参数式曲面与绘制三维参数式曲线使用同一函数,只是参数有差异:
3. ParametricPlot3D[{x(u,v),y(u,v),z(u,v)},{u,umin,umax},{v,vmin,vmax}] 如果第一个参数改为{{曲面1参数式},{曲面2参数式},…},可以同时画出多个曲面。使用外部函数绘制三维图形
在Mathematica标准扩展程序包子集Graphics中,也有许多绘制三维图形的程序文件,其中有不少出色的绘图函数,以下通过一些例子来展示它们的功能。
(1) 改进的三维参数式绘图函数
程序文件ParametricPlot3D.m内含有多个扩展的三维参数式图形绘制函数,其中首要的是函数ParametricPlot3D,改进了同名的内部函数,允许指定自变量的步长,这在有些情况下就很必要。
(2) 使用柱面坐标参数式的绘图函数
程序文件ParametricPlot3D.m里有使用柱面坐标参数式图形绘制函数:
CylindricalPlot3D[z(r,θ),{r,rmin,rmax},{θ,θmin,θmax}] 其中z是r和θ的函数,而x = rcosθ,y = rsinθ。
(3) 使用球面坐标参数式的绘图函数
程序文件ParametricPlot3D.m里有使用球面坐标参数式图形绘制函数:
SphericalPlot3D[r(φ,θ),{ φ,φmin,φmax},{θ,θmin,θmax}] 其中r是φ和θ的函数,而x=rsinφcosθ,y=rsinφsinθ,z=rcosφ。
说明:这里的字母φ和θ是按我国教科书的习惯,而Help中正好将它们对调。
(4) 由曲线生成的旋转曲面
程序文件SurfaceOfRevolution.m中有名为SurfaceOfRevolution的函数,用于由曲线旋转生成曲面。具体形式如下:
SurfaceOfRevolution[f[x],{x,xmin,xmax}] 将xOz平面上方程为z = f(x)的曲线绕z轴旋转一周生成的曲面。
SurfaceOfRevolution[{x[t],z[t]},{t,tmin,tmax}] xOz平面上曲线方程由参数式x = x(t),z = z(t)给出。
SurfaceOfRevolution[{x[t],y[t],z[t]},{t,tmin,tmax}] 空间的曲线方程由参数式x = x(t),y = y(t),z = z(t)给出。
还有两个可选参数:
{θ,θmin,θmax} 当旋转不到一周时设置旋转角度。
RevolutionAxis→{a,b,c} 以起点在原点的向量{a,b,c}为轴旋转。
(5) 投影函数
投影函数Shadow也非常实用,它在程序文件Graphics3D中。
Shadow[g] 将三维图形对象g投影到坐标平面上