
Mathematica图形绘制.ppt
41页利用Mathematica进行绘图试验,在这个试验中, 我们将在Mathematica中, 画出各种类型的图形,如曲线图, 曲面图, 直方图等等.,平面图形绘制,Plot[f,{x,xmin,xmax}] 画出f在区间(xmain,xmax)上有曲线图Plot[{f1,f2,…},{x,xmin,xmax}] 同上,但在一张图中同时画出 f1,f2,…的图形ListPlot[{{x1,y1},{x2,y2},…}] 由给定的数据绘图ParametricPlot[{x[t],y[t]},{t,tmin,tmax}] 画出参数方程图形,,,,,其中PlotJoined和PlotStyle是绘图选项,后面要详细介绍,图形的重组,Show[plot1,plot2,…] 将多个图形画到一张图上Show[GraphicsArray[{{plot1,plot2,…},…}]] 绘制图形阵列,,,空间图形绘制,Plot3D[f,{x,xmin,xmax},{y,ymin,ymax}] 画三维曲面图ListPlot3D[{{z11,z12,…},{z21,z22,…},…}] 由高度数据画图ParametricPlot3D[{x[t],y[t],z[t]},{t,tmin,tmax}]空间曲线图ParametricPlot3D[{x[t,u],y[t,u],z[t,u]},{t,tmin,tmax}, {u,umin,umax}] 画出参数方程所表示的空间曲面图ContourPlot[f,{x,xmin,xmax},{y,ymin,ymax}] 函数的等高线图ListContourPlot[{{z11,z12,…},…}] 由高度数组画等高线图DensityPlot[f,{x,xmin,xmax},{y,ymin,ymax}] 函数的密度图ListDensityPlot[{{z11,z12,…},…}] 由高度数组画密度图,,,,,从理论上来说,任何一个曲线(二维或者三维)或者空间曲面都可以用参数方程来表示出来,所以,对于具有函数关系的数学曲线,参数方程绘图即ParametricPlot[{x[t],y[t],z[t]},{t,tmin,tmax}]空间曲线图ParametricPlot3D[{x[t,u],y[t,u],z[t,u]},{t,tmin,tmax}, {u,umin,umax}] 画出参数方程所表示的空间曲面图或者曲线是两个功能强大的数学函数关系绘图命令.例如,极坐标可以用参数方程表示为: x(t)=r(t)cos(t), y(t)=r(t)sin(t)对于心形线r(t)=1+cos(t),则可用参数方程表示为:x(t)=(1+cos(t))cos(t), y(t)=(1+cos(t))sin(t),单位圆可用参数方程表示为:x(t)=cos(t),y=sin(t),则可用参数方程绘制曲线命令画出两图形.,其中的AspectRatio是将绘图坐标轴的纵横比例设为1,使圆看起来是圆,否则为1/0.618,看起来是一个椭圆,它也是一个绘图的选项.,下面来看看空间曲线的绘图命令,螺旋线的方程是:x=cos(t),y=sin(t),z=at,则下面可画出此曲线,再来看看究竟曲面情况,我们知道,球坐标与直角坐标的关系如下: x=r[j, q] Sin[j]Cos[q], y= r[j, q] Sin[j]Sin[q], z= r[j, q] Cos[j],因此,x2+ y2+ z2=1在球坐标下的方程是r=1,方程x2- y2= z是马鞍面,以下命令画出二者相交后的图形.,ListPlot与ListPlot3D是两个非常有用的三维数据绘图命令. 假设你有一些数据,如果这些数据是三维的,则你可能希望画出关于这些数据的二维曲线图,如果这些数据是三维的,你可能要求画出三维曲面图. 对于二维数据, 使用ListPlot绘图时,其数据的格式是: ListPlot[{{x1,y1},{x2,y2},…..}},opt]其中opt是可选项,例如上面介绍的PlotJoined->True, PlotStyle->PointSize[数据点的大小]是两个最常使用的绘图选项,关于ListPlot命令,上面已经介绍过,下面主要介绍ListPlot3D命令,它能够根据一些数据,画出空间曲面图形,为了更好地理解ListPlot3D命令,下面以一个实际例子来说明它. 假设你要绘制某个地区的某个矩形区域的三维地形图,你将此矩形区域放到平面直角坐标系中,设X为南北方向,Y为东西方向,Z为地面高度,将X,Y轴分成若干网格,在每一网格点上,你都可以得到一个高度数据,这些数据实际上可以看成一个矩阵,设此矩阵为A,则可用ListPlot3D[A]画出这些数据,它的每一点,都代表一个地形的高度,实际上,你画出的就是此区域的地形图.请你要格外注意,使用此命令绘图时,在图形中的每个高度处,你不能够直接观察到其X与Y的值,因为此矩阵中,只有Z的值,下面的data是一个用Table命令生成的矩阵,它将曲面z=x^2+y^2在区域[-1,1]x[-1,1]内横向与纵向都分成21份,并在每个交叉点上,取x^2+y^2为其值,因此,data实际上是一个21x21的矩阵.,这是data矩阵的具体数值,绘图选项,Options[command] 列出command命令所使用的参数设置,例如使用Options[ListPlot]就可列出ListPlot[]命令的所有默认选项,与上面所画的2张图一样,你可以修改其中的一个或多个选项,以画出不同要求的图形。
以下是常用的绘图平面图形绘图选项●AspectRatio(图形的高与宽的比),默认值为1/GoldenRatio,即黄金分割率的倒数●Axes(图形中是否包含坐标轴),默认值为True,你可以修改为False,即不画出坐标轴●AxesLabel(是否在每个坐标轴上打印一个字符串,以便标记坐标轴),默认为None,即不标记,例如对平面图形,你可以修改为如:AxesLabel->{“X“,”Y”}●AxesOrigin(坐标轴交叉点的位置),默认为系统自动选择,对平面图形,你可以使用AxesOrigin->{x0,y0}选择一个合适的坐标轴交叉点●DefaultFont(图形中所显示文本的字体与号),系统的默认值为$DefaultFont,此变量对不同的计算机,可能会有所差别,我们可用如DefaultFont->{“Courier”,10}去修改它,它表示当前图形中文本的字体为Courier,字号为10磅●Frame(是否在图形周围加方框),默认为False,即不加框,可以修改为True,即将图形放在一个方框之内●FrameLabel(图形框名称),若图形框选项Frame为True情况下,使用FrameLabel->”string”可在图形框外打印一个字符串。
●GridLines(是否画出网格线),默认为不画,改变此设置用GridLines->Automatic实现,也可用{{x1,x2…},{y1,y2,…}}的形式自己定义网格线●PlotLabel(给图形加上标题),用PlotLabel->”Title”可为图形加上一个合适的标题●PlotRange(指定绘图的范围),默认为系统自动选择,但你可修改它,例如对平面图形,直接用PlotRange->{{x1,x2},{y1,y2}}指定绘图的范围●PlotJoined是ListPlot命令的绘图选项,ListPlot命令默认的绘图方式是画出一个个的点,用PlotJoined->True可将图形中的所有邻近的点用直线连接起来对于空间图形,对不同的绘图命令,都有不同的绘图选项,但大部分与上面关于平面图形的绘图选项名称一致,只不过某些选项的用法可能与平面图形的用法略有不同以下的三维图形常用的绘图选项●Boxed(是否加上一个方形盒子将图形框住),默认为True●BoxRatios(三维图形绘图比例),默认为BoxRations->{1,1,.4}●Mesh(是否画出图形中的网格线),默认为Mesh->True。
●Shading(是否对图形进行阴影填充),默认为填充●PlotPoints(绘图时系统所取的点数),默认为15个点,即画图时,将图形区域分成15 15的小方快,在每个小方快内,用小平面快来近似代替曲面对于剧烈变化的三维图形,这种近似图形与实际相差太多,因此要用PlotPoints->n来增加小方快数,一般n取50左右即可●ViewPoint(三维视点选项),你可以将一个三维图形想像成某个物体,某个绘图命令如Plot3D就是照像机,像机所处的位置即视点不同,则照出的像也还会相同,默认为{1.3,-2.4,2},可以根据三维图形的实际情况修改成其它值●Contours(用ContourPlot画等高线时的等高线的条数),默认为画10条●ContourShading(用ContorPlot绘图时是否使用明暗度),默认为True,即使用明暗度,可以修改为False下面我们只给出一个实际应用例子,画出一个随机图形,,,特殊图形,LogPlot[f,{x,xmin,xmax}] X为对数轴,其它与Plot命令相同LogLogPlot[f,{x,xmin,xmax}] 同上,但Y轴也为对数轴LogListPlot[{{x1,y1},{x2,y2},…}] X轴为对数轴,其它与命令ListPlot[]相同LogLogListPlot[{{x1,y1},{x2,y2},…}]同上,但Y轴也为对数轴PolarPlot[r[t],{t,tmin,tmax}] 极坐标图形PieChart[list] 饼形图BarChart[list] 直方图,使用上面这些绘图函数前,需要先装入\StandardPackages\ Graphics\目录下的附加绘图软件包Graphics.m。
以下是一些图像例子,例1,向图形中画虚线,例2 画出平面曲线的极坐标图形,例3 画出曲线的网格图,并加以说明文字,例4 有时候, Mathematica所画出的图形明显不对, 或者带有锯齿, 毛边等, 如何改正?,例5 如何画直方图?,例6 一些绘图软件可以对图形进行标注,用mathematica怎么做?,例7 Table命令在绘图语句中的应用, 下面的这段程序, 可以画出一个围棋棋盘.,下面画出一个物理上所看到的图形,例8 画出两个曲面相交后的图形,例9 三维参数方程绘图的强大功能,例10 对数坐标轴曲线图,。
