数学图形的绘制

上传人:痛*** 文档编号:101297619 上传时间:2022-06-04 格式:DOC 页数:22 大小:347.50KB
收藏 版权申诉 举报 下载
数学图形的绘制_第1页
第1页 / 共22页
数学图形的绘制_第2页
第2页 / 共22页
数学图形的绘制_第3页
第3页 / 共22页
资源描述:

《数学图形的绘制》由会员分享,可在线阅读,更多相关《数学图形的绘制(22页珍藏版)》请在装配图网上搜索。

1、. .八数学图形的绘制在科学研究和工程设计中,数值计算的结果一般是以数据的形式反映客观世界的规律,但人们往往希望这些数据结果能够直观化、可视化,以便更好地理解这些数据之间的规律,MATLAB的图形处理功能就是用数学图形来反映数据之间存在的客观规律。8.1 二维数学图形绘制8.1.1 根本图形函数在MATLAB中,最常用、最根本的绘图是二维数学图形的绘制。表8.1列出了的二维图形函数库中的根本图形函数。另外,在通用图形函数库graphics中,cls,line等也是用得最多的图形函数。表8.1二维图形函数库(graph2d)根本X-Y图形plot线性X-Y坐标绘图polar极坐标绘图loglog

2、双对数X-Y坐标绘图plotyy用左、右两种Y坐标画图semilogx半对数X坐标绘图semilogy半对数Y坐标绘图坐标控制axis控制坐标轴比例和外观subplot在平铺位置建立图形轴系hold保持当前图形图形注释title标出图名(适用于三维图形)gtext用鼠标定位文字xlabelX轴标注(适用于三维图形)legend标注图例ylabelY轴标注(适用于三维图形)grid图上加出标网格(适用于三维图形)text在图上标文字(适用于三维图形)打印print打印图形或把图存为M文件orient设定打印纸方向8.1.2 常用图形函数的使用1. plot绘图函数MATLAB最根本、最重要的绘图

3、命令就是plot绘图函数。它有多种根本的调用格式。plot(Y)% 如果Y是实数,Y就是它的列(column);如果是复数,那么相当于% plot(real(Y),imag(Y)。plot(X,Y,.)%绘制X为横坐标,Y为纵坐标的数学图形。plot(X,Y,X1,Y1.)%同时绘制Y对X,Y1对X1的数学图形。plot(X,Y,LineSpec,.)% 绘图不同线型、标识、颜色等的数学图形。【例8.1】 t=0:0.001:10; y=sin(t);Y=sin(10*t);plot(t,y,r:,t,Y,b)MATLAB窗口将显示图7.1所示的函数曲线图形,其横坐标是t,纵坐标是y和Y。图8

4、.1在上例中,用绘图语句plot函数的不同参数,绘制出线型和颜色不同的两个数学图形。两条曲线各自有一对变量,并且有描述颜色的参数r(red)和b(blue)。练习1:练习2:2. fplot和 ezplot绘图函数对于符号函数和变化剧烈的函数以及隐函数,可用fplot和ezplot进展较准确的绘图。ezplot是MATLAB最简便的作图函数,它有多种根本调用格式。ezplot(f)% 在-2 x 2的范围里对函数f = f(x)作图ezplot(f,min,max)% 在min x max的范围里对函数f = f(x)作图ezplot(f,xmin,xmax,ymin,ymax)% 在min

5、x max,min y max的范围里对函数f = f(x,y)作图ezplot(x,y)% 在0 t 2的范围里对函数x = x(t),y = y(t)作图ezplot(x,y,tmin,tmax)% 在min t max的范围里对函数x = x(t),y = y(t)作图【例8.2】用fplot命令描绘符号函数的数学图形。subplot(2,2,1), fplot(humps,0 1) % subplot用于图形的分割。subplot(2,2,2), fplot(x2+2*x+1,-4 2)subplot(2,2,3), fplot(tan(x),sin(x),cos(x),2*pi*-1

6、 1 -1 1)subplot(2,2,4), fplot(sin(1 ./ x), 0.01 0.1)图8.2【例8.3】绘制9个符号函数的数学图形。 subplot(3,3,1), ezplot(cos(x)%绘制cos(x)曲线,-2px2p subplot(3,3,2), ezplot(cos(x), 0, pi)%绘制cos(x)曲线,0xp subplot(3,3,3), ezplot(1/y-log(y)+log(-1+y)+x-1)%-2px2p,-2py2p subplot(3,3,4), ezplot(x2-y2-1)%-2px2p,-2py2p subplot(3,3,5

7、), ezplot(x2 + y2-1,-1.25,1.25)%-1.25x,y1.25,axis equal subplot(3,3,6), ezplot(x3 + y3 - 5*x*y + 1/5,-3,3) subplot(3,3,7), ezplot(x3 + 2*x2 - 3*x + 5 - y2) subplot(3,3,8), ezplot(sin(t),cos(t)subplot(3,3,9),ezplot(sin(3*t)*cos(t),sin(3*t)*sin(t),0,pi)图8.3注:ezplot(cos(x),可不带区间,缺省为-2 x 2fplot(cos(x),-

8、2,2)必须带区间。练习3:3. line绘图函数在MATLAB中,绘制直线,使用line命令。例如line(0,5,0,10)% 绘制点0,0到点5,10的直线。4. hold和 clf图形函数在绘图过程中,如果要在已经绘制的图形上添加新的图形,可以使用hold命令来实现图形的保持功能。hold on 表示启动图形保持功能,hold off 表示关闭图形保持功能。在绘图过程中,为了彻底去除前面图形的影响,应该在绘图语句的前面使用clf命令。5. subplot图形函数MATLAB在绘图过程中,会自动弹出图形窗口Figure,如果要在图形窗口中独立地显示多幅数学图形,那么可以使用图形窗口分割命

9、令subplot。图形窗口分割命令subplot有多种格式,具体举例说明如下。 subplot(2,2,1);将整个绘图窗口分为2纵2横四个窗口,这是第1个1,1窗口,即左上角的窗口,图8.4所示。图8.4subplot(2,3,4);将整个绘图窗口分为2行3列六个窗口后,取第4个窗口。还可以采用另一种比拟自由的窗口分割语句格式:subplot(Position,left bottom width height)例如subplot(Position, 0.27 0.38 0.50 0.37 );按照中括号里给出的四个元素的向量分割图形区。四个元素依次为左边线、底边线、宽度、高度,其数值是所占整

10、个绘图区间归整为0,1的比例值,分割结果如图7.6所示。这个方式在界面的可视化设置里很有用。8.1.3 数学图形的修饰1. 颜色和线型表8.2是plot绘图函数的假设干参数。假设要改变颜色,在座标对后面加上相关字串即可。例如表8.2MATLAB绘图命令字元颜色字元图线型态yyellow黄色.pointkblack黑色ocirclewwhite白色xcrossbblue蓝色+plus signggreen绿色*asteriskrred红色-Real lineccyan亮青色:dotmamethyst锰紫色-.Point- broken line-Broken line例如:t=0:0.01:10

11、; plot(t,sin(t),r)图8.7 图8.8 图8.9效果如图8.7所示。假设要同时改变颜色及线型Line style,也是在坐标对后面加上相关字串即可。例如plot(t,sin(t),r*)效果如图8.8所示。2. 调整图轴的范围用axis(xmin,xmax,ymin,ymax)函数来调整图轴的范围。例如 axis(0,6,-1.5,1)效果如图8.9所示。3. 图轴、标题标注与文本标注x轴、y轴及图形标题标注命令格式:xlabel(Input Value); ylabel(Function Value); title(this is a function);文本标注命令格式:t

12、ext(0.2,0.8,f(x)=sin(x)+cos(2x)效果如图8.10所示。图8.10练习4:在同一坐标系下画出y=sinx,y=cosx,在区间0,2pi上的曲线图,并注明曲线名称4. 图例标注与显示格线图例标注与显示格线的格式:legend(y = sin(x) %指定图形的式样。可以是线图(line plots), 棒图(bar graphs), 饼图(pie charts)等。grid on%在当前图形上加栅格线。例如:fplot(sin(x),-2*pi,2*pi); legend(y = sin(x);grid on8.1.4特殊二维图形函数为了不同的需要,MATLAB提供

13、了一些比拟特殊的绘图函数, 如下表8.3所示。下面用例子说明其用法。表8.3MATLAB绘图命令名称意义bar棒图(直方图)et彗星流动图errorbar图形加上误差范围fplot较准确的函数图形polar极坐标图hist累计图rose极座标累计图stairs阶梯图stem针状图fill实心图feather羽毛图pass罗盘图quiver向量场图【例8.4】 t=-10:1:10; subplot(2,2,1); bar(t,cos(t); subplot(2,2,2); pass(t,cos(t); subplot(2,2,3); rose(t,cos(t);subplot(2,2,4);

14、fill(t,cos(t),b);效果如图8.14所示。图8.14例:绘制r=2cos2(t-pi/8)的图形,t在0到2pi之间输入如下命令:t=0:0.01:2*pi;r=2*cos(2*(t-pi/8);polar(t,r)练习5:作出极坐标系下函数r=2(1-cost),t在0到2pi之间的图形,同时作出相应的直角坐标系下的图形.练习6:绘制三叶玫瑰线r=2cos(3t)练习7:绘出以下曲线所围成的公共局部:r1=3cost;r2=1+cost8.2 三维数学图形绘制8.2.1 绘制三维曲线绘制三维曲线的命令格式为plot3(x1,y1,z1,LineSpec,.)函数格式除了包括第三

15、维的信息比方Z方向之外,其它与二维函数plot一样。功能:plot3语句将绘制二维图形的函数plot的特性扩展到三维空间。【例8.5】t=(0:0.1:3)*pi; x=sin(t); y=cos(t); z=tan(t); plot3(x,y,z,bo-); % 用绘制由记号和构成的蓝色三维曲线图8.15练习8:画出三维螺旋线图:x=2cost,y=2sint,z=2t,t在0,2pi之中.8.2.2 绘制三维曲面绘制三维曲面的命令格式为mesh(z)或mesh(.,C) 或meshc(.)或meshz(.)等功能:绘制矩阵的三维曲面图。mesh(z) 语句按照 x = 1:n 和y = 1

16、:m绘制三维图, 这里 m,n = size(Z),Z是高度, 用不同的颜色表示该高度值。【例8.6】x=-2:0.01:2;x,y=meshgrid(x,x);%为绘制三维图形而从x生成的x和y矩阵。这里,%x,y是401x401的矩阵。r=sqrt(x.2+y.2)+eps;z=sin(r); subplot(2,1,1);mesh(z);subplot(2,1,2);surf(x,y,z);%绘制三维曲面图,与mesh函数有相似功能。颜色为黑色。练习9:画出旋转抛物面z=x2+y2的图形练习10:画出锥面z=(x2+y2)(1/2)mesh(.,C) 语句中,参数C是代表颜色的数值。如果

17、x,y,和z是矩阵,那么C必须是一个一样大小的色标矩阵。meshc(.) 语句绘制网格轮廓线图。【例8.7】X,Y = meshgrid(-3:.125:3);Z = peaks(X,Y); %为了方便绘制三维图,MATLAB提供了一个peaks函数,%可产生一个凹凸有致的曲面,包含了三个局部极大点及三个局部极小点meshc(X,Y,Z);axis(-3 3 -3 3 -10 5)图8.17meshz(.)语句依参考平面绘制网格四周门帘线图a curtain plot around the mesh。【例8.8】X,Y=meshgrid(-3:.125:3);Z =peaks(X,Y);mes

18、hz(X,Y,Z)图8.18可分别用以下命令区别:x=-2:0.01:2;x,y=meshgrid(x,x);z=x.2+y.2;subplot(1,3,1);mesh(z)subplot(1,3,2);meshc(z)subplot(1,3,3);meshz(z)【例8.9】绘制三维曲面例一。x,y,z =peaks; subplot(2,2,1);meshz(x,y,z);%曲面加上门帘线axis(-inf inf -inf inf -inf inf); subplot(2,2,2);waterfall(x,y,z);%在x方向产生水流效果axis(-inf inf -inf inf -i

19、nf inf); subplot(2,2,3);meshc(x,y,z);%同时画出网状图与等高线axis(-inf inf -inf inf -inf inf); subplot(2,2,4);surfc(x,y,z);%同时画出曲面图与等高线:axis(-inf inf -inf inf -inf inf);图8.19【例8.10】绘制三维曲面例二。subplot(2,2,1)contour3(peaks,50);%画出曲面在三度空间中的等高线axis(-inf inf -inf inf -inf inf);subplot(2,2,2)contour(peaks, 50);%画出曲面等高线

20、在XY平面的投影subplot(2,2,3)t=linspace(0,20*pi, 501); plot3(t.*sin(t), t.*cos(t), t);%画出三度空间中的曲线subplot(2,2,4)plot3(t.*sin(t), t.*cos(t), t, t.*sin(t), t.*cos(t), -t);%同时画出两条三度空间中的曲线图8.20【例8.11】绘制三维曲面例三。X0,Y0,Z0=sphere(30);%产生单位球面的三维坐标X=2*X0;Y=2*Y0;Z=2*Z0;%产生半径为2的球面的三维坐标clf,surf(X0,Y0,Z0);%画单位球面shading interp%采用插补明暗处理hold on,mesh(X,Y,Z),colormap(hot),hold off%采用hot色图hidden off%产生透视效果axis equal,axis off%不显示坐标轴图8.21练习11:作出马鞍面z=x2-2y2与平面z=-20相交的图形.练习12:绘制墨西哥曲线- 优选

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

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

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


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