三.图形二维图形三维图形图形表达式的结构1一元函数的情形在平面直角坐标系中绘制函数y=f(x)的图形的函数是Plot,其调用格式如下:Plot[f[x],{x,a,b},选项]绘制函数f(x)在区间[a,b]范围内的图形Plot[{f1[x],f2[x],…},{x,a,b},选项]同时绘制多个函数的图形例1:绘图函数的原理:自动选取若干个求出函数值,再将点连接起来得到曲线.因此当给出的不是一个能直接将带入求出的函数表达式时,会出问题ix)(iixfy),(iiyxixiy例2:在此例中使用表达式时,Plot并不先求出,而是直接将一些具体数值带入求,当然出错.解决的办法是使用函数Evaluate[f],告知Mathematica首先求出表达式f的值.xxd2d2xxxixiixxd例3:2可选参数绘图函数的可选参数很多,一下介绍Plot的常用可选参数.可选参数分为两类:第一类参数能改变输出图形的外观,但不影响图形自身的质量;第二类参数则影响图形自身的质量.可选参数的格式为:可选项名-可选项值,当不使用可选参数时该参数去默认值.1)第一类可选参数第一类可选参数有以下几种:(1)PlotRang指定绘图的范围.其可选值是:Automatic由Mathematica自动选取范围切除无穷值点和尖峰All画出所有点{min,max}给出y(三维为z)轴方向的取值范围分别给出x,y(三维加z)轴方向的取值范围}},{},,{{2121yyxx例4:(2)AspectRatio指定图形的高宽比.可选值是:默认值为0.618(即黄金分割),准确值是1/GoldenRatio,其中是一个Mathematica常数.如果取Automatic,则高宽比为1,还可以取任何正数.251oGoldenRati例5:例6:(3)Axes用于指定是否显示坐标轴.它有三个值:True(或Automatica)为默认值,表示画出坐标轴False表示不画出坐标轴{True,False}或{False,True}只画出一个轴(4)AxesOrigin用于指定两个坐标轴的交点位置.它有两个选择:Automatica由Mathematica自己选择,但可能不在(0,0)点(默认值){x,y}给出交点坐标例7:(5)AxesLabel用于给坐标轴加上注记(说明性字符串).它有三个值:None没有标记(默认值)“字符串”给y(三维为z)轴加上标记{“字符串1”,“字符串2”}分别给出x,y轴(三维加z)轴的注记例8:(6)Ticks用于给坐标轴加上刻度或给坐标轴上的点加标记.长用的选项值为:Automatic由Mathematica自动加上刻度(默认值)None不加刻度在横坐标的点和纵坐标的点处加上刻度}},,{},,,{{2121yyxx,,21xx,,21yy{{{x1,“字符串1”},{x2,“字符串2”},…}{{y1,“字符串1”},{y2,“字符串2”},…}}在横坐标上的点和纵坐标上的点处写上字符串.,,21xx,,21yy例9:(7)AxesStyle用于设置坐标轴的颜色,线宽等选项.它的值为:{选项1,选项2,…}对所有的轴设置相同的选项{{x轴选项1,x轴选项2,…},{y轴选项1,y轴选项2,…}}分别对各轴设置不同的选项例10:(8)Frame用于给图形加框.它的值为:False不加框(默认值)True加框例11:(9)GridLines用于加网格线.它的值为:None不加网格线(默认值)Automatic由Mathematica自动加上网格线在横轴上的点和纵轴上的点处加上网格线}},,{},,,{{2121yyxx,,21xx,,21yy例12:(10)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]为红色例13(11)PlotLabel用于在图形上方居中加注释。其值为:None没有注释(默认值)“字符串”将字符串里的内容作为注释例14(12)DisplayFunction指定任何显示图形其值为:$DisplayFunction使用Mathematic的显示函数(默认值)Identity只生成但不显示图形2)第二类可选参数第二类可选参数有以下几种:(1)PlotStyle用于规定曲线的线形和颜色.常用值是:Automatic曲线是黑色实线(默认值)GrayLevel[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)例15使用不同颜色和线宽绘制曲线例16画虚线时参数的设置法(2)PlotPoints规定绘图时取的最少点数.它的默认值是25,画一条变化剧烈的曲线时,应该增大点数.还有些第二类可选参数不好把握,不再介绍3二维参数图我们经常会遇到曲线方程由参数式给出的情形,绘制平面参数式曲线的函数是ParametricPlot,其调用格式如下:ParametricPlot[{x(t),y(t)},{t,a,b}]其中t的取值范围是区间[a,b]ParametricPlot[{{x1(t),y1(t)},{x2(t),y2(t)},…},{t,a,b}]同时画出多条曲线注:此函数可以添加与Plot一样的可选参数例17绘制星形线4绘制点列用一个表给出点列中各点的坐标,函数ListPlot用于绘制点列,其调用格式如下:ListPlot[{y1,y2,…}]画出点列(1,y1),(2,y2),…ListPlot[{{x1,y1},{x2,y2},…}}]画出点列(x1,y1),(x2,y2),…此函数还有可选参数PlotJioned,用于将点用线段顺次连接起来,它的值为:False不连接(默认值)True连接各点例185等值线图和密度图1)等值线图绘制函数z=f(x,y)的等值线图使用函数:ContourPlot[f,{x,xmin,xmax},{y,ymin,ymax}]其中f是二元函数的表达式例19此函数有以下几个可选参数:(1)ContourShading用于决定是否使用灰度.其值为:True使用灰度(默认值)False只画出等值线,没有灰度(2)Contours用于给出等值线的数目.其值为:n给出等值线的条数(默认值为10){z1,z2,…}画出对应函数值为z1,z2,…的等值线注:利用指定函数值可以画出隐函数F(x,y)=0的图形.例20(3)ColorFunction用于规定函数值大小的显示方法.其值为:Automatic用灰度表示函数值的大小(默认值)Hue用一系列颜色表示函数值的大小2)密度图密度图也用灰度表示函数值的大小,越亮的地方函数值越大,这与等值线图类似.绘制密度图的函数是:DensityPlot[f,{x,xmin,xmax},{y,ymin,ymax}]其中f是二元函数的表达式例21此函数有两个可选参数:(1)ColorFunction意义同上(2)Mesh说明在曲面上是否画网格.其值为:True画网格(默认值)False不画网格6外部绘制函数Mathematica绘制二维图形的内部函数缺少一些功能,如绘制极坐标图形,直方图和向量场等.但是它有自带的绘图程序包.例22极坐标系下做图例23例24填充图的绘图命令最后再给出一个绘制向量场的例子: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是着色表达式,用于给曲面着色例1例22)可选参数函数Plot3D有以下可选参数:(1)Boxed说明是否给图形加立体框.其值为:True加立体框(默认值)False不加立体框(3)Mesh说明在曲面上是否画网格.其值为:True画网格(默认值)False不画网格(2)BoxRatios给出3个方向上的长度比,默认值为{1,1,0.4}.例3(4)HiddenSurface说明是否隐藏曲面被遮住的部分.其值为:True隐藏(默认值)False不隐藏True在曲面上涂色(默认值)False只有曲面网格线,曲面为白色(5)Shading说明是否在曲面上按函数值大小涂灰色(或彩色).其值为:(5)ColorFunction决定曲面用灰度还是用彩色涂色.(6)FaceGrids用于添加坐标网格线,其值为:None没有坐标网格线(默认值)All由Mathematica自动在立体框的6个面上添加坐标网格线{face1,face2,…}指定6个面中的哪些面添加坐标网格线.其中face1等表示由三个数组成的表,例如{0,0,-1}表示底面,{0,0,1}表示顶面,三个数必定有两个是0,另一个为1或-1(7)Lighting说明是否打开光源.默认值为True,当曲面上按函数值大小涂灰色时,曲面由于反光呈现彩色,如果曲面上按函数值大小涂彩色,则光源不起作用.(8)ViewPoint用于设置观察点默认值为{1.3,-2.4,2},可以将观察点设置为任何点,从不同角度观察曲面的形状.(9)PlotPoints用于规定作图时取的最少点数.其值为n在x轴和y轴方向上各取n点(默认值15){nx,ny}在x轴和y轴方向上分别取nx,ny点2三维参数图形1)三维参数式曲线绘制三维参数式曲线的函数是:ParametricPlot3D[{x(t),y(t),z(t)},{t,a,b}]绘制三维参数式曲线例4同时绘制多条曲线可得到一些简易的三维图形2)三维参数式曲面函数Plot3D的最大缺陷在于曲面总是定义在矩形区域上,这不能满足实际需要,Mathmatica提供的画三维参数图形的功能,留给用户自由变换的余地,用途广泛.绘制三维参数式曲面与绘制三维参数式曲线使用同一个函数,只是参数有差异:ParametricPlot3D[{x(u,v),y(u,v),z(u,v)},{u,umin,umax},{v,vmin,vmax}]绘制参数式曲面三维数据绘图命令意义ListContourPlot[数据]使用数据画出等值线图ListPlot3D[数据]使用数据画出三维图ListDensityPlot[数据]使用数据画出密度图☞动画命令格式:Animate[图,时间迭代区间]---按时间迭代区间运行绘图命令显示一组图形,再连续显示这一组图形,形成动画效果.调出动画演示程序包为:Graphics`Animation`,即可使用包中各动画演示图形函数.下面列出程序Animatio.m中定义的函数:函数意义MoviePlot[f[x,t],{x,x0,x1},{t,t0,t1},选项]---动画演示函数f[x,t]的图形,x是动画函数变量,t是时间变量MoviePlot3D[f[x,y,t],{x,x0,x1},{y,y0,y1},{t,t0,t1},选项]--动画演示以x,y为变量的函数f