收藏 分销(赏)

MATLAB在图形绘制中的应用.doc

上传人:精**** 文档编号:2152773 上传时间:2024-05-21 格式:DOC 页数:13 大小:280.01KB
下载 相关 举报
MATLAB在图形绘制中的应用.doc_第1页
第1页 / 共13页
MATLAB在图形绘制中的应用.doc_第2页
第2页 / 共13页
点击查看更多>>
资源描述
《MATLAB语言》课程论文 MATLAB在图形绘制中的应用 姓名:******* 学号:************** 专业:****************** 班级:********** 指导老师:***** 学院:***** 完成日期:***** MATLAB在图形绘制中的应用 ( ***** ******* ********) [摘要] MATLAB具有功能强,效率高,简单易学等特点,在许多领域得到广泛应用。强大的绘图功能是MATLAB的特点之一,MATLAB提供了一系列的绘图函数,用户不需要过多考虑绘图细节,只需给出一些基本参数就能得到所需图形,这一类函数称为高层绘图函数。除此之外,MATLAB还提供了直接对图形句柄进行操作的低层绘图操作。这类操作将图形的每个图形元素看做是一个独立的对象,系统给每个图形对象分配一个句柄,以后可以通过该句柄对该图形元素进行操作,而不影响图形的其他部分。高层绘图操作简单明了,方便高效,使用户最常用的绘图方法,而低层绘图操作控制和表现图形的能力更强,为用户更加自主地绘制图形创造了条件。 [关键词] MATLAB语言 二维图形 三维图形 [问题的提出] MATLAB在如今的科学研究和工程应用中,我们会遇到各种各样的问题,其中最基本的就是关于图形绘制的问题了,而MATLAB中强大的绘图功能将使这些问题可以得到更好的解决,它在数学函数,行列式矩阵,物理,天文等等各个领域内都能应用到,只要需要绘图,MATLAB是最佳的选择,下面我们就分别对MATLAB在此方面的应用进行分析: 一、MATLAB在二维图形绘制中的应用 (1)简单函数绘制 例:用下列数据来绘制图形: x=0:0.1:2*pi; %x的取值范围 plot(x,sin(x),x,cos(x)) %绘制sin(x)和cos(x)的函数 程序1 图 程序2图 (2)用规定的符号绘制需要的函数图形 例:在MATLAB中能很容易画出规定形状的图: x=0:0.1:2*pi; %x的取值范围 plot(x,sin(x),’-g’,x,cos(x),’-.r’) %用规定的形状绘图 运行结果:如图程序2 (3)在一个图形中绘制多个子图 例:在同一幅图中同时绘制出sin(x) cos(x) tan(x) cot(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)’) %分区绘图题目 程序3图 (4) plot命令对复数矩阵同样适用。 例:在复数矩阵中绘制函数图象 clear i; %保证i是复数 r=linspace(0,2); %创建向量r theta=linspace(0,10*pi); %创建角向量 [x,y]=pol2cart(the,tar); %将弧度坐标转化成复数向量 z=x+i*y; %函数 plot (z) %对z绘图 程序4图 (5)绘制误差条形图 例:绘制出sin(x)的15%误差条形图 x=linspace(0,10,50); %创建一系列值 y=exp(sin(x)); %创建数据 delta=0.15*y; %计算15%的误差限 errorbar(x,y,delta); %绘出误差条形图 程序5图 (6)用条形图,阶梯图,杆图,和填充图绘制曲线 例:分别用条形图 阶梯图 杆图 填充图绘制y=x ²的图形 x=linspace(-2*pi,2*pi,20); %x的取值范围 y1=x.^2; %所要绘制的函数 subplot(2,2,1); %1号分区 bar(x,y1); %绘制条形图 title('y1=x^2的条形图'); %设置标题 subplot(2,2,2); %2号分区 stairs(x,y1); %绘制阶梯图 title('y1=x^2的阶梯图'); %设置标题 subplot(2,2,3); %3号分区 stem(x,y1); %绘制杆图 title('y1=x^2的杆图'); %设置标题 subplot(2,2,4); %4号分区 fill(x,y1,'r'); %绘制填充图 title('y1=x^2的填充图'); %设置标题 程序6图 (7)利用极坐标绘制曲线 例:在极坐标下绘制函数图形 t=0:0.1:2*pi; %t的范围 r=ones(size(t)); %极坐标范围 polar(t,r) %绘制极坐标图 程序7图 (8)利用对数坐标绘制图形 例:在半对数坐标下绘制函数图形 x=linspace(0,7); %创建x值 y=exp(x); %创建y值 subplot(2,1,1);plot(x,y); %绘制通常图形 subplot(2,1,2);semilogy(x,y); %绘制半对数刻度曲线 程序8图 (9)在绘制的图形中加注坐标轴和图例标注 例:画出函数图形并标注坐标轴和图例 x=0:0.1:2*pi; plot(x,sin(x)) title(‘示例图’) xlabel(‘x轴’) ylabel(‘y轴’) text(20,20,’sin(x)’) gtext(‘sin(x)’) 程序9图 (10)在二维绘图中可以对图形进行上色,可以用不同的颜色绘制图形 例:用规定的编制绘图 x = 0:0.5:4*pi; % x的取值范围 y = sin(x); %函数y plot(x, y,‘k:diamond’) % 其中「k」代表黑色,「:」代表点 % 「diamond 」则指定菱形为曲线的线标 程序10图 二、MATLAB在三维图形绘制中的应用 三维图形可以用plot3来绘制。该命令与plot类似,但是plot3需要3个向量或者矩阵参数。 二元函数的图形是三维空间曲面,空间曲面图形在帮助人们了解二元函数特性上具有较大作用。现介绍绘制空间曲面图形的命令。 (1)meshgrid命令 meshgrid的调用形式是: ①[X,Y]=meshgrid(x,y),绘制二维图形时生成小矩阵的格点; ②[X,Y]=meshgrid(x),等价于[X,Y]=meshgrid(x,x); ③[X,Y,Z]=meshgrid(x,y,z),绘制三维图形时生成空间曲面的格点; ④[X,Y,Z]=meshgrid(x),等价于[X,Y,Z]=meshgrid(x,x,x). (2)三维网格图命令mesh 函数mesh的命令形式如下: ①mesh(X,Y,Z),X,Y,Z是同维的矩阵; ②mesh(x,y,Z),x,y是向量,而Z是矩阵,等价于 ③mesh(Z),若提供参数x,y,等价于mesh(x,y,Z),否则默认x=1:n,y=1:m. (1) 绘制基本的三维曲线函数 程序1:在三维坐标中绘制三维曲线 t=0:pi/50:10*pi; %t的取值范围 plot3(sin(t),cos(t),t) %绘三维图形及各坐标轴函数 程序1.1图 t=[0:0.1:10*pi]; %t的取值范围 x=2*t; %x轴的函数 y=sin(t); %y轴的函数 z=cos(t); %z轴的函数 plot3(x,y,z); %绘三维图形 程序1.2图 (2) 绘制基本的三维曲面图 程序1:绘制三维网格图 x=-4:4;y=x; % x、y的取值范围都是-4到4 [X,Y]=meshgrid(x,y); % 形成采样点矩阵 Z=X.^2+Y.^2; % 计算函数值 mesh(X,Y,Z); % 绘网格图 colormap(hot); % 选用色图 程序1图 程序2:绘制三维曲面图 x=-4:4;y=x; %x,y的取值范围 [X,Y]=meshgrid(x,y); %形成采样点矩阵 Z=X.^2+Y.^2; %计算函数值 surf(X,Y,Z); %绘曲面图 colormap(hot); %选用色彩 程序2图 程序3:绘制三维表面图 surf的调用方式与mesh相同,与mesh不同的是surf绘制的是曲面而不是网格。 绘制三维表面图并且和三维网格图作比较 t=-1:0.1:1; %取值范围 [x,y]=meshgrid(t); %生成网格 z=3-x.^2-y.^2; %原函数 subplot(1,2,1),mesh(x,y,z); %分区域绘图 title('网格图'); %标注标题 subplot(1,2,2),surf(x,y,z); %分区域绘图 title('表面图'); %标注标题 程序3图 程序4:球面的绘制 在MATLAB中用命令sphere来绘制球面,其使用形式为: 命令形式1:sphere(n) 命令形式2:[x,y,z]=sphere(n) %绘制半径为1的球面 v=[-2 2 -2 2 -2 2]; %设置参数 subplot(1,2,1); %图形分割 sphere(30),title('半径为1的球面'); %绘制图形及标注标题 axis(v); %对图形坐标进行设置 %绘制半径为2的球面 [x,y,z]=sphere(30); %设置参数 subplot(1,2,2); %图形分割 surf(2*x,2*y,2*z); %绘制图形 title('半径为2的球面'); %标注标题 axis(v); %对图形坐标进行设置 程序4图 (3) 在同一个图中绘制多个子图 程序:在同一幅图中用四种不同的格式绘图并上色 t=-8:0.3:8; %取值范围 [x,y]=meshgrid(t); %生成小矩形的格点 r=sqrt(x.^2+y.^2)+eps; %与程序下一行共同构成所求函数 z=sin(r)./r; %与程序上一行共同构成所求函数 subplot(1,3,1); %图形分割 meshc(x,y,z); %用meshc命令,生成图形的同时,生成曲面的等高线 title('meshc'),axis([-8 8 -8 8 -0.5 0.8]);%标题标注及坐标控制 subplot(1,3,2); %图形分割 meshz(x,y,z); %用meshz命令,生成图形的同时,生成曲面下方的长方形的台柱 title('meshz'),axis([-8 8 -8 8 -0.5 0.8]); subplot(1,3,3); %图形分割 mesh(x,y,z); %用mesh命令,生成三维网格图形 title('mesh'),axis([-8 8 -8 8 -0.5 0.8]); %标题标注及坐标控制 程序(3)图 (4)颜色控制三维图形 s=linspace(0,0.5*pi,10); %在(0,0.5pi)取十个点 t=linspace(0,1.5*pi,30); %在(0,1.5pi)取十个点 [S,T]=meshgrid(s,t); %建立网格坐标 x=cos(S).*cos(T); %参数方程 y=cos(S).*cos(T); z=sin(S); colormap(prism); %对图形进行着色处理 figure(1) ; %建立图形窗口对象 surf(x); %绘制三维曲面图 figure(2); %建立图形窗口对象 surf(y);shading flat; %每个网格片用一个颜色着色 figure(3); %建立图形窗口对象 surf(z);shading interp ; %在网格片内采用颜色插值处理 程序(4)图 三、结论 从以上利用MATLAB语言对各种不同的函数绘图我们不难的出以下结论:MATLAB语言具有强大的绘图功能,小到简单的函数绘图,大到天文地理绘图,MATLAB都可以解决,很大程度上帮助我们解决学习及生活终于到的问题,给我们提供了方便。我们最常见到的xy平面上的线性坐标曲线图,用plot函数来完成,它的调用格式是plot(x,y);如果想用不同的颜色来绘图,则含选项的plot函数的调用格式是plot(x1,y1,选项1,x2,y2,选项2,……,xn,yn,选项n);双纵坐标函数ploty(x1,y1,x2,y2);还可以用title,xlabel,text,legend函数对图形进行辅助操作;在进行三维函数操作时用plot3函数进行操作,调用格式是plot3(x1,y2,z1,选项1);也可以用颜色来绘制函数图象,用法和二维函数图象一样;绘制三维图形时也可以绘制成杆图 饼图 条形图 柱状图等各种形式,我们需要的各种形式的图MATLAB都可以解决。 四﹑课程体会 经过对MATLAB语言这门课程的学习,我了解并体会到了MATLAB语言相对于其它程序语言的强大功能和优越性,它更加的方便和简洁易懂。总体来说通过对上述内容的分析讨论,使我对MATLAB中的某些函数的应用更加的熟练,相信对我在以后的学习中会有很大的帮助。起初我以为matlab和我们所学的别的程序语言应该没多大的差距,可是通过这一学期的学习和这次论文的完成,我认识到了MATLAB的功能强大性,以及运用的广泛性,而且我相信本次论文经历会在我以后的学习中会有很大的帮助。 最后,向老师的辛勤指导及教学表示深深地谢意! [参考文献] [1] 刘卫国.MATLAB程序设计与应用(第二版)[M].北京:高等教育出版社,2006. [2] 李海涛,邓樱,MATLAB程序设计教程[M],高等教育出版社,2002 [3] 闻新、周露、张鸿著,科学出版社,MATLAB科学图形构建基础与应用(6.x),2006年6月 [4] 苏金明、王永利著,电子工业出版社,MATLAB图形,2005年11月 12
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 考试专区 > 中考

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服