已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
MATLAB语言课程论文利用MATLAB绘制二维函数图形 姓名:海燕 学号:12010245375 专业:通信工程 班级:通信一班 指导老师:汤全武 学院:物理电气信息学院 成日期:2011年12月5利用MATLAB绘制二维函数图形( 海燕 12010245375 2010级通信1班)摘要大学高等数学中涉及许多复杂的函数求导绘图极值及其应用的问题,例如二维绘图,对其手工绘图因为根据函数的表达式的难易程度而不易绘制 ,而MATLAB语言正是处理这类的很好工具,既能简易的写出表达式,又能绘制有关曲线,非常方便实用。另外,利用其可减少工作量,节约时间,加深理解,同样可以培养应用能力 。本文将探讨利用matlab来解决高等数学中的二维图形问题,并对其中的初等函数、极坐标、 进行实例分析,对于这些很难用手工绘制的图形,利用matlab则很轻易地解决。关键词 高等数学 一元函数 二元函数 MATLAB语言 图形绘制一、问题的提出 MATLAB语言是当今国际上科学界(尤其是自动控制领域)最具影响力、也是最有活力的软件。它提供了强大的科学运算、灵活的程序设计流程、高质量的图形可视化与界面设计、便捷的与其他程序和语言接口的功能。中学数学中常见到的是二维平面图形,由于概念抽象,学生不好理解,致使学生对学习失去信心,导致学习兴趣转移。在传统的教学中,教师在黑板上应用教具做图,不能保证所做图形的准确性,曲线的光滑度不理想,教学过程显得枯燥无味,教学质量难以保证。Matlab是集数值计算、符号计算和图形可视化三大基本功能于一体的大型软件,广泛应用于科学研究、工程计算、动态仿真等领域。Matlab是一种集成了计算功能、符号运算、数据可视化等强大功能的数学工具软件。其代码的编写过程与数学推导过程的格式很接近,所以使编程更为直观和方便,应用于教学就更加容实现Matlab软件尤其在简单的绘图中有较强的编辑图形界面功能,在中学的数学教学中的抽象函数变得直观形象、容易实现,同时也激发学生的学习兴趣,学生通过数形结合,更好地理解题意 高等数学是一门十分抽象的学科,对于一些抽象的函数,我们可以借助于几何图形来理解,但这类图形的绘制往往很复杂,仅凭手工绘制也难以达到精确的效果,这时如果使用Matlab来解决所遇到的图形问题,则能达到事半功倍的效果。在高等数学领域中有关图形方面的应用,无论是初等函数图形、还是极坐标图形、统计图,对于Matlab而言都是完全可以胜任的。下面结合实例从几个方面来阐述matlab在高等数学二维图形中的应用。二、用matlab绘制一元函数图像 1平面曲线的表示形式对于平面曲线,常见的有三种表示形式,即以直角坐标方程,以参数方程,和以极坐标表示等三种形式。2曲线绘图的MATLAB命令MATLAB中主要用plot,fplot二种命令绘制不同的曲线。plot(x,y) 作出以数据(x(i),y(i)为节点的折线图,其中x,y为同维数的向量。plot(x1,y1,x2,y2,)作出多组数据折线图fplot(fun,a,b)作出函数fun在区间a,b上的函数图。可以用help plot, help fplot查阅有关这些命令的详细信息问题1 作出函数的图形,并观测它们的周期性。先作函数在上的图形,用MATLAB作图的程序代码为:x=linspace(-4*pi,4*pi,300); %产生300维向量xy=sin(x); %正玄函数plot(x,y) %二维图形绘图命令结果如图1所示 图1 的图形此图也可用fplot命令,相应的MATLAB程序代码为:clear; close; %clear清理内存;close关闭已有窗口。fplot(sin(x),-4*pi,4*pi) %绘制正玄图形结果如图2所示 图2 的图形如果在同一坐标系下作出两条曲线和在上的图形,相应的MATLAB程序代码为:x=-2*pi:2*pi/30:2*pi; %产生向量xy1=sin(x); y2=cos(x); %正余玄函数plot(x,y1,x,y2,:) %:表示绘出的图形是点线结果如图3所示其中实线是的图形,点线是的图形。 图3 的图形问题2.将图3用不同的线型及颜色加以绘制。x=-2*pi:2*pi/30:2*pi; %产生向量xy1=sin(x); y2=cos(x); %正余玄函数plot(x,y1,x,y2,gp) % gp表示绘出的图形是绿色五角星线结果如图4 图4不同线型与颜色绘制的正余玄图形问题3 作出以极坐标方程表示的心脏线相应的MATLAB程序代码为:clear; close; %clear清理内存;close关闭已有窗口t=0:2*pi/30:2*pi; % 产生向量tr=1+cos(t); %极坐标方程x=r.*cos(t); y=r.*sin(t);%极坐标转化为直角坐标plot(x,y) %绘制x,y的图形结果如图5所示 图5 脏线三、用matlab绘制分段函数图像在绘制图形的同时,可以对图形加上一些说明,如图形名称,坐标轴说明以及某一部分的含义等,这些操作称为添加图形标注,下面就举例说明。问题4 绘制分段函数曲线并添加图形标注 f(x)=sqrt(x) 时 0=x4 f(x)=2时4=x6 f(x)=5-2/x时6=x=8相应的MATLAB程序代码为:X=linspace(0,10,100); %产生一个行向量XY=; %产生一个函数值for x0=x %用循环语句判断函数值问题 if x0=8 y=y,1; %条件语句 elseif x0=6 y=y,5-x0/2; %条件语句 elseif x0=4 y=y,2; %条件语句 elseif x0=0 y=y,sqrt(x0); %条件语句 end %结束语句end %结束语句plot(x,y) %绘制X,Y图形axis(0 10 2.5) %设置坐标轴title(分段函数曲线); %加图形变体xlabel(variable X); %加X轴说明ylabel(variable Y); %加Y轴说明text(2,1.3,y=x1/2); %在指定位置添加图形说明text(4.5,1.9,y=2); %在指定位置添加图形说明text(7.3,1.5,y=5-x/2); %在指定位置添加图形说明text(8.5,0.9,y=1); %在指定位置添加图形说明结果如图6所示 图6 一元分段函数图四 用matlab绘制二维隐函数图形 function implot(fun,rangexy,ngrid) %二维隐函数绘图%输入参数说-fun 函数句柄,可以是匿名、inline和M函数该函数就是调用了contour()函数,绘制隐函数在xoy平面上的等高线,就得到了二维隐函数的图像-rangexy=xmin xmax ymin ymax 绘图范围,默认-2*pi 2*-ngrid 绘图时计算的点数,初值是20,然后逐步加细,默认50。五用matlab绘制二元函数图像 1曲面绘图的MATLAB命令MATLAB中主要用mesh,surf命令绘制二元函数图形。mesh(x,y,z) 画网格曲面,这里x,y,z是三个数据矩阵,分别表示数据点的横坐标,纵坐标和函数值,该命令将数据点在空间中描出,并连成网格。surf(x,y,z) 画完整曲面,这里x,y,z是三个数据矩阵,分别表示数据点的横坐标,纵坐标和函数值,该命令将数据点所表示曲面画出。问题5画出函数的二维等高线图形,不妨将区域限制在。 则用 MATLAB作图的程序代码为:clear; %清理内存 x=-3:0.1:3; %X的范围【-3,3】 y=-3:0.1:3; %y的范围【-3,3】 X,Y=meshgrid(x,y); %将向量x,y指定的区域转化为矩阵X,Y Z=sqrt(X.2+Y.2); %产生函数值Z contour(X,Y,Z,10) %画10条等高线xlabel(X-axis),ylabel(Y-axis)%两个坐标轴标记title(Contour of Surface) %标题grid on %画网格线结果如图7所示1 图7 等高线如果要画的等高线,则用命令 clear; %清理内存 x=-3:0.1:3; %x的范围【-3,3】y=-3:0.1:3; %y的范围【-3,3】X,Y=meshgrid(x,y); %将向量x,y 指定的区域转化为矩阵X,YZ=sqrt(X.2+Y.2); %产生函数值z contour(X,Y,Z,1 1) %画 z=1时的等高线结果如图8所示 图8 z=1时的等高线五、结论从以上利用MATLAB语言对3种基本函数的二维图形的绘制的分析我们不难得出以下结论:二维图形的绘制是其他回吐操作的基础。在matlab中,最基本且应用最为广泛的绘图函数为plot函数,利用它可以在二维平面上绘制出不同的曲线。Plot函数用于绘制xy平面上的线性坐标曲线图需要提供一组x坐标及其各点对应的y坐标,这样就可以绘制出分别以x,y为横纵坐标的二维曲线。Matlab还提供了一些绘图选项,用于确定所绘曲线的线性,颜色和数据点标记符号,它们可以组合使用。数据点可以用向量或矩阵的形式给出,类型可以是实型或复型,在取数据点时一般都是等间隔采样,这对绘制高频率变化的函数不够精确,为提高精度,绘制出比较真实的函数曲线,就不能等间隔取样,而必须在变化率大的区段密集采样,以充分反映函数的变化规律,进而提高图形的真实性。Fplot函数可自适应的对函数进行采样能更好地反映函数变化规律。在matlab中如果需要绘制出具有不同坐标标度的两个图形,可以使用plotyy函数。这种图形能把函数值具有不同量纲,不同数量级的两个函数绘制在同一坐标中,有利于图形数据的对比分析。绘制完图形后,可能还需要对图形进行一些辅助操作,以使图形意义更加明确,可读性更强。在绘制图形的同时,可以对图形加上一些说明,如图形名称,坐标轴说明以及图形某一部分的含义等。其中。Title和xlabel,ylebel函数分别说明图形和坐标轴的名称。Text函数是在(x,y)坐标处添加图形说明,添加文本说明也可以用gtext命令。在绘制图形时,matlab可以自动根据要绘制曲线的范围选择合适的坐标刻度,使得曲线能够尽可能清晰的显示出来。所以在一般情况下用户不必选择坐标轴的刻度范围。但是如果用户对坐标系不满意,可利用axis函数对其重新设定。一般情况下,每执行一次绘图命令,就刷新一次当前图形窗口,图形窗口原有图形将不复存在,若希望在已经存在的图形上再继续添加新的图形,可使用图形保持命令hold。Hold on/off命令控制是保持原有图像还是刷新原有图形,不带参数的hold命令在两种状态之间转换。MATLAB提供了一系列的绘图函数 ,用户不需过多的考虑绘图细节,只需给出一些基本参数就能得到所需图形 。这一类函数成为高层绘图函数,MATLAB还提供了直接对图形句柄进行操作的底层绘图函数。高层绘图操作简单明了,方便高效,使用户最常用的绘图方法,而底层绘图操作控制和表现图形的能力更强为用户更加自主地绘制图形创作了条件。六、课程体会经过一学期紧张而有序的课程学习,在忙碌之余也得到了颇多的收获。我深深体会到MATLAB语言相对于同类程序语言更方便更简洁易懂,这是我在学习的过程中的一些技巧: 1,如果你要是不是计算机转业的,只是为了方便自己的工作或学习,那么你没有必要把matlab教程全部学会,只需要学你需要的那部分即可,比如,绘图,矩阵运算,等等,根据你个人的需要而定,但是基本命令、数据类型、基本的程序结构(条件语句,循环语句,嵌套)、文件的IO是必须看的,因为任何一个程序都需要这几个基本的块。2,你最好找一个熟悉编程的人来辅助你的学习,这就包括很多编程的技巧问题,程序的结构设计问题,对于程序的运行效率非常有帮助。有的时候,你编出来的程序,能够运行,但是耗时太长,也就是说你的程序没有错,但是不适合实际。或者说,对于规模小的问题能够解决,但是规模大一点的问题就需要很长很长的时间,这就需要对程序的结构和算法问题进行改进(亲身体会,编完一个程序,小的例子可以运行出结果,但是大例子需要很长时间,所以必须要改进一下)。3,你需要找一本matlab的函数工具词典,就像汉语词典一样,你要尽量多的熟悉matlab自带的函数,及其作用,因为matlab的自带函数特别多,基本上能够满足一般的数据和矩阵的计算,所以基本上不用你自己编函数(如vb中,大部分的函数都需要自己编)。这一点对你的程序非常有帮助,可以使你的程序简单,运行效率高,可以节省很多时间(亲身体会)。切记!4,你把基本的知识看过之后,就需要找一个实际的程序来动手编一下,不要等所有的知识都学好之后再去编程,你要在编程的过程中学习,程序需要什么知识再去补充(这一条是别人教我的,很管用),编程是一点一点积累的,所以你要需做一些随手笔记什么的。5,编程问题最头疼的不是编程序,而是调程序,所以在你的程序编完之后,一定要进行验证其正确性,你要尽量多的设想你的问题的复杂性,当然,要一步一步复杂,这样才能保证你的程序的适用性很强。6,对提高matlab编程能力的方法,我想主要有以下三个:(1). 查help(2 )多上上论坛,搜索帖子、发帖子问人(3.) 阅读别人、特别是牛人的程序当然了,正如所有的程序语言一样,“3分课本7分上机”,一定要动手才行,不能光看多想、多思考、多尝试,才是正路。最后,整理一下常用的快捷键(用【】表示)或命令: 1. 在命令窗口(Command Window)中: 1) 【上、下键】切换到之前、之后的命令,可以重复按多次来达到你想要的命令 2) clc清除命令窗口显示的语句,此命令并不清空当前工作区的变量,仅仅是把屏幕上显示出来的语句清除掉 3) clear这个才是清空当前工作区的变量命令,常用语句clear all来完成 4) 【Tab】键(转自版友心灯),在command窗口,输入一个命令的前几个字符,然后按tab键,会弹出前面含这几个字符的所有命令,找到你要的命令,回车,就可以自动完成。目前讨论结果是:matlab6.5版本中,如果候选命令超过100个,则不显示。而在matlab7以后版本中,则没有这个限制,均可正常提示 5) 【Ctrl+C】(或【CtrlBreak】)(转自版友yangjin_ren)在matlab程序运行过程中,可能由于程序编写的失误,导致程序不停的运行
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 十八项医疗质量管理核心制度试题及答案解析
- 2025 九年级道德与法治下册解决方案设计指南课件
- 2026年信阳艺术职业学院单招职业倾向性测试题库附答案详解(培优)
- 2026年兰州现代职业学院单招职业技能测试题库附答案详解(满分必刷)
- 2026年南通职业大学单招职业适应性测试题库带答案详解(培优a卷)
- 2026年内蒙古建筑职业技术学院单招职业倾向性考试题库附参考答案详解(突破训练)
- 2026年内蒙古兴安盟单招职业适应性测试题库带答案详解(培优)
- 2026年兰州外语职业学院单招职业适应性考试题库附答案详解(夺分金卷)
- 2026年北京戏曲艺术职业学院单招职业技能考试题库附参考答案详解(突破训练)
- 2026年南阳工艺美术职业学院单招职业适应性考试题库及答案详解(真题汇编)
- 2026年福建莆田市涵江区区属一级国有企业高级管理人员招聘2人笔试备考题库及答案解析
- 2026福建莆田市涵江区选聘区属一级国有企业高级管理人员2人笔试备考题库及答案解析
- 2026 昆明市高三市统测 三诊一模 英语试卷
- 养老机构护理服务操作手册
- 1.2 宪法的内容和作用 课件 (共28张) 八年级道法下册
- 2025年专升本化学专业无机化学测试试卷(含答案)
- 湖北省腾云联盟2026届高三8月联考历史(含答案)
- 知道智慧树大学生马克思主义素养满分测试答案
- 2025中国纺织行业产品数字护照(DPP)白皮书
- 星星之火可以燎原读后感课件
- JG/T 502-2016环氧树脂涂层钢筋
评论
0/150
提交评论