1、第二章Mathematica 绘图(超全),2.1 Mathematica绘图命令形式与绘图参数 2.1.1Mathematica绘图命令的形式,Mathematica绘图命令有如下一些常用形式: 绘一元函数y = f (x) 的图形命令:(举例) Plot fx , 要绘图形的自变量x的范围 , 选择项参数 绘二元函数z = f (x, y)的图形命令: (举例) Plot3D f x, y , 要绘图形的自变量x , y的范围 , 选择项参数 绘平面参数曲线 x= x(t) , y= y(t) 的图形命令: (举例) ParametricPlotxt, yt , 要绘图形的参数t的范围,选
2、择项参数,下一部分,绘空间参数曲线 x=x(t) , y=y(t), z=z(t) 的图形命令: ParametricPlot3Dxt,yt,zt, 要绘图形的参数t的范围 , 选择项参数绘参数曲面 x=x(u, v) , y=y(u, v), z=z(u, v) 的图形命令: ParametricPlot3Dxu,v, yu,v, zu,v, 要绘图形的参数u , v的范围, 选择项参数绘平面点集图x1,y1, x2,y2, xn,yn散点图命令: ListPlotx1,y1, x2,y2, , xn,yn , 选择项参数 绘平面等高线图 ContourPlot f x, y , 要绘图形的
3、自变量x , y的范围 , 选择项参数图形重画Show 图形文件 , 选择项参数,例1:PlotSinx,Cosx+Pi/6,x,-4,6;,返回,例2 :z x_, y_:=1/Sqrtx2+y2;Plot3Dzx,y,x,-2,2,y,-2,2,PlotPoints -30,返回,例3:,返回,n=5;r=5Cosnt+Sin5nt;tu1=ParametricplotrCost,rSint,t,0,2pi,AspectRatio-1,Axes-False,PlotStyle-RGBColor1,0,0,Thickness0.01;,例4: 利用图形显示命令分析下列函数的性质:,(1)f(
4、x)=(x2x)sinx,x0,16 (2)f(x)= , x5,5(3)f1(x)=sinx f2(x)=sin2x,x0,2(4),结果图形,(1) Plot(x2-x)Sinx,x,0,16,(2) PlotSinx2/x2,x,-5,5,(3) PlotSinx,Sin2x,x,0,2Pi,(4)ParametricPlotSint,Sin2t,t,0,2Pi,2.1.2常用的绘图选项参数名称、含义、取值,绘图命令中的选择项参数的形式为: 选项(option)参数名称 - 参数值(value) 一些常用的绘图选项列举如下:(1)选项参数名称: AspectRatio 含义: 图形的高度
5、与宽度比参数取值: 作为平面图形输参数值时, 该选项参数的默认值为1/GoldenRatio, 这里GoldenRatio是数学常数0.618; 作为空间图形参数值时,该选项参数的默认值为Automatic。AspectRatio 取Automatic值时, 表示图形按实际比例显示。例: AspectRatio-Automaic, 表示显示的图形高度与宽度比由Mathematica 的内部算法根据函数图形的大小确定; AspectRatio-1, 表示显示的图形高度与宽度比是1:1。,(2)选项参数名称: Axes 含义: 图形是否有坐标轴参数取值: 该参数的取值为True和None。 该选项
6、参数的默认值为True 例:Axes- True, 表示显示的图形有坐标轴;Axes- None, 表示显示的图形没有坐标轴。(3) 选项参数名称: Frame 含义:平面图形是否加框参数取值: 该参数的取值为True和False。 该选项参数只用于平面图形,其默认值为False 例: Frame- True, 表示显示的图形有框;Frame- False, 表示显示的图形没有框。,(4) 选项参数名称: FrameLabel 含义:平面图形框的周围是否加标记参数取值: 该参数的取值为None和xb, yl, xt, yr。 该选项参数只用于平面图形且在Frame-True时才有效,其默认值为
7、None。 例: FrameLabel-a,b,c,d, 表示显示的图形框的四个边的标记由底边起按顺时针方向依次为a, b, c, d; FrameLabel- None, 表示显示的图形框周围没有标记。(5)选项参数名称: PlotLabel 含义: 是否设置图形名称标记 参数取值: 该参数取值为“字符串“和None, 默认值为None。 例: PlotLabel- None, 表示没有图形名称标记, PlotLabel-“Bessel“,使显示的图形上标出符号Bessel作为该函数图形名称。,(6) 选项参数名称: AxesLabel 含义: 是否设置图形坐标轴标记 参数取值: 该参数的默
8、认值为None;作为平面图形输出参数时, 该选项参数取值为 “字符串1” , “字符串2”, 表示将“字符串1”设置为横坐标轴标记,“字符串2”设置为纵坐标轴标记; 作为空间图形输出参数时, 该选项参数取值为“字符串1” , “字符串2” , “字符串3”, 表示将“字符串1”设置为横坐标标记,“字符串2”设置为纵坐标标记,“字符串3”设置为竖坐标标记。 例:AxesLabel- None, 表示显示的图形坐标轴没有标记;AxesLabel-“time“ , “speed“, 表示平面图形的横坐标轴标记显示为time 纵坐标轴标记显示为speed; AxesLabel-“时间”,“速度”,“高
9、度”, 表示空间图形的横坐标轴标记设置为时间, 纵坐标轴标记设置为速度, 竖坐标轴标记设置为高度。,(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)
10、选项参数名称: PlotStyle 含义: 设置所绘曲线或点图的颜色、曲线粗细或点的大小及曲线的虚实等显示样式 参数取值: 与曲线样式函数的取值对应。,曲线样式函数有: RGBColorr, g, b 颜色描述函数,自变量r, g, b的取值范围为闭区间0,1,其中r, g, b分别对应红(red)、绿(green)、蓝(blue)三种颜色的强度,它们取值的不同组合产生不同的色彩。 Thicknesst 曲线粗细描述函数,自变量t的取值范围为闭区间0,1,t的取值描述曲线粗细所占整个图形百分比,通常取值小于0.1。二维图形的粗细默认值为Thickness0.004,三维图形的粗细默认值为 Th
11、ickness0.001。 GrayLevelt 曲线灰度描述函数,自变量t的取值范围为闭区间0,1,t取0值为白色,t取1值为黑色。 PointSizer 点的大小描述函数,自变量r表示点的半径,它的取值范围为闭区间0,1, 该函数的取值描述点的大小所占整个图形百分比,通常r取值小于0.01。二维点图形的默认值为PointSize0.008,三维点图形的粗细默认值为PointSize0.01。 Dashingd1,d2,dn 虚线图形描述函数, 虚线图周期地使用序列值d1,d2, , dn, 在对应的曲线上采取依次交替画长d1实线段, 擦除长d2实线段,再画长d3实线段, 擦除长d4实线段,
12、 , 的方式画出虚线图。,举例:,(见右图),n=4; r=5Cosnt+2Sin5nt; tu2=ParametricPlotrCost,rSint,t,0,2Pi,PlotStyle-RGBColor0,0,1,Thickness0.01,AspectRatio-1;,Showtu1,tu2,Axes-False,举例:,ParametricPlotx,x2,x2,x,x,x,x,-3,3,Frame-True, FrameLabel- x,y, FrameStyle-RGBColor0,0,0,Thickness0.01,Backgroud- RGBColor0,0,1,AspectRa
13、tio-1,AxesLabel-x,y, PlotRange-2,2, -2,2,PlotStyle-RGBColor1,0,0,Thickness0.02, RGBColor1,0,1, Thickness0.02, RGBColor0,0,0,Thickness0.01,2.2 画一元函数图形,一元函数f(x)的图形是一条平面曲线,所以一元函数又称为曲线。一元函数绘图是最常用和最简单的绘图形式。 2.2.1 画一条曲线的命令 命令形式1:Plotfx, x, xmin, xmax 功能:画出函数f(x) 的图形,图形范围是自变量x满足xmin x xmax的部分,其选择项参数值取默认值。命
14、令形式2:Plotfx, x, xmin, xmax,option1-value1,option2-value2, 功能:画出函数f(x) 的图形,图形范围是自变量x满足xmin x xmax的部分,其选择项参数值取命令中的值。,2.2.2 在同一个坐标系画多条曲线的命令 命令形式1:Plotf1x, f2x, fnx,x, xmin, xmax 功能:在同一个坐标系画出函数f1x, f2x, fnx 的图形,图形范围是自变量x满足xmin x xmax的部分,其选择项参数值取默认值。命令形式2:Plotf1x, f2x, fnx, x, xmin,xmax,option1- value1 ,
15、 功能:在同一个坐标系画出函数f1x, f2x, fnx的图形,图形范围是自变量x满足xmin x xmax的部分,其选择项参数值取命令中的值,例1:画出函数y = sin x2 在-5 x 5 的图形。解: Mathematica 命令: In1:= Plot Sinx2 , x, -5, 5 ,例2:画出函数y=sin x+x -3 x 25 的图形, 要求只显示其在平面区域5,125,10部分的图形,且为红色。 解:Mathematica 命令: In2:= Plot Sinx + x , x, -3, 25 , PlotRange-5,12,5,10, PlotStyle - RGBC
16、olor1,0,0,例3: 在同一坐标系中画出三个函数y = cos 2x ,y = x 2 ,y = x的图形, 并给坐标横轴和纵轴分别标记为x和y,自变量范围为:-2 x 2 。 解:Mathematica 命令: In3:= PlotCos2x, x2, x, x, -2, 2,AxesLabel-“x“ , “y“,例4: 在同一坐标系中画出两个函数y = cos 2x ,y = x的图形,自变量范围为:-2 x 2,且函数y = cos 2x为红色实线, 线粗0.01, 函数y = x 为虚线。 解:Mathematica 命令: In4:=PlotCos2x,x,x,-2,2,Pl
17、otStyle-RGBColor1,0,0,Thickness0.01,Dashing0.05,0.02,例5:画出5次勒让德多项式LegendreP5,x 的图形 , 自变量范围为:-1 x 1,且函数图形四周加框,并在图形上标出函数名称。 解:Mathematica 命令: In5:= PlotLegendreP5,x, x,-1,1, Frame-True, PlotLabel-“LegendreP5,x“,命令形式1: Plot3D fx, y , x, xmin , xmax, y, ymin , ymax 功能:画出函数f(x, y) 的自变量(x, y)满足xmin x xmax
18、, ymin y ymax的部分的曲面图形,其选择项参数值取默认值。命令形式2: Plot3D fx, y , x, xmin , xmax, y,ymin , ymax, option1-value1, 功能:画出函数f(x, y) 的自变量(x, y)满足xmin x xmax, ymin y ymax的部分的曲面图形。,2.3 画二元函数图形,常用的几个空间曲面绘图选项参数名称、含义简单列表如下:,例6: 画出函数z = sin (x+sin y) 在-3 x 3 , -3 y 3 上的图形解:Mathematica 命令:In6:= Plot3D Sinx+Siny , x, -3,
19、3 ,y, -3, 3,例7:画出例6的曲面图形, 要求显示视点在图形前上方位置观察的曲面效果。 解:Mathematica 命令: In7:= Plot3DSinx+Siny, x, -3, 3, y, -3, 3, ViewPoint-0, -2, 2 ;,2.4画平面参数曲线图形,命令形式1: ParametricPlot xt, yt , t, tmin , tmax, option1-value1, 功能:画出平面参数曲线方程为x=x(t) ,y=y(t)满足tmin t tmax的部分的一条平面参数曲线图形。命令形式2:ParametricPlotx1t, y1t, x2t, y2
20、t, t, tmin, tmax, option1-value1, 功能:在同一个坐标系中画出一组平面参数曲线,对应的参数曲线方程为x1=x1(t) ,y1=y1(t); x2= x2(t) ,y2=y2(t);,t满足tmin t tmax。,例8: 画出半径为4的圆的图形。 解:由于圆为封闭曲线,故应该用参数绘图命令来画。 半径为4的圆的参数方程为: x=2cos t, y=2 sin t, 0 t 2 Mathematica 命令: In8:= ParametricPlot2Cost, 2Sint , t, 0, 2Pi;,该命令画出的不是圆而是椭圆的原因是由于ParametricPlo
21、t的命令中的图形高宽比参数AspectRatio的默认值为1:0.618造成的, 要显示出真正的圆应该把AspectRatio设置为Automatic即AspectRatio-Automatic,此时对应的命令为:In9:= ParametricPlot2Cost, 2Sint , t, 0 , 2Pi, AspectRatio-Automatic;,例9:在同一坐标系中画出如下两条参数曲线, 参数曲线方程为x1= cos t ,y1= sin t; x2= sin t ,y2= sin 2t; t满足0 t 2 解:Mathematica 命令: In10:=ParametricPlotCo
22、st,Sint,Sint,Sin2t, t,0,2Pi;,空间参数曲线的方程为x= x(t) ,y= y(t), z= z(t), 参数t连接了变量x,y,z的函数关系,Mathematica提供了空间参数曲线绘图功能。 命令形式: ParametricPlot3Dxt, yt, zt , t, tmin , tmax, option1-value1, 例10:画出如下空间曲线,参数曲线方程为 x= cos t ,y = sin t, z = 1/ t , t满足0.1 t 1.5 解:Mathematica 命令: In11:= ParametricPlot3DCost, Sint, 1/t
23、 , t, 0.1, 9 ;,2.6 画参数曲面图形,参数曲面的方程为: x=x(u,v), y=y(u,v), z=z(u,v), uu0,u1, vv0,v1; 命令形式: ParametricPlot3Dxu, v, yu, v, zu, v, u, umin, umax, v, vmin, vmax, option1- value1, 功能:画出参数曲面方程为x=x(u,v), y=y(u,v), z=z(u,v), uumin,umax, vvmin,vmax 部分的参数曲面图形,如果不选选择项参数, 则对应的选择项值取默认值。,例11 画出参数曲面方程为 x=cosh (u) co
24、s (v) ,y= cosh(u) sin(v), z = u , 满足-2 u 2, 0 v 2的参数曲面图形 解:Mathematica 命令: In12:=ParametricPlot3D Coshu*Cosv, Coshu*Sinv, u , u, -2, 2, v, 0, 2 Pi ,例12: 画出单位球面图形 解: 单位球面的参数曲面方程为 x= cos (t) cos(u) ,y= sin(t) cos(u), z = sin(u ), 满足0 u 2, 0 v 2 Mathematica 命令为: In13:=ParametricPlot3DCostCosu,SintCosu,
25、Sinu,t,0,2Pi,u,0,2Pi,例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 命令为: In14:=ParametricPlot3Du*Cosu*(4+Cosv+u), u*Sinu*(4+Cosv+u), u*Sinv+u,u,0,4 Pi,v,0,2 Pi, PlotPoints-60,12 ,2.7 画平面散点图,命令形式1:ListPlotx1,
26、 y1, x2, y2, , xn, yn , option1-value1, 功能:在直角坐标系中画出点集x1, y1,x2, y2, ,xn, yn的散点图,如果没有选择项参数, 则选择项值取默认值命令形式2:ListPloty1,y2,yn , option1-value1, 功能:在直角坐标系中画出点集1,y1,2,y2,n, yn的散点图,如果没有选择项参数, 则选择项值取默认值命令形式3: ListPlot x1, y1, x2, y2, , xn,yn ,PlotJoined-True 功能:将所输入数据点依次用直线段联结成一条折线。 注意:命令中的选择项参数及其取值同于一元函数
27、绘图, 如果画出的散点图的点太小,可以用选择项参数PlotStyle-PointSizer增大散点图的点, r表示点的半径, 一般取0.1的值。,例14: 画出由函数Tablex3, x, 0, 5, 0.2 产生的二维点图 解:Mathematica 命令: In15:= t= Tablex3, x, 0, 5, 0.2; ListPlot t, PlotStyle - RGBColor0, 1, 0, PointSize0.08 ,例15: 已知科学家在某海域观察到海平面的年平均高度表如下,由表的数据绘制出二位数据点图,并画出其折线图。 年份 1 2 3 4 5 6 7 8 9 10 11
28、 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,输入命令行: ln16:= f=ListPlot5.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.
29、0,27.0, 47.0,63.0,60.0,39.0,28.0,26.0,22.0,11.0,21.0 PlotStyle- PointSize0.05, AxesLabel-年份,海拔 *画散点图,In17:= g= ListPlot5.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-年份,海拔 *做折线图(左),Showf, g *散点图和折线
30、图显示在一起(右),例16:画出在0,1取值的随机函数所产生的21个随机点的散点图 解:Mathematica 命令: In19:= data=TableRandom, i, 0, 20; ListPlotdata, PlotStyle -PointSize0.05,2.8 画平面等高线图,二元函数z = f (x,y) 在z取均匀间隔数值所对应的平面等值线系列构成该函数的等直线图。从等直线图可以了解该二元函数特性。Mathematica的绘制平面等高线图的命令为:命令形式: ContourPlot fx, y , x, xmin , xmax, y,ymin , ymax, option1-
31、value1, 功能:画出二元函数z = f(x,y) 当z取均匀间隔数值所对应的平面等值线图, 其中变量(x,y)满足xmin x xmax, ymin y ymax,如果不选选择项参数, 则对应的选择项值取默认值。注意:命令中的xmin, xmax, ymin, ymax应该是具体的数字或可以计算出数值的表达式, 该命令只能画在矩形区域上的二元函数等高线图。此外, 该命令的选项参数除了同于Mathematica的平面曲线绘图的选项外, 还有如下的常用选项:,例17: 画出函数z = x 2+y 2 在区域-2,2-2,2上具有15条等值线的图形, 不使用阴影效果 解: In20:= Con
32、tourPlotx*x+y*y, x,-2,2,y,-2,2, ContourShading-False,Contours-15,2.9 用图形元素作图 图元作图分二维图元作图和三维图元作图。 (1) 二维图元作图 二维图元作图需要先用Graphics二维图形元素表函数得到图形文件, 然后再用图形显示命令Show 图形文件的形式显示完成的二维图形。常用的二维图形元素有(见表),命令形式: ShowGraphics二维图形元素表 , option1-value1, 功能:画出由二维图形元素表组合的图形。 注意: 可以在二维图形元素表中加入修饰图元的函数。Graphics称为图形文件。,返回,例1
33、7:画出端点在-1,-1,1,-2的虚线段 解:In21:=ShowGraphicsDashing0.05, 0.01, Line-1, -1, 1, -2 ,一般图元表Dashingr1,r2,r3,r4, Linep1,p2表示在直线Linep1,p2上依次取长r1实线段, 擦除长r2实线段, 取长r3实线段,擦除长r4实线段的周期形式画出虚线段。,例18:画出中心和长短半轴满足公式,3n,0,n/4,2-n/4, n=1,2,3,4的四个椭圆盘图形 (左图)解:In21:=ShowGraphicsTable Disk3n,0,n/4,2-n/4,n,4, AspectRatio-Auto
34、matic,例19:画出在区域0,10,1内的8个随机游动点的折线图,并在图中给出文本标记(右图) 解: In22:= t=TableRandom,Random,i,1,8; In23:= ShowGraphicsLinet,Text“Random move“,0.5, 1,(2)三维图元作图 三维图元作图需要先用Graphics3D三维图形元素表函数得到图形文件,然后再用图形显示命令Show 图形文件的形式显示完成的三维图形。 命令形式: ShowGraphics3D三维图形元素表 , option1-value1, 功能:画出由三维图形元素表组合的图形,其选择项参数及取值同于空间绘图参数
35、常用的三维图形元素中有:,2.10 图形的重画 在每次执行绘图命令后,会看到在图形下面的输出行显示出一行字母 “-Graphics-”,这意味着执行绘图命令后还产生了一个图形文件。你可以用命令InputForm%输出行号察看该绘图文件的内容。例如: In24:=ListPlotTablex*Sinx, x, 0, 3, 0.2, PlotStyle-PointSize0.03,In25:=InputForm%24 Out25/InputForm=GraphicsPointSize0.03, Point1, 0, Point2, 0.03973386615901225, Point3, 0.15
36、57673369234602, Point4, 0.3387854840370213, Point5, 0.5738848727196184, Point6, 0.841470984807897, Point7, 1.118446903160671, Point8, 1.379629621983844, Point9, 1.599317764866408, Point10, 1.752925735580751, Point11, 1.818594853651363, Point12, 1.778692088403099, Point13, 1.621111633322762, Point14,
37、 1.340303566735807, Point15, 0.937966820436533, Point16, 0.4233600241796004, PlotRange - Automatic, AspectRatio - GoldenRatio(-1), DisplayFunction : $DisplayFunction, ColorOutput - Automatic, DefaultFont : $DefaultFont, RotateLabel - True, Frame - False, FrameStyle - Automatic, FrameTicks - Automati
38、c, FrameLabel - None, PlotRegion - Automatic,常用的图形重画命令有: 命令形式1:Showplot 功能:重新显示图形Plot命令形式2:Showplot , option1-value1, 功能:按照选择设置option1-value1,重新显示图形Plot命令形式3:Showplot1 , plot2, ,plotn 功能:在一个坐标系中,显示n个图形 plot1 , plot2,plotn,例18: 在同一坐标系中画出两个函数y = cos 2x ,y = ln x ,的图形,自变量范围为:1 x 3 解:Mathematica 命令: In2
39、6:= g1=PlotSin2x, x,1,3, DisplayFunction-Identity; *将图形文件存在变量g1中 In27:= g2=PlotLogx , x,1,3, DisplayFunction-Identity; *将图形文件存在变量g2中 In28:=Showg1,g2, DisplayFunction-$DisplayFunction,例19: 先画出函数y=cos(e x2 )在 0,1.5部分的图形,再显示该图形自变量在0.6至0.8部分的图形。(见左图) 解: In29:= y= Plot Cos Expx*x , x, 0, 1.5;,Showy, Plot
40、Range-0.6, 0.8,-1, 1; (见右图),切面图形技巧三维空间的切面可以是平行X.Y.Z轴的,也可以是任意角度放置的,但是共同的特征是所有的点在一个平面上 例: In29:= y1= Plot3D 0, x, -3, 3 , y, -3, 3,Out29:= -SurfaceGraphics-,In30:= y2 = Plot3D Sinx + Siny , x, -3, 3 , y, -3, 3,Out30:= -SurfaceGraphics-,In31:= Showy1, y2,Out31:= -SurfaceGraphics-,In32:= y3 = Plot3D -0.
41、5*x , x, -3, 3 , y, -3, 3,Out32:= -SurfaceGraphics-,In33:= Showy3, y2,Out33:= -SurfaceGraphics-,In34:= y4= Plot3D 0.5*y, x, -3, 3 , y, -3, 3,Out34:= -SurfaceGraphics-,In35:= Showy4, y2,Out35:= -SurfaceGraphics-,In36:= y5= Plot3D -0.2*x + 0.4*y , x, -3, 3 , y, -3, 3,Out36:= -SurfaceGraphics-,In37:= Showy5, y2,Out37:= -SurfaceGraphics-,第二章结束! 谢谢大家!,