1 / 64

第二章 Mathematica 绘图

第二章 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 的范围 , 选择项参数 ]

Download Presentation

第二章 Mathematica 绘图

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第二章 Mathematica 绘图

  2. 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的范围, 选择项参数] 下一部分

  3. 绘空间参数曲线{ 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[ 图形文件 , 选择项参数]

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

  5. 例2 :z [x_, y_]:=1/Sqrt[x^2+y^2]; Plot3D[z[x,y],{x,-2,2},{y,-2,2},PlotPoints ->30] 返回

  6. 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]}]; • 例3: 返回

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

  8. 结果图形 (2) Plot[Sin[x^2]/x^2,{x,-5,5}] (1) Plot[(x^2-x)Sin[x],{x,0,16}] (3) Plot[{Sin[x],Sin[2x]},{x,0,2Pi}] (4)ParametricPlot[{Sin[t],Sin[2t]},{t,0,2Pi}]

  9. 2.1.2常用的绘图选项参数名称、含义、取值 绘图命令中的选择项参数的形式为: 选项(option)参数名称 -> 参数值(value) • 一些常用的绘图选项列举如下: (1)选项参数名称: AspectRatio 含义:图形的高度与宽度比 参数取值:作为平面图形输参数值时, 该选项参数的默认值为1/GoldenRatio, 这里GoldenRatio是数学常数0.618; 作为空间图形参数值时,该选项参数的默认值为Automatic。AspectRatio 取Automatic值时, 表示图形按实际比例显示。 例:AspectRatio->Automaic, 表示显示的图形高度与宽度比由Mathematica 的内部算法根据函数图形的大小确定; AspectRatio->1, 表示显示的图形高度与宽度比是1:1。

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

  11. (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作为该函数图形名称。

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

  13. (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 含义: 设置所绘曲线或点图的颜色、曲线粗细或点的大小及曲线的虚实等显示样式 参数取值: 与曲线样式函数的取值对应。

  14. 曲线样式函数有: • 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实线段, …, 的方式画出虚线图。

  15. 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] (见右图)

  16. 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]}}] • 举例:

  17. 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,option2->value2,…] 功能:画出函数f(x) 的图形,图形范围是自变量x满足xmin  x  xmax的部分,其选择项参数值取命令中的值。

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

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

  20. 例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]]

  21. 例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"}]

  22. 例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.02}]}}]

  23. 例5:画出5次勒让德多项式LegendreP[5,x] 的图形 , 自变量范围为:-1 x  1,且函数图形四周加框,并在图形上标出函数名称。 解:Mathematica 命令: In[5]:= Plot[LegendreP[5,x], {x,-1,1}, Frame->True, PlotLabel->"LegendreP[5,x]"]

  24. 2.3 画二元函数图形 命令形式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的部分的曲面图形。

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

  26. 例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}]

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

  28. 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  tmax。

  29. 例8:画出半径为4的圆的图形。 解:由于圆为封闭曲线,故应该用参数绘图命令来画。 半径为4的圆的参数方程为: x=2cos t, y=2 sin t, 0 t 2 Mathematica 命令: In[8]:= ParametricPlot[{2Cos[t], 2Sin[t]} , { t, 0, 2Pi}]; 该命令画出的不是圆而是椭圆的原因是由于ParametricPlot[]的命令中的图形高宽比参数AspectRatio的默认值为1:0.618造成的, 要显示出真正的圆应该把AspectRatio设置为Automatic即AspectRatio->Automatic

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

  31. 例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}];

  32. 空间参数曲线的方程为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} ];

  33. 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] 部分的参数曲面图形,如果不选选择项参数, 则对应的选择项值取默认值。

  34. 例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} ]

  35. 例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}]

  36. 例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} ]

  37. 2.7 画平面散点图 • 命令形式1:ListPlot[{{x1, y1}, {x2, y2}, …, {xn, yn} }, option1->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} } ,PlotJoined->True] • 功能:将所输入数据点依次用直线段联结成一条折线。 • 注意:命令中的选择项参数及其取值同于一元函数绘图, 如果画出的散点图的点太小,可以用选择项参数PlotStyle->PointSize[r]增大散点图的点, r表示点的半径, 一般取<0.1的值。

  38. 例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] } ]

  39. 例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->{年份,海拔}] *画散点图

  40. 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] *散点图和折线图显示在一起(右)

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

  42. 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的平面曲线绘图的选项外, 还有如下的常用选项:

  43. 例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]

  44. 2.9 用图形元素作图 • 图元作图分二维图元作图和三维图元作图。 (1) 二维图元作图 • 二维图元作图需要先用Graphics[二维图形元素表]函数得到图形文件, 然后再用图形显示命令Show [图形文件]的形式显示完成的二维图形。常用的二维图形元素有(见表) 命令形式:Show[Graphics[二维图形元素表] , option1->value1,… ] 功能:画出由二维图形元素表组合的图形。 注意: 可以在二维图形元素表中加入修饰图元的函数。 Graphics[…]称为图形文件。

  45. 返回

  46. 例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实线段的周期形式画出虚线段。

  47. 例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}]}]]

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

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

More Related