实验二MATLAB绘

上传人:dax****eng 文档编号:159632801 上传时间:2022-10-09 格式:DOC 页数:7 大小:122.51KB
返回 下载 相关 举报
实验二MATLAB绘_第1页
第1页 / 共7页
实验二MATLAB绘_第2页
第2页 / 共7页
实验二MATLAB绘_第3页
第3页 / 共7页
点击查看更多>>
资源描述
实验二MATLAB绘图一实验目的掌握matlab二维图形和三维图形的绘制方法,并会对图形进行处理,掌握符号函数(显函数、隐函数和参数方程)的画图,掌握空间曲线和空间曲面的绘图,会对所绘图形进行加格栅,图例和标注等一些简单的处理.二实验原理与方法(一).曲线图:Matlab作图是通过描点、连线来实现的,故在画一个曲线图形之前,必须先取得该图形上的一系列的点的坐标(即横坐标和纵坐标),然后将该点集的坐标传给Matlab函数画图.命令格式为:plot(x,y,s)其中x,y分别表示所取点集的横纵坐标,s指定线型及颜色.缺省时表示画的是蓝色实线.Plot(X,Y1,S1,X,Y2,S2,X,Yn,Sn)表示将多条线画在一起.例 在0,2*pi用红线画sin(x),用绿圈画cos(x). 解:x=linspace(0,2*pi,30);y=sin(x);z=cos(x);plot(x,y,r,x,z,go)所得图形如下图所示(二)符号函数(显函数、隐函数和参数方程)画图(1) ezplotezplot(f(x),a,b) 表示在axb绘制显函数f=f(x)的函数图ezplot(f(x,y),xmin,xmax,ymin,ymax) 表示在区间xminxxmax和 yminyymax绘制隐函数f(x,y)=0的函数图ezplot(x(t),y(t),tmin,tmax)表示在区间tminttmax绘制参数方程x=x(t),y=y(t)的函数图.例 在0,pi上画y=cos(x)的图形解 输入命令:ezplot(sin(x),0,pi)例 在0,2*pi上画,星形图解 输入命令:ezplot(cos(t).3,sin(t).3,0,2*pi)例 在-2,0.5,0,2上画隐函数的图解 输入命令:ezplot(exp(x)+sin(x.*y),-2,0.5,0,2)(2) fplot格式:fplot(fun,lims)表示绘制字符串fun指定的函数在lims=xmin,xmax的图形注意:1 fun必须是M文件的函数名或是独立变量为x的字符串. 2 fplot函数不能画参数方程和隐函数图形,但在一个图上可以画多个图形。例 在-1,2上画的 图形解 先建M文件myfun1.m:function Y=myfun1(x)Y=exp(2*x)+sin(3*x.2)再输入命令:fplot(myfun1,-1,2)例 在-2,2范围内绘制函数tanh的图形解 fplot(tanh,-2,2)例 x、y的取值范围都在-,画函数tanh(x),sin(x),cos(x)的图形解 输入命令: fplot(tanh(x),sin(x),cos(x),2*pi*-1 1 1 1)(三)对数坐标图在很多工程问题中,通过对数据进行对数转换可以更清晰地看出数据的某些特征,在对数坐标系中描绘数据点的曲线,可以直接地表现对数转换.对数转换有双对数坐标转换和单轴对数坐标转换两种.用loglog函数可以实现双对数坐标转换,用semilogx和semilogy函数可以实现单轴对数坐标转换loglog() 表示 x、y坐标都是对数坐标系semilogx() 表示 x坐标轴是对数坐标系semilogy() 表示y坐标轴是对数坐标系plotyy( ) 有两个y坐标轴,一个在左边,一个在右边例 用方形标记创建一个简单的loglog解 输入命令: x=logspace(-1,2); loglog(x,exp(x),-s)grid on %标注格栅.例 创建一个简单的半对数坐标图解 输入命令: x=0:.1:10; semilogy(x,10.x)(四)三维曲线命令格式: plot3(x,y,z,s)其中x,y,z均为n维向量,分别表示曲线上点集的横坐标、纵坐标、函数值.s 指定颜色、线形等例 在区间0,10*pi画出参数曲线x=sin(t),y=cos(t),z=t. 解 t=0:pi/50:10*pi; plot3(sin(t),cos(t),t)(五)三维网格图格式:mesh(x,y,z) %画出三维网格图meshc(x,y,z) %画出等高线的三维网格图.Meshz(x,y,z) %画出带有底座的三维网格图.说明:若x与y均为向量,若n=length(X),m=length(y),则 Z必须为行数和列数分别为m,n的矩阵,空间中的点(x(j),y(i),z(i,j)为所画曲面网线的交点,x对应z的列,y对应z的行.在三维作图中常用到命令meshgrid,其功能是生成二元函数z=f(x,y)中x-y平面上的矩形定义域中数据点矩阵X和Y,其命令格式为:X,Y=meshgrid(x,y)说明:输入向量x为x-y平面上x轴的值, 输入向量y为x-y平面上y轴的值,输出矩阵X为x-y平面上数据点的横坐标值,输出矩阵Y为x-y平面上数据点的纵坐标值.例:从命令窗口依次输入如下三条命令x=1:4;y=1:5;X,Y=meshgrid(x,y)得到如下输出结果:X = 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4Y = 1 1 1 1 2 2 2 2 3 3 3 3 4 4 4 4 5 5 5 5例 画函数Z=(X+Y).2的图形. 解:x=-3:0.1:3;y=1:0.1:5;X,Y=meshgrid(x,y);Z=(X+Y).2;例:绘出带有等高线的马鞍面解:从命令窗口输入如下命令x=-8:8;y=-8:8;X,Y=meshgrid(x,y);Z=X.2/42-Y.2/52;Meshc(X,Y,Z)(六).三维曲面图格式:surf(X,Y,Z) %绘出三维曲面图surfc(X,Y,Z) %绘出带有等高线的三维曲面图.说明:surf同mesh命令的用法和格式相同,不同之处在于所得图形是一个彩色曲面而非彩色网格例:使用surf命令绘制马鞍面(七).三维旋转曲面图格式:x,y,z=cylinder(r,n)说明:返回高度为1的旋转曲面x,y,z轴的坐标,旋转轴为Z轴,向量r指定母线到z轴的距离,旋转曲面的圆周有指定的n个距离相同的点,用户可以用命令surf或mesh画出其图像.例,绘制一个旋转抛物面解:z=0:20;r=(60*z).(1/2);x,y,z=cylinder(r,40);mesh(x,y,z)(八).三维球面图格式:x,y,z=sphere(n)说明:生成三维直角坐标系中的单位球体坐标,该单位球体有个面.该命令并未画图,只是返回坐标矩阵,用户可用surf(x,y,z)或mesh(x,y,z)画图.例:x,y,z=sphere(50);mesh(x,y,z);(九).等高线图格式一: contour(x,y,z,n)说明:(x,y)是平面z=0上点的坐标矩阵,z为相应点的高度值矩阵,等高曲线是一个平面曲线,n为等高线条数.例: X,Y = meshgrid(-2:.2:2,-2:.2:3);Z = X.*exp(-X.2-Y.2);contour(X,Y,Z,4)格式二: clabel(C,h)说明:在从命令contour生成的二维等高线结构C的位置上添加标签h.例 X,Y = meshgrid(-2:.2:2,-2:.2:3);Z = X.*exp(-X.2-Y.2);c,h=contour(X,Y,Z,4);clabel(c,h)格式三.contour3(x,y,z,n)说明:用x和y定义x轴和y轴的范围,画出由矩阵Z确定的n条等高线的三维图.例 X,Y = meshgrid(-2:.2:2,-2:.2:3);Z = X.*exp(-X.2-Y.2);Contour3(X,Y,Z,8)(十)处理图形1在图形上加格栅、图例和标注格式:grid on: 加格栅在当前图上grid off: 删除格栅xlabel(string): 在当前图形的x轴上加图例stringylabel(string): 在当前图形的y轴上加图例stringzlabel(string): 在当前图形的z轴上加图例stringzlabel(string): 在当前图形的z轴上加图例stringtitle(string): 在当前图形的顶端上加图例string例 在区间0,2*pi画sin(x)的图形,并加注图例“自变量X”、“函数Y”、“示意图”, 并加格栅解 x=linspace(0,2*pi,30); y=sin(x); plot(x,y) xlabel(自变量X) ylabel(函数Y) title(示意图) grid on2、定制坐标格式:Axis(xmin, xmax, ymin, ymax)Axis(xmin, xmax, ymin, ymax, zmin, zmax)其中输入参数分别表示x、y、z的最大、最小值Axis auto 将坐标轴返回到自动缺省值axis equal 或 axis(equal) x轴和y轴的单位长度相同axis square 或 axis(square) 图框呈方形axis off 或 axis(off) 清除坐标刻度例 x = 0:.025:pi/2;plot(x,tan(x),-ro)axis(0 pi/2 0 5)注意图形变化3、图形保持(1) hold on 保持当前图形, 以便继续画图到当前图上 hold of 释放当前图形窗口例 将y=sin(x)、y=cos(x)分别用点和线画出在同一屏幕上。解 x=linspace(0,2*pi,30); y=sin(x); z=cos(x) plot(x,z) hold on plot(x,y)(2).figure(h)新建h窗口,激活图形使其可见,并把它置于其它图形之上例 区间0,2*pi新建两个窗口分别画出y=sin(x);z=cos(x)。解 x=linspace(0,2*pi,100); y=sin(x);z=cos(x); plot(x,y); %默认画在figure No1中 title(sin(x);figure(2); %激活新的图形窗口No.2plot(x,z); %在图形窗口No.2中作图 title(cos(x);4、分割窗口subplot(mrows,ncols,thisplot) 划分整个作图区域为mrows*ncols块, 并激活第thisplot块,其后的作图语句将图形画在该块上.subplot(1,1,1) 返回非分割状态例 将屏幕分割为四块,并分别画出y=sin(x),z=cos(x),a=sin(x)*cos(x),b=sin(x)/cos(x)。解x=linspace(0,2*pi,100); y=sin(x); z=cos(x); a=sin(x).*cos(x);b=sin(x)./(cos(x)+eps) subplot(2,2,1);plot(x,y), title(sin(x) subplot(2,2,2);plot(x,z),title(cos(x) subplot(2,2,3);plot(x,a),title(sin(x)cos(x) subplot(2,2,4);plot(x,b),title(sin(x)/cos(x).三.实验内容1.使用subplot在内分别绘出下列函数的图像(采样点均为100个),使得使得四个图像分别按左上,左下,右上,右下的顺序在同一窗口中排列,并对每一个图形分别加以标注,指明该曲线所表示的函数。2. 使用mesh 画出下列方程式的曲面图 其中,x 的 21 个值均匀分布在 -2*pi, 2*pi 范围,y 的 31 值均匀分布在 -pi, pi。3. 绘制圆锥面图4.绘制山区地貌图要在某山区方圆大约27平方公里范围内修建一条公路,从山脚出发经过一个居民区,再到达一个矿区。横向纵向分别每隔400米测量一次,得到一些地点的高程:(平面区域0=x=5600,0=y=4800),需作出该山区的地貌图和等高线图。36003200280024002000160012001480 1500 1550 1510 1430 1300 1200 9801500 1550 1600 1550 1600 1600 1600 15501500 1200 1100 1550 1600 1550 1380 10701500 1200 1100 1350 1450 1200 1150 10101390 1500 1500 1400 900 1100 1060 9501320 1450 1420 1400 1300 700 900 8501130 1250 1280 1230 1040 900 500 700Y/x1200 1600 2000 2400 2800 3200 3600 4000
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 中学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!