第6章在Mathematica 中作图
6.1 二维函数作图
6.1.1 二维函数作图命令 Plot
Plot命令的一般形式:
Plot[f,{x,xmin,xmax}, 选项 ]
Plot[{f1,f2,…},{x,xmin,xmax}, 选项 ]
例题:
In[1]:=Plot[x Sin[1/x],{x,-0.5, 0.5}]
In[2]:=Plot[(x^2-x)Sin[x],{x,2,16},AxesLabel->{"x","f(x)"} ]
(* 给x、y坐标轴分别加标记"x", "f (x)" *)
In[4]:=Plot[Sin[x],{x,0,3},Frame−>True,
GridLines −> Automatic]
(* 给图形加上框线和网格*)
Plot函数的第一类可选项,告诉系统如何显示图形,以及对坐标轴、刻度等细节的处理。AspectRatio图形的高度与宽度的比例,默认值是1/GoldRatio,其中GoldRatio=0.618。
如果要图形按实际情况显示,设置的选项值是Automatic。
Axes是否画坐标轴以及设置坐标轴的中心位置,默认值是True,画出坐标轴。Axes -> None 不设坐标轴;Axes -> {x0,y0} 设置坐标轴中心为{x0,y0} 。
AxesLabel设置坐标轴上的标记符号。默认值是None,不做标记。
用{“字符串1”, “字符串2”}的形式定义轴的横坐标和纵坐标标记。
Frame在图形周围是否加框。默认值是False;Frame -> True画出边框。
Ticks设置坐标轴上刻度的位置,默认值是Automatic,由系统自动定位。
Ticks->None 不标坐标刻度;Ticks-> {xi,yi} 规定x轴和y轴的刻度值,
FrameLabel是否在框的周围加标志。默认值是None。
FrameLabel ->{xmlab, ymlab, xplab, yplab}从底边开始按顺时针方向,设置外框的边缘名称。
PlotLabel 图形的名称标志。默认值是None,不列标志。
PlotLabel ->lab则规定图名是 lab。任意输出格式给出的表达式都可作为图名。字符串用"text"
的形式给出。
PlotColor是否产生彩颜。默认值是True。
DisplayFunction说明用什么机制显示图形。默认值 $DisplayFunction,其意义是立即在屏幕上显示图形。如果要在Plot中不输出图形,则再现图形时则需要设置选
项 DisplayFunction -> $DisplayFunction 。
PlotRange指定绘图的范围。系统用默认值时会自动切除区间奇点附近区域的曲线。
PlotRange -> All 画出所有点; PlotRange ->{y0,y1} 画出函数值在[y0,y1]范围内的图;
PlotRange ->{{x0,x1},{y0,y1}} 画出区间在[x0,x1] , 函数值在[y0,y1] 的图形。
以上是请上机观看DisplayFunction在演示图形中的效果:
In[1]:= Plot [x^3-2, {x,0,10}, DisplayFunction −> Identity]
In[2]:= Show [%, DisplayFunction −>$DisplayFunction ]
6.1.2曲线样式
Plot的第二类选项用于控制图形的生成过程,设置怎样构造图形元素。例如:设
置加大画图取样的点数,设置曲线的颜等特性。下列Plot的第二类选项及其意义:
选项默认值说明
PlotPoints 25 采样函数的点数,对于函数值变化剧烈的表达式,应设定较大的点数
PlotStyle Automatic 设置曲线的样式。可设置曲线的颜、线条的高度和虚实等形式。默认值画出一条黑实线的曲线。
MaxBend
10 曲线相邻线段之间的最大夹角。当相邻的两段折线之角的折角大于MaxBend 的值时,系统自动增加一些中间点,使折线变的更加光滑。
PlotDivision 20 对函数取样时细分区间的最大因子,由于有些函数具有无穷振荡的图形,为了避免MaxBend一直增加中间点以满足折线的夹角要求而陷入死循环。
1
我们称曲线的颜、曲线的线形和线的宽度等特性为曲线样式。下列用于设置曲线的样式选项PlotStyle的调用形式和选项值。
GrayLevel[g] 灰度比值,g 取0到1 之间的数。
RGBColor[r,g,b] 红、绿、兰的强度, r、g和b 取0到1。
Thickness[t] 显示线的宽度为t,
Dashing[{d1,d2,…}] 用虚线段序列画线。
PointSize[d]给出一个点的大小d。
PlotStyle −> s1 为所有曲线规定一种样式s1。
PlotStyle −>{{s1},{s2},…} 为一曲线序列循环地使用样式si
请上机观看运行结果:
Plot[{Sin[2 x],x},{x,-1.7,1.7}, PlotStyle ->
{Dashing[{0.01, 0.04, 0.01, 0.04}],
Dashing[{0.03, 0.01, 0.01, 0.02}]}]
Plot[{x,x^2},{x,−10,10}, PlotStyle −> {{GrayLevel[0.5]},
字符串是什么颜{RGBColor [0,1,1]}}]
Plot[{x,2x},{x,1,3},PlotStyle−>{{Thickness[0.01]}, {Thickness[0.05]}}]
6.1.3 重画和组合图形
Show与GraphicsArray
Mathematica在屏幕上显示图形后用 Show命令再现图形,用Show命令重新显示
图形时,只允许使用Plot 第一类可选项。
Show的常用形式:
Show[pic]
Show[pic, 选项名 -> 选项值]设置图形pic的各种选项并显示图形
Show[pic1, pic2,…, picn]
在Show 中设置不同的选项产生不同的图形效果,从各种角度观察同一个图形,从中再出选项的最佳设置值。Show可用于Plot3D, ParametricPlot 等几乎所有作图命令的图形再现。
GraphicsArray组合多个图形成为一个数组,图形数组的数组元素是一幅图。常用形式有:
Show[GraphicsArray[{p1,p2,...}]]
依次显示每个图形pi
Show[GraphicsArray[{{p11,p12,...},{p21,p22,...},...}]] 按矩阵形式显示每个图形
p1 = Plot[x^3 -3x +1, {x,-5,5}]
p2 = Plot[(x - 1)(x + 1)(x - 1.5)(x + 2.5)(x - 3),{x, -5, 5}];
p3 =Plot[x^2Sin[x] +1.2,{x, -5, 5}]
p1, p2和p3的图略。
In[6]:=Show[GraphicsArray[{p1,p2,p3}]]
Out[6]=-GraphicsArray-
In[7]:=Show[GraphicsArray[{{p1,p2}, {p2,p3}}]]
Out[7]=-GraphicsArray-
In[8]:= tt =Table[Plot[Sin[x+t],{x,0,2Pi},
DisplayFunction -> Identity], {t, 0, 8}];
In[9]:=Show[GraphicsArray[Partition[tt,3],
DisplayFunction -> $DisplayFunction]]
图形表达式
下列有关图形表达式的操作命令:
显示图形pic中所用的全部选项
Options[pic]
Options[pic, opt] 显示图形pic的opt选项值
InputForm [pic] 显示pic 的图形表达式
SetOptions [绘图命令, 选项名→选项值]
修改或设置作图命令选项的默认值
如果计算的对象不是显函数。例如:是一个函数表达式的表。Mathematica在作图
时要先计算出计算对象的值,然后再计算构造图形所需的x和相应的函数值f(x)。这
时计算对象前必须加以Evaluate,以便对计算对象强行求值。
Plot [Evaluate [f ], {x, xmin, xmax}]
6.1.4 两维参数绘图ParametricPlot
一般形式是:
ParametricPlot [{x[t],y[t]} {t,t0,t1}, 选项]
ParametricPlot[{{x1[t],y1[t]},{x2[t],y2[t]},…},{t,tmin,tmax}, 选项]
按照选项,画一组参数曲线。
ParametricPlot [{Sin[t],Sin[2t]},{t,0,2Pi}]
ParametricPlot[{Cos[t],Sin[t]},{t,0,2Pi},
AspectRatio −>Automatic]
6.2三维函数作图
6.2.1 函数作图命令 Plot3D
一般形式:
Plot3D [f [x,y], {x, x0, x1}, {y, y0, y1}, 选项]
在区域x∈ [x0,x1] 和y∈[y0,y1]上,按选项画出空间曲面实数值表达式f[x,y]。
Plot3D [{f [x,y],s[x,y]}, {x, x0, x1}, {y, y0, y1}, 选项]
按s[x,y]设置的灰度函数(GrayLavel)或颜函数(Hue)画函数f [x,y].
下列Plot3D的常用选项:
选项名默认值说明
Axes True
是否包括轴
PlotRange Automatic
可用All,{z0,z1}或 {{x0,x1},{y0,y1},{z0,z1}} PlotLabel None
在轴上加标志, PlotLabel -> z 设置z轴的标志
PlotLabel ->{A,B,C} 设置x,y,z轴的标志AspectRatio 1:1:0.4
图形的高度与宽度之比
ViewPoint {1.3,−2.4,2} 观察曲面所在的点,可以设定任何观察点
Boxed True
是否在曲面周围加立体框
BoxRatios {1,1,0.三维立体边长比率
4}
Mesh True
是否在曲面上画出xy 网格。用False 取消网
格
HiddenSurface True 曲面被挡住的部分是否隐掉。
Shading True
曲面上是否涂阴影
Light False
是否设置光源
LightSources 点光源的方向和颜。说明形式:{光源位置,光源光}。光源位
置
用 {x,y,z} 点坐标表示,光源光用RGBColor等函数表示。
缺省值可用Option[ ]查看。
AmbientLight GrayLevel[0]漫射光设置。默认值是黑,表示没有漫射光。
可用灰度或颜设置任意漫射光。
ClipFill Automatic
作出图中被切掉的部分的填充方式。
PlotPoint 15 在函数在每个方向上的取样点数。
In[1]:= Plot3D[Sin[x y],{x,-Pi,Pi},{y,-2,2},
PlotPoints->45,Axes->False,Boxed->False];
In[2]:=Plot3D[-x y Exp[-x x - y
y],{x,-3,3},{y,-3,3},AspectRatio->Automatic]
6.2.2 三维参数作图
ParametricPlot3D命令的一般形式:
ParametricPlot3D[{x,y,z }, {u,u0,u1,(du)}, {v,v0,v1,(dv)}, 选项]
画出三维参数空间曲面,其中:x= x (u,v), y= y (u,v), z= z (u,v),
ParametricPlot3D[{x,y,z}, {t,t0,t1}, 选项]
画三维参数空间曲线,其中:x= x(t), y= y(t), z= z(t),
In[1]:=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}]
In[2]:=Show[%,Boxed -> False,Axes -> False]
In[3]:=ParametricPlot3D[{Cos[u]Cos[v],Sin[u]
Sin[v],Sin[v]},{u,0,2Pi},{v,−Pi/2,Pi/2}]
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论