64
第第第 Mathematica 第第

第二章 Mathematica 绘图

Embed Size (px)

DESCRIPTION

第二章 Mathematica 绘图. 2.1 Mathematica 绘图命令形式与绘图参数 2.1.1Mathematica 绘图命令的形式. Mathematica 绘图命令有如下一些常用形式: 绘一元函数 y = f (x) 的图形命令 : ( 举例 ) Plot[ f[x] , 要绘图形的自变量 x 的范围 , 选择项参数 ] 绘二元函数 z = f (x, y) 的图形命令 : ( 举例 ) Plot3D[ f [x, y] , 要绘图形的自变量 x , y 的范围 , 选择项参数 ] - PowerPoint PPT Presentation

Citation preview

Page 1: 第二章  Mathematica  绘图

第二章 Mathematica 绘图

Page 2: 第二章  Mathematica  绘图

2.1 Mathematica 绘图命令形式与绘图参数2.1.1Mathematica 绘图命令的形式

Mathematica 绘图命令有如下一些常用形式: 绘一元函数 y = f (x) 的图形命令 : (举例)Plot[ f[x] , 要绘图形的自变量 x 的范围 , 选择项参数 ] 绘二元函数 z = f (x, y) 的图形命令 : (举例)Plot3D[ f [x, y] , 要绘图形的自变量 x , y 的范围 , 选择项参数 ] 绘平面参数曲线 { x= x(t) , y= y(t) } 的图形命令 : (举例)ParametricPlot[{x[t], y[t]} , 要绘图形的参数 t 的范围 , 选择项参数 ]

下一部分

Page 3: 第二章  Mathematica  绘图

绘空间参数曲线 { x=x(t) , y=y(t), z=z(t) } 的图形命令 : ParametricPlot3D[{x[t],y[t],z[t]}, 要绘图形的参数 t 的范围 , 选择项参数 ] 绘参数曲面 { x=x(u, v) , y=y(u, v), z=z(u, v) } 的图形命令 : ParametricPlot3D[{x[u,v], y[u,v], z[u,v]}, 要绘图形的参数 u , v 的范围 , 选择项参数 ] 绘平面点集图 {x1,y1}, {x2,y2},, {xn,yn} 散点图命令 : ListPlot[{{x1,y1}, {x2,y2}, , {xn,yn} }, 选择项参数 ] 绘平面等高线图ContourPlot[ f [x, y] , 要绘图形的自变量 x , y 的范围 , 选择项参数 ] 图形重画 Show[ 图形文件 , 选择项参数 ]

Page 4: 第二章  Mathematica  绘图

• 例 1 : Plot[{Sin[x],Cos[x+Pi/6]},{x,-4,6}];

-4 -2 2 4 6

-1

-0.5

0.5

1

返回

Page 5: 第二章  Mathematica  绘图

例 2 : z [x_, y_]:=1/Sqrt[x^2+y^2];

Plot3D[z[x,y],{x,-2,2},{y,-2,2},PlotPoints ->30]

-2-1

01

2 -2

-1

0

1

2

0.51

1.5

-2-1

01

2 返回

Page 6: 第二章  Mathematica  绘图

• 例 3 :

返回

n=5; r=5Cos[nt]+Sin[5nt]; tu1=Parametricplot[{rCos[t],rSin[t]},{t,0,2pi},AspectRatio->1, Axes->False,PlotStyle->{RGBColor[1,0,0],Thickness[0.01]}];

Page 7: 第二章  Mathematica  绘图

例 4: 利用图形显示命令分析下列函数的性质:(1)f(x)= ( x2 - x) sinx, x∈[0,16] (2)f(x) = , x∈[ - 5,5](3)f1(x)=sinx f2(x)=sin2x, x∈[0,2π](4 )

2

2sinxx

]2,0[2sin

sin

t

ty

tx

Page 8: 第二章  Mathematica  绘图

结果图形(1) Plot[(x^2-x)Sin[x],{x,0,16}]

2.5 5 7.5 10 12.5 15

-100

-50

50

100

150

(2) Plot[Sin[x^2]/x^2,{x,-5,5}]

-4 -2 2 4

-0.2

0.2

0.4

0.6

0.8

1

(3) Plot[{Sin[x],Sin[2x]},{x,0,2Pi}] (4)ParametricPlot[{Sin[t],Sin[2t]},{t,0,2Pi}]

1 2 3 4 5 6

-1

-0.5

0.5

1

-1 -0.5 0.5 1

-1

-0.5

0.5

1

Page 9: 第二章  Mathematica  绘图

2.1.2 常用的绘图选项参数名称、含义、取值绘图命令中的选择项参数的形式为 :

选项 (option) 参数名称 -> 参数值 (value)

• 一些常用的绘图选项列举如下 : (1) 选项参数名称 : AspectRatio 含义 : 图形的高度与宽度比 参数取值 : 作为平面图形输参数值时 , 该选项参数的默认值为 1/G

oldenRatio, 这里 GoldenRatio 是数学常数 0.618; 作为空间图形参数值时 , 该选项参数的默认值为 Automatic 。 AspectRatio 取 Automatic 值时 , 表示图形按实际比例显示。

例 : AspectRatio->Automaic, 表示显示的图形高度与宽度比由 Mathematica 的内部算法根据函数图形的大小确定 ; AspectRatio->1, 表示显示的图形高度与宽度比是 1:1 。

Page 10: 第二章  Mathematica  绘图

(2) 选项参数名称 : Axes 含义 : 图形是否有坐标轴 参数取值 : 该参数的取值为 True 和 None 。 该选项参数的默认值为 True 例 :Axes-> True, 表示显示的图形有坐标轴; Axes-> None, 表示显示的图形没有坐标轴。(3) 选项参数名称 : Frame 含义 : 平面图形是否加框 参数取值 : 该参数的取值为 True 和 False 。 该选项参数只用于平面图形 , 其默认值为 False 例 : Frame-> True, 表示显示的图形有框; Frame-> False, 表

示显示的图形没有框。

Page 11: 第二章  Mathematica  绘图

(4) 选项参数名称 : FrameLabel 含义 : 平面图形框的周围是否加标记 参数取值 : 该参数的取值为 None 和 {xb, yl, xt, yr} 。 该选项参数只用于平面图形且在 Frame->True 时才有效 , 其默认值为 None 。 例 : FrameLabel->{a,b,c,d}, 表示显示的图形框的四个边的标记由底边起按顺时针方向依次为a, b, c, d;

FrameLabel-> None, 表示显示的图形框周围没有标记。

(5) 选项参数名称 : PlotLabel 含义 : 是否设置图形名称标记参数取值 : 该参数取值为 " 字符串 " 和 None, 默认值为 None 。例 : PlotLabel-> None, 表示没有图形名称标记 , PlotLabel->"Bessel", 使显示的图形上标出符号 Bessel 作为该函数图形名称。

Page 12: 第二章  Mathematica  绘图

(6) 选项参数名称 : AxesLabel 含义 : 是否设置图形坐标轴标记参数取值 : 该参数的默认值为 None ;作为平面图形输出参数时 , 该选项参数取值为 {“ 字符串 1” , “ 字符串 2”}, 表示将“字符串1” 设置为横坐标轴标记 ,“ 字符串 2” 设置为纵坐标轴标记 ; 作为空间图形输出参数时 , 该选项参数取值为 {“ 字符串 1” , “ 字符串 2” , “ 字符串 3”}, 表示将“字符串 1” 设置为横坐标标记 ,“ 字符串 2” 设置为纵坐标标记 ,“ 字符串 3” 设置为竖坐标标记。

例 :AxesLabel-> None, 表示显示的图形坐标轴没有标记; AxesLabel->{"time" , "speed"}, 表示平面图形的横坐标轴标记显示为 time 纵坐标轴标记显示为 speed;

AxesLabel->{“ 时间” ,“ 速度” ,“ 高度” }, 表示空间图形的横坐标轴标记设置为时间 , 纵坐标轴标记设置为速度 , 竖坐标轴标记设置为高度。

Page 13: 第二章  Mathematica  绘图

(7) 选项参数名称 : PlotRange 含义 : 设置图形的范围例 : PlotRange->Automatic表示用 Mathematica 内部算法显示的图形。PlotRange ->{1 , 8},表示只显示函数值在 1 和 8 之间的平面曲线图形或空间曲面图形PlotRange ->{{2 , 5} , {1 , 8}}, 表示只显示自变量在 2 和 5 之间且函数值在 1 和 8 之间的平面曲线图形; PlotRange ->{{2,5},{1,8},{-2,5}} 显示第一个自变量在 [2,5] 、第二个自变量在 [1,8] 且函数值在 [-2,5]之间的曲面图形。(8) 选项参数名称 : PlotStyle 含义 : 设置所绘曲线或点图的颜色、曲线粗细或点的大小及曲线的虚实等显示样式参数取值 : 与曲线样式函数的取值对应。

Page 14: 第二章  Mathematica  绘图

曲线样式函数有: RGBColor[r, g, b] 颜色描述函数,自变量 r, g, b 的取值范围为闭区间 [0 , 1] ,其中 r, g, b 分别对应红 (red) 、绿 (green) 、蓝 (blue) 三种颜色的强度,它们取值的不同组合产生不同的色彩。 Thickness[t] 曲线粗细描述函数,自变量 t 的取值范围为闭区间

[0 , 1] , t 的取值描述曲线粗细所占整个图形百分比,通常取值小于0.1 。二维图形的粗细默认值为 Thickness[0.004] ,三维图形的粗细默认值为 Thickness[0.001] 。

GrayLevel[t] 曲线灰度描述函数,自变量 t 的取值范围为闭区间 [0 ,1] , t 取 0 值为白色, t 取 1 值为黑色。

PointSize[r] 点的大小描述函数,自变量 r 表示点的半径,它的取值范围为闭区间 [0 , 1], 该函数的取值描述点的大小所占整个图形百分比,通常 r 取值小于 0.01 。二维点图形的默认值为 PointSize[0.008] ,三维点图形的粗细默认值为 PointSize[0.01] 。

Dashing[{d1,d2,…dn}] 虚线图形描述函数 , 虚线图周期地使用序列值 {d1,d2, …, dn}, 在对应的曲线上采取依次交替画长 d1 实线段 , 擦除长 d2 实线段 , 再画长 d3 实线段 , 擦除长 d4 实线段 , …, 的方式画出虚线图。

Page 15: 第二章  Mathematica  绘图

• 举例:

-6 -4 -2 2 4 6

-6

-4

-2

2

4

6

(见右图)

n=4;r=5Cos[nt]+2Sin[5nt];tu2=ParametricPlot[{rCos[t],rSin[t]},{t,0,2Pi},PlotStyle->{RGBColor[0,0,1], Thickness[0.01]},AspectRatio->1];

Show[tu1,tu2,Axes->False]

Page 16: 第二章  Mathematica  绘图

• 举例:

-1.5 -1 -0.5 0 0.5 1 1.5 2x

-1.5

-1

-0.5

0

0.5

1

1.5

2

y x

y

ParametricPlot[{{x,x^2},{x^2,x},{x,x},{x,-3,3},Frame->True, FrameLabel->

{x,y}, FrameStyle->{RGBColor[0,0,0],Thickness[0.01]},Backgroud->

RGBColor[0,0,1],AspectRatio->1,AxesLabel->{x,y}, PlotRange->{{-2,2},

{-2,2}},PlotStyle->{{RGBColor[1,0,0],Thickness[0.02]}, {RGBColor[1,0,1],

Thickness[0.02]}, {RGBColor[0,0,0],Thickness[0.01]}}]

Page 17: 第二章  Mathematica  绘图

2.2 画一元函数图形 一元函数 f(x) 的图形是一条平面曲线,所以一元函数又称为曲线。一元函数绘图是最常用和最简单的绘图形式。2.2.1 画一条曲线的命令 命令形式 1 : Plot[f[x], {x, xmin, xmax}] 功能:画出函数 f(x) 的图形,图形范围是自变量 x 满足 xmin

x xmax 的部分,其选择项参数值取默认值。 命令形式 2 : Plot[f[x], {x, xmin, xmax},option1->value1 , op

tion2->value2 ,… ] 功能:画出函数 f(x) 的图形,图形范围是自变量 x 满足 xmin

x xmax 的部分,其选择项参数值取命令中的值。

Page 18: 第二章  Mathematica  绘图

2.2.2 在同一个坐标系画多条曲线的命令 命令形式 1 : Plot[{f1[x], f2[x],…, fn[x]},{x, xmin, xmax}] 功能:在同一个坐标系画出函数 f1[x], f2[x],…, fn[x] 的图形,图形范围是自变量 x 满足 xmin x xmax 的部分,其选择项参数值取默认值。命令形式 2 : Plot[{f1[x], f2[x],…, fn[x]}, {x, xmin,xmax},op

tion1- >value1 ,… ] 功能:在同一个坐标系画出函数 f1[x], f2[x],…, fn[x] 的图形,图形范围是自变量 x 满足 xmin x xmax 的部分,其选择项参数值取命令中的值

Page 19: 第二章  Mathematica  绘图

例 1: 画出函数 y = sin x2 在 -5 x 5 的图形。 解 : Mathematica 命令 : In[1]:= Plot[ Sin[x^2] , {x, -5, 5} ]

Page 20: 第二章  Mathematica  绘图

例 2: 画出函数 y=sin x+x -3 x 25 的图形 , 要求只显示其在平面区域 [5,12][5,10] 部分的图形,且为红色。解 :Mathematica 命令 : In[2]:= Plot[ Sin[x] + x , {x, -3, 25} , PlotRange->{{5,12} , {5,10}} , PlotStyle -> RGBColor[1,0,0]]

Page 21: 第二章  Mathematica  绘图

例 3: 在同一坐标系中画出三个函数 y = cos 2x ,y = x 2 ,y = x 的图形 , 并给坐标横轴和纵轴分别标记为 x 和 y, 自变量范围为 :-2 x 2 。解 :Mathematica 命令 :

In[3]:= Plot[{Cos[2x], x^2, x}, {x, -2, 2},AxesLabel->{"x" , "y"}]

Page 22: 第二章  Mathematica  绘图

例 4: 在同一坐标系中画出两个函数 y = cos 2x ,y = x 的图形 ,自变量范围为 :-2 x 2, 且函数 y = cos 2x 为红色实线 , 线粗 0.01, 函数 y = x 为虚线。解 :Mathematica 命令 : In[4]:=Plot[{Cos[2x],x},{x,-2,2},

PlotStyle->{{RGBColor[1,0,0],Thickness[0.01]},{Dashing[{0.05,0.0

2}]}}]

Page 23: 第二章  Mathematica  绘图

例 5: 画出 5 次勒让德多项式 LegendreP[5,x] 的图形 , 自变量范围为 :-1 x 1, 且函数图形四周加框 , 并在图形上标出函数名称。解 :Mathematica 命令 :

In[5]:= Plot[LegendreP[5,x], {x,-1,1}, Frame->True, PlotLabel->"LegendreP[5,x]"]

Page 24: 第二章  Mathematica  绘图

命令形式 1: Plot3D[ f[x, y] , {x, xmin , xmax}, {y, ymin , ymax} ]功能:画出函数 f(x, y) 的自变量 (x, y) 满足 xmin x xmax, ymin y ymax 的部分的曲面图形,其选择项参数值取默认值。命令形式 2: Plot3D[ f[x, y] , {x, xmin , xmax}, {y,ymin , ymax}, option1->value1 ,… ]功能:画出函数 f(x, y) 的自变量 (x, y) 满足 xmin x xmax, ymin y ymax 的部分的曲面图形。

2.3 画二元函数图形

Page 25: 第二章  Mathematica  绘图

常用的几个空间曲面绘图选项参数名称、含义简单列表如下 :选项 默认值 意义

Boxed True 是否在曲面周围加立体框Boxed Ratio {1 , 1 , 0.4} 三维立体边长的比率

Mesh True 在曲面上画出 x y 网格, False 可以取消网格

ViewPoint {1.3, -2.4, 2} 观察曲面的视点,可以设定任何观察点。视点的典型位置有 :{0, -2, 0} 正前方 ;{0, 0, 2} 正上方 ; {0, -2, 2} 前上方{0,- 2, - 2} 前下方 ; {-2, -2, 0} 盒左角

PlotPionts 15 函数在每个方向的取样点数PlotColor True 是否用彩色Shading True 是否在区面上涂阴影

HiddenSurface True 挡住部分的曲面是否隐藏ClipFill Automatic 图中被切掉部分的填充方式 ,如果取值 None, 则截去部分不用颜色填充 ;如果取值 RGBColor[r,g,b] 则截去部分该颜色函数对应的颜色填充

Page 26: 第二章  Mathematica  绘图

例 6: 画出函数 z = sin (x+sin y) 在 -3 x 3 , -3 y 3 上的图形 解 :Mathematica 命令 : In[6]:= Plot3D[ Sin[x+Sin[y]] , {x, -3, 3} ,{y, -3, 3}]

Page 27: 第二章  Mathematica  绘图

例 7: 画出例 6 的曲面图形 , 要求显示视点在图形前上方位置观察的曲面效果。解 :Mathematica 命令 : In[7]:= Plot3D[Sin[x+Sin[y]], {x, -3, 3}, {y, -3, 3}, ViewPoint->{0, -2, 2} ];

Page 28: 第二章  Mathematica  绘图

2.4 画平面参数曲线图形 命令形式 1: ParametricPlot[ {x[t], y[t]} , {t, tmin , tmax}, option1->value1 ,… ]功能:画出平面参数曲线方程为 x=x(t) ,y=y(t) 满足 tmin t tmax的部分的一条平面参数曲线图形。 命令形式 2 : ParametricPlot[{{{x1[t], y1[t]}, {x2[t], y2[t]},…}, {t, tmin, tmax}, option1->value1 ,… }] 功能:在同一个坐标系中画出一组平面参数曲线 , 对应的参数曲线方程为 x1=x1(t) ,y1=y1(t); x2= x2(t) ,y2=y2(t);…,t 满足 tmin t t

max 。

Page 29: 第二章  Mathematica  绘图

例 8: 画出半径为 4 的圆的图形。解 : 由于圆为封闭曲线 ,故应该用参数绘图命令来画。 半径为 4 的圆的参数方程为 :x=2cos t, y=2 sin t, 0 t 2Mathematica 命令 : In[8]:= ParametricPlot[{2Cos[t], 2Sin[t]} , { t, 0, 2Pi}];

该命令画出的不是圆而是椭圆的原因是由于 ParametricPlot[] 的命令中的图形高宽比参数 AspectRatio 的默认值为 1:0.618造成的 , 要显示出真正的圆应该把 AspectRatio 设置为 Automatic 即 AspectRatio->Automatic

Page 30: 第二章  Mathematica  绘图

此时对应的命令为 : In[9]:= ParametricPlot[{2Cos[t], 2Sin[t] } , {t, 0 , 2Pi}, AspectRatio->Automatic];

Page 31: 第二章  Mathematica  绘图

例 9: 在同一坐标系中画出如下两条参数曲线 , 参数曲线方程为 x1= cos t ,y1= sin t; x2= sin t ,y2= sin 2t; t 满足 0 t 2

解 :Mathematica 命令 : In[10]:=ParametricPlot[{{Cos[t],Sin[t]},{Sin[t],Sin[2t]}}, {t,0,2Pi}];

Page 32: 第二章  Mathematica  绘图

空间参数曲线的方程为 x= x(t) ,y= y(t), z= z(t), 参数 t 连接了变量x,y,z 的函数关系 ,Mathematica 提供了空间参数曲线绘图功能。

命令形式 : ParametricPlot3D[{x[t], y[t], z[t]} , {t, tmin , tmax}, option1->value1 ,… ]例 10: 画出如下空间曲线 , 参数曲线方程为

x= cos t ,y = sin t, z = 1/ t , t 满足 0.1 t 1.5解 :Mathematica 命令 : In[11]:= ParametricPlot3D[{Cos[t], Sin[t], 1/t }, {t, 0.1, 9} ];

Page 33: 第二章  Mathematica  绘图

2.6 画参数曲面图形 参数曲面的方程为 :

x=x(u,v), y=y(u,v), z=z(u,v), u[u0,u1],v[v0,v1];

命令形式 : ParametricPlot3D[{x[u, v], y[u, v], z[u, v]}, {u, umin, umax}, {v, vmin, vmax}, option1- >value1 ,… ]

功能:画出参数曲面方程为 x=x(u,v), y=y(u,v), z=z(u,v), u[umin,umax], v[vmin,vmax] 部分的参数曲面图形,如果不选选择项参数 , 则对应的选择项值取默认值。

Page 34: 第二章  Mathematica  绘图

例 11 画出参数曲面方程为x=cosh (u) cos (v) ,y= cosh(u) sin(v), z = u , 满足 -2 u 2, 0 v 2 的参数曲面图形解 :Mathematica 命令 : In[12]:=ParametricPlot3D[ { Cosh[u]*Cos[v], Cosh[u]*Sin[v], u }, {u, -2, 2}, {v, 0, 2 Pi} ]

Page 35: 第二章  Mathematica  绘图

例 12: 画出单位球面图形解 : 单位球面的参数曲面方程为x= cos (t) cos(u) ,y= sin(t) cos(u), z = sin(u ), 满足 0 u 2, 0 v 2 Mathematica 命令为 : In[13]:=ParametricPlot3D[{Cos[t]Cos[u],Sin[t]Cos[u],Sin[u]},{t,0,2Pi},{u,0,2Pi}]

Page 36: 第二章  Mathematica  绘图

例 13: 画出参数曲面方程为 x=u cos(u) (4+cos(v+u)) ,y=u sin(u) (4+cos(v+u)), z = usin(v+u) , 满足 0 u 4, 0 v 2 的参数曲面图形 , 图形的取点数为 x 方向 60 个点y 方向 12 个点解 : Mathematica 命令为 : In[14]:=ParametricPlot3D[{u*Cos[u]*(4+Cos[v+u]), u*Sin[u]*(4+Cos[v+u]), u*Sin[v+u]},{u,0,4 Pi},{v,0,2 Pi}, PlotPoints->{60,12} ]

Page 37: 第二章  Mathematica  绘图

2.7 画平面散点图 命令形式 1 : ListPlot[{{x1, y1}, {x2, y2}, …, {xn, yn} }, optio

n1->value1,…] 功能:在直角坐标系中画出点集 {x1, y1},{x2, y2}, …,{xn, yn} 的散点图,如果没有选择项参数 , 则选择项值取默认值 命令形式 2 : ListPlot[{y1,y2,…,yn} , option1->value1,…] 功能:在直角坐标系中画出点集 {1,y1},{2,y2},…,{n, yn} 的散点图,如果没有选择项参数 , 则选择项值取默认值 命令形式 3: ListPlot[{ {x1, y1}, {x2, y2}, …, {xn,yn} } , PlotJ

oined->True] 功能:将所输入数据点依次用直线段联结成一条折线。 注意:命令中的选择项参数及其取值同于一元函数绘图 , 如果画出的散点图的点太小 ,可以用选择项参数 PlotStyle->PointSize[r]增大散点图的点 , r 表示点的半径 , 一般取 <0.1 的值。

Page 38: 第二章  Mathematica  绘图

例 14: 画出由函数 Table[x^3, {x, 0, 5, 0.2}] 产生的二维点图解 :Mathematica 命令 : In[15]:= t= Table[x^3, {x, 0, 5, 0.2}]; ListPlot[ t, PlotStyle ->{ RGBColor[0, 1, 0], PointSize[0.08] } ]

Page 39: 第二章  Mathematica  绘图

例 15: 已知科学家在某海域观察到海平面的年平均高度表如下,由表的数据绘制出二位数据点图,并画出其折线图。 年份 1 2 3 4 5 6 7 8 9 10 11 12 13 海拔 5.0 11.0 16.0 23.0 36.0 58.0 29.0 20.0 10.0 8.0 3.0 0.0 0.0 年份 14 15 16 17 18 19 20 21 22 23 24 25 海拔 2.0 11.0 27.0 47.0 63.0 60.0 39.0 28.0 26.0 22.0 11.0 21.0解:应用 Mathematica 画二维点图的命令,并且因为年份是从 1 到 25 ,输入命令行:ln[16]:= f=ListPlot[{5.0,11.0,16.0,23.0,36.0,58.0,29.0,20.0,10.0,8.0,3.0,0.0,0.0, 2.0,11.

0,27.0, 47.0,63.0,60.0,39.0,28.0,26.0,22.0,11.0,21.0} PlotStyle- >PointSize[0.05], AxesLabel->{ 年份 , 海拔 }] * 画散点图

Page 40: 第二章  Mathematica  绘图

In[17]:= g= ListPlot[{5.0,11.0,16.0,23.0,36.0,58.0,29.0, 20.0,10.0,8.0,3.0,0.0,0.0, 2.0,11.0,27.0, 47.0,63.0,60.0,39.0,28.0,26.0,22.0,11.0,21.0}, PlotJoined->True, AxesLabel->{ 年份 , 海拔 }] * 做折线图 ( 左 )

Show[f, g] * 散点图和折线图显示在一起 ( 右 )

Page 41: 第二章  Mathematica  绘图

例 16: 画出在 [0,1] 取值的随机函数所产生的 21 个随机点的散点图解 :Mathematica 命令 : In[19]:= data=Table[Random[], {i, 0, 20}]; ListPlot[data, PlotStyle ->PointSize[0.05]]

Page 42: 第二章  Mathematica  绘图

2.8 画平面等高线图 二元函数 z = f (x,y) 在 z 取均匀间隔数值所对应的平面等值线系列构成该函数的等直线图。从等直线图可以了解该二元函数特性。 Mathematica的绘制平面等高线图的命令为 : 命令形式 : ContourPlot[ f[x, y] , {x, xmin , xmax}, {y,ymin , ymax}, option1->value1 ,… ] 功能:画出二元函数 z = f(x,y) 当 z 取均匀间隔数值所对应的平面等值线图 , 其中变量 (x,y) 满足 xmin x xmax, ymin y ymax ,如果不选选择项参数 , 则对应的选择项值取默认值。 注意:命令中的 xmin, xmax, ymin, ymax 应该是具体的数字或可以计算出数值的表达式 , 该命令只能画在矩形区域上的二元函数等高线图。此外 , 该命令的选项参数除了同于 Mathematica 的平面曲线绘图的选项外 , 还有如下的常用选项 :

Page 43: 第二章  Mathematica  绘图

选项 默认值 意义PlotPionts 15 函数在每个方向的取样点数PlotRange Automatic Z 值的范围,可以用 {z1,z1} 取值Contours 10 从 z1 到 z2 之间等值线的条数

ContourShading

True 是否使用明暗效果ContourSpacin

gAutomatic 相邻等值线之间的 z 值间距

Page 44: 第二章  Mathematica  绘图

例 17: 画出函数 z = x 2+y 2 在区域 [-2,2][-2,2] 上具有15 条等值线的图形 , 不使用阴影效果解 : In[20]:= ContourPlot[x*x+y*y, {x,-2,2},{y,-2,2}, ContourShading->False,Contours->15]

Page 45: 第二章  Mathematica  绘图

2.9 用图形元素作图 图元作图分二维图元作图和三维图元作图。(1) 二维图元作图 二维图元作图需要先用 Graphics[ 二维图形元素表 ] 函数得到图形文件 , 然后再用图形显示命令 Show [ 图形文件 ] 的形式显示完成的二维图形。常用的二维图形元素有

(见表)

命令形式 : Show[Graphics[ 二维图形元素表 ] , option1->value1 ,… ]功能:画出由二维图形元素表组合的图形。注意 : 可以在二维图形元素表中加入修饰图元的函数。 Graphics[…] 称为图形文件。

Page 46: 第二章  Mathematica  绘图

图形元素 几何意义Point[{x, y}] 位置在直角坐标 {x, y} 处的点

Line[{x1,y1}, {x2,y2},…{xn,yn}] 依次用直线段连接相邻两点的折线图Rectangle[{xmin, ymin}, {xmax,ymax}] 以 {xmin,ymin} 和 {xmax,ymax} 为对角线坐标的矩形区域Polygon[{{x1,y1},{x2,y2},…,{xn,yn}}] 以 {x1,y1},{x2,y2},…,{xn,yn} 为顶点的封闭多边形区域

Circle[{x,y}, r] 圆心在直角坐标 {x,y}, 半径为 r 的圆Circle[{x,y}, {rx,ry}]] 圆心在直角坐标 {x, y}, 长短半轴分别为 rx 和 ry 的椭圆

Circle[{x,y}, r , {t1,t2}] 以直角坐标 {x,y} 为圆心 , r 为半径 , 圆心角度从 t1到 t2 的一段圆弧Disk[{x,y},r] 圆心在直角坐标 {x,y}, 半径为 r 的实圆盘

Disk[{x,y},{rx, ry}]] 圆心在直角坐标 {x,y}, 长短半轴分别为 rx 和 ry的椭圆盘Text[expr,{x,y}] 中心在直角坐标 {x, y} 的文本

返回

Page 47: 第二章  Mathematica  绘图

例 17: 画出端点在 {-1,-1},{1,-2} 的虚线段解 :In[21]:=Show[Graphics[{Dashing[{0.05, 0.01}], Line[{{-1, -1}, {1, -2}}] }] ]

一般图元表 {Dashing[{r1,r2,r3,r4,…}], Line[{p1,p2}]} 表示在直线 Line[{p1,p2}] 上依次取长 r1 实线段 , 擦除长 r2 实线段 , 取长 r3 实线段 , 擦除长 r4 实线段的周期形式画出虚线段。

Page 48: 第二章  Mathematica  绘图

例 18: 画出中心和长短半轴满足公式 ,{3n,0},{n/4,2-n/4}], n=1,2,3,4 的四个椭圆盘图形 ( 左图 ) 解 :In[21]:=Show[Graphics[Table[ Disk[{3n,0},{n/4,2-n/4}],{n,4}]], AspectRatio->Automatic]

例 19: 画出在区域 [0,1][0,1] 内的 8 个随机游动点的折线图 , 并在图中给出文本标记 ( 右图 )解 : In[22]:= t=Table[{Random[],Random[]},{i,1,8}]; In[23]:= Show[Graphics[{Line[t],Text["Random move",{0.5, 1}]}]]

Page 49: 第二章  Mathematica  绘图

(2) 三维图元作图 三维图元作图需要先用 Graphics3D[ 三维图形元素表 ] 函数得到图形文件 ,然后再用图形显示命令 Show [ 图形文件 ] 的形式显示完成的三维图形。命令形式 : Show[Graphics3D[ 三维图形元素表 ] , option1->value1 ,… ]功能:画出由三维图形元素表组合的图形 , 其选择项参数及取值同于空间绘图参数 常用的三维图形元素中有 :三维图形元素 : 几何意义 :

Point[{x, y, z}] 空间直角坐标 {x, y, z} 点Line[{{x1,y1,z1},

{x2,y2,z2},…}]通过 {x1,y1,z1},{x2, y2, z2}… 的折线

Polygon[{{x1,y1,z1},{x2,y2,z2}…}]

依次连接点 {xi, yi, zi} 的填充多边形Cuboid[{x0,y0,z0},

{x1,y1,z1}]以 {x0,y0,z0} 和 {x1,y1,z1} 为对角线坐标的立方体

Page 50: 第二章  Mathematica  绘图

2.10 图形的重画 在每次执行绘图命令后 ,会看到在图形下面的输出行显示出一行字母 “ -Graphics-”,这意味着执行绘图命令后还产生了一个图形文件。你可以用命令 InputForm[% 输出行号 ] 察看该绘图文件的内容。例如 : In[24]:=ListPlot[Table[x*Sin[x], {x, 0, 3, 0.2}], PlotStyl

e->PointSize[0.03]]

Page 51: 第二章  Mathematica  绘图

In[25]:=InputForm[%24] Out[25]//InputForm= Graphics[{PointSize[0.03], {Point[{1, 0}], Point[{2, 0.03973386615901225}], Point[{3, 0.1557673369234602}],

Point[{4, 0.3387854840370213}], Point[{5, 0.5738848727196184}], Point[{6, 0.841470984807897}], Point[{7, 1.118446903160671}], Point[{8, 1.379629621983844}], Point[{9, 1.599317764866408}], Point[{10, 1.752925735580751}], Point[{11, 1.818594853651363}], Point[{12, 1.778692088403099}], Point[{13, 1.621111633322762}], Point[{14, 1.340303566735807}], Point[{15, 0.937966820436533}], Point[{16, 0.4233600241796004}]}}, {PlotRange -> Automatic, AspectRatio -> GoldenRatio^(-1), DisplayFunction :> $DisplayFunction, ColorOutput -> Automatic, ……………………………………… DefaultFont :> $DefaultFont, RotateLabel -> True, Frame -> False, FrameStyle -> Automatic, FrameTicks -> Automatic, FrameLabel -> None, PlotRegion -> Automatic}]

Page 52: 第二章  Mathematica  绘图

常用的图形重画命令有 : 命令形式 1 : Show[plot]功能:重新显示图形 Plot

命令形式 2 : Show[plot , option1->value1, …]功能:按照选择设置 option1->value1,…重新显示图形 Plot

命令形式 3 : Show[plot1 , plot2, …,plotn]功能:在一个坐标系中 , 显示 n 个图形 plot1 , plot2,…,plot

n

Page 53: 第二章  Mathematica  绘图

例 18: 在同一坐标系中画出两个函数 y = cos 2x ,y = ln x , 的图形 , 自变量范围为 :1 x 3 解 :Mathematica 命令 : In[26]:= g1=Plot[Sin[2x], {x,1,3}, DisplayFunction->Identity];

* 将图形文件存在变量 g1 中In[27]:= g2=Plot[Log[x] , {x,1,3}, DisplayFunction->Identity];

* 将图形文件存在变量 g2 中In[28]:=Show[g1,g2, DisplayFunction->$DisplayFunction]

Page 54: 第二章  Mathematica  绘图

例 19: 先画出函数 y=cos(e x2 ) 在 [0,1.5]部分的图形 , 再显示该图形自变量在 0.6至 0.8部分的图形。 ( 见左图 )解 : In[29]:= y= Plot[ Cos[ Exp[x*x] ] , {x, 0, 1.5}];

Show[y, PlotRange->{{0.6, 0.8},{-1, 1}}]; ( 见右图 )

Page 55: 第二章  Mathematica  绘图

切面图形技巧 三维空间的切面可以是平行 X.Y.Z 轴的,也可以是任意角度放置的,但是共同的特征是所有的点在一个平面上例 : In[29]:= y1= Plot3D[ 0, {x, -3, 3} , {y, -3, 3}]

Out[29]:= -SurfaceGraphics-

Page 56: 第二章  Mathematica  绘图

In[30]:= y2 = Plot3D[ Sin[x + Sin[y]] , {x, -3, 3} , {y, -3, 3}]

Out[30]:= -SurfaceGraphics-

Page 57: 第二章  Mathematica  绘图

In[31]:= Show[y1, y2]

Out[31]:= -SurfaceGraphics-

Page 58: 第二章  Mathematica  绘图

In[32]:= y3 = Plot3D[ -0.5*x , {x, -3, 3} , {y, -3, 3}]

Out[32]:= -SurfaceGraphics-

Page 59: 第二章  Mathematica  绘图

In[33]:= Show[y3, y2]

Out[33]:= -SurfaceGraphics-

Page 60: 第二章  Mathematica  绘图

In[34]:= y4= Plot3D[ 0.5*y, {x, -3, 3} , {y, -3, 3}]

Out[34]:= -SurfaceGraphics-

Page 61: 第二章  Mathematica  绘图

In[35]:= Show[y4, y2]

Out[35]:= -SurfaceGraphics-

Page 62: 第二章  Mathematica  绘图

In[36]:= y5= Plot3D[ -0.2*x + 0.4*y , {x, -3, 3} , {y, -3, 3}]

Out[36]:= -SurfaceGraphics-

Page 63: 第二章  Mathematica  绘图

In[37]:= Show[y5, y2]

Out[37]:= -SurfaceGraphics-

Page 64: 第二章  Mathematica  绘图