matlab课程设计 23.docx
- 文档编号:30568849
- 上传时间:2023-08-16
- 格式:DOCX
- 页数:20
- 大小:461.35KB
matlab课程设计 23.docx
《matlab课程设计 23.docx》由会员分享,可在线阅读,更多相关《matlab课程设计 23.docx(20页珍藏版)》请在冰豆网上搜索。
matlab课程设计23
课程设计任务书
学生姓名:
崔洁璇专业班级:
通信1201班
指导教师:
刘新华工作单位:
信息工程学院
题目:
MATLAB的绘图
要求完成的主要任务:
1.在数字信号处理平台上(PC机﹑MATLAB仿真软件系统)进行软件仿真设计,并进行调试和数据分析。
2.利用MATLAB仿真软件进行绘图。
课程设计的目的:
1.理论目的
课程设计的目的之一是为了巩固课堂理论学习,并能用所学理论知识正确分析信号处理的基本问题和解释信号处理的基本现象。
2.实践目的
课程设计的目的之二是通过设计具体的图像信号变换掌握图像和信号处理的方法和步骤。
时间安排:
序
号
阶段内容
所需时间
1
方案设计
2天
2
软件设计
3天
3
系统调试
2天
4
答辩
1天
合计
8天
指导教师签名:
年月日
系主任(或责任教师)签字:
年月日
目录
摘要I
AbstractII
1引言1
1.1MATLAB介绍1
1.2MATLAB绘图功能1
1.3MATLAB绘制二维函数曲线2
1.4MATLAB绘制三维函数图2
2MATLAB绘制二维函数图3
2.1plot函数的基本用法3
2.1.1plot的功能:
3
2.1.2plot的调用格式:
3
2.2绘制五条函数曲线5
2.2.1设计要求:
5
2.2.2绘图程序:
5
2.2.3legend(...,pos)函数使用11
2.2.5图像的保存12
3MATLAB绘制三维函数图13
3.1三维图像函数的基本用法13
3.2空间曲线图14
3.3三维网线图15
3.4三维曲面图16
4心得体会17
5参考文献18
摘要
与数值计算和符号计算相比,图形的可视化技术是数学计算人员所追求的更高级的一种技术,因为对于数值计算和符号计算来说,不管计算的结果是多么的准确,人们往往无法直接从大量的数据和符号中体会它们的具体含义。
而图形处理技术则给人们提供了一种更直接的表达方式,可以使人们更直接、更清楚地了解事物的结果和本质。
MATLAB语言除了有强大的矩阵处理功能之外,它的绘图功能也是相当强大的。
MATLAB语言提供了一套功能强大的绘图命令,这些命令可以根据输入的数据自动完成图形的绘制,为计算过程和结果的可视化提供了极佳的手段。
关键字:
绘图命令自动绘制MATLAB
Abstract
Symboliccomputation andnumerical calculationand comparison,thegraph isamathematicalvisualizationtechnology staff topursue a moreadvanced technology,becausefor numericalcomputationand symboliccomputation,nomatter howcalculated theaccuracyof theresults,peopletendto Not directlyfromthe largeamountof dataandthe symbols oftheir specificmeaning inthe experience. The graphicsprocessing technologyis toprovidepeoplewith amoredirect expression, canmakepeoplemore directlyand moreclearly understand theresultsand thenature ofthings.MATLAB language processing inadditionto astrong matrix features, it's graphics isquite powerful. MATLAB languageprovides apowerfulsetof drawing commandsthatcanbe doneautomatically basedon thedataentered drawing, processandresultsofthecalculation providesanexcellent visual means.
Keyword:
drawingcommandsautomaticdrawingMATLAB
1引言
1.1MATLAB介绍
MATLAB是矩阵实验室(MatrixLaboratory)的简称,是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。
MATLAB是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。
它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。
MATLAB和Mathematica、Maple并称为三大数学软件。
它在数学类科技应用软件中在数值计算方面首屈一指。
MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。
MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。
在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持。
可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。
1.2MATLAB绘图功能
强大的绘图功能是MATLAB的特点之一,MATLAB提供了一系列的绘图函数,用户不需要过多的考虑绘图的细节,只需要给出一些基本参数就能得到所需图形,这类函数称为高层绘图函数。
此外,MATLAB还提供了直接对图形句柄进行操作的低层绘图操作。
这类操作将图形的每个图形元素(如坐标轴、曲线、文字等)看做一个独立的对象,系统给每个对象分配一个句柄,可以通过句柄对该图形元素进行操作,而不影响其他部分。
1.3MATLAB绘制二维函数曲线
二维图形是将平面坐标上的数据点连接起来的平面图形。
可以采用不同的坐标系,如直角坐标、对数坐标、极坐标等。
二维图形的绘制是其他绘图操作的基础。
在MATLAB中,最基本而且应用最为广泛的绘图函数为plot,利用它可以在二维平面上绘制出不同的曲线。
plot函数用于绘制二维平面上的线性坐标曲线图,要提供一组x坐标和对应的y坐标,可以绘制分别以x和y为横、纵坐标的二维曲线。
plot函数的应用格式plot(x,y)其中x,y为长度相同的向量,存储x坐标和y坐标。
plot函数可以包含若干组向量对,每一组可以绘制出一条曲线。
含多个输入参数的plot函数调用格式为:
plot(x1,y1,x2,y2,…,xn,yn)
1.4MATLAB绘制三维函数图
三维曲线绘制主要用到plot3,其用法与plot相似。
三维网线图的绘制使用函数mesh,在利用该函数前需要利用网格生成函数meshgrid生成x,y的网格。
网线图的线条有颜色,空挡是黑色的(无颜色);曲面图的线条是黑色的,空挡有颜色(把线条之间的空挡填充颜色),沿z轴按每一网格变化。
三维网线图的绘制使用函数surf。
2MATLAB绘制二维函数图
2.1plot函数的基本用法
2.1.1plot的功能:
、plot命令自动打开一个图形窗口Figure
、用直线连接相邻两数据点来绘制图形
、根据图形坐标大小自动缩扩坐标轴,将数据标尺及单位标注自动加到两个坐标轴上,可自定坐标轴,可把x,y轴用对数坐标表示
、可单窗口单曲线绘图;可单窗口多曲线绘图;可单窗口多曲线分图绘图;可多窗口绘图
、可任意设定曲线颜色和线型
、可给图形加坐标网线和图形加注功能
2.1.2plot的调用格式:
plot(x)——缺省自变量绘图格式,x为向量,以x元素值为纵坐标,以相应元素下标为横坐标绘图。
plot(x,y)——基本格式,以y(x)的函数关系作出直角坐标图,如果y为n×m的矩阵,则以x为自变量,作出m条曲线。
plot(x1,y1,x2,y2)——多条曲线绘图格式。
plot(x,y,’s’)——开关格式,开关量字符串s设定曲线颜色和绘图方式。
线型
颜色
标记符号
-实线
b蓝色
.点
s方块
:
虚线
g绿色
o圆圈
d菱形
-.点划线
r红色
×叉号
∨朝下三角符号
--双划线
c青色
+加号
∧朝上三角符号
m品红
*星号
<朝左三角符号
y黄色
>朝右三角符号
k黑色
p五角星
w白色
h六角星
表1:
plot函数绘图选项
2.2绘制五条函数曲线
2.2.1设计要求:
设定(X1Y1)、(X2Y2)、(X3Y3)、(X4Y4)、(X5Y5)五个函数,在同一幅图上用不同的线条、颜色绘制五条曲线,并分别对五条曲线进行命名,并添加坐标标志、图名函数和网格,并按三种格式进行保存。
2.2.2绘图程序:
五条函数曲线:
1
x1=0:
pi/180:
2*pi;
y1=sin(x1+pi).*exp(x1);
plot(x1,y1,'y-');
图1(X1Y1)函数曲线
2
x2=0:
0.2:
10;
y2=8*x2+10;
plot(x2,y2,'g+');
图2(X2Y2)函数曲线
3
x3=0:
0.1:
10;
y3=10*x3.*sin(x3);
plot(x3,y3,'r-.');
图3(X3Y3)函数曲线
4
x4=0:
0.2:
10;
y4=10*cos(-x4);
plot(x4,y4,'m*');
图4(X4Y4)函数曲线
5
x5=0:
0.05:
5;
y5=2*exp(x5).*sin(2*pi*x5);
plot(x5,y5,'k--');
图5(X5Y5)函数曲线
二维图像程序:
x1=0:
pi/180:
2*pi;
y1=sin(x1+pi).*exp(x1);
plot(x1,y1,'y-');
holdon
x2=0:
0.2:
10;
y2=8*x2+10;
plot(x2,y2,'g+');
holdon
x3=0:
0.1:
10;
y3=10*x3.*sin(x3);
plot(x3,y3,'r-.');
holdon
x4=0:
0.2:
10;
y4=10*cos(-x4);
plot(x4,y4,'m*');
holdon
x5=0:
0.05:
5;
y5=2*exp(x5).*sin(2*pi*x5);
plot(x5,y5,'k--');
grid
xlabel('x');
ylabel('y');
title('课设');
gridon
legend('y1=sin(x1+pi).*exp(x1)','y2=8*x2+10','y3=10*x3.*sin(x3)','y4=10*cos(-x4)','y5=2*exp(x5).*sin(2*pi*x5)',4)
2.2.3legend(...,pos)函数使用
该命令对有多种图形对象类型(线条图,条形图,饼形图等)的窗口中显示一个图例。
对于每一线条,图例会在用户给定的文字标签旁显示线条的线型,标记符号和颜色等。
legend(…,pos)在指定的位置pos放置图例见表2
Pos取值
pos=-1
pos=0
Pos=1
图例位置
坐标轴之外的右边
坐标轴之内,有可能遮挡部分图形
坐标轴的右上角(缺省位置)
Pos取值
pos=2
pos=3
pos=4
图例位置
坐标轴的左上角
在坐标轴的左下角
坐标轴的右下角
表2
2.2.4绘图结果:
图6五条函数曲线绘制结果
2.2.5图像的保存
以上为输入程序后,输出得到的图像,经过检查对比,可见理想的函数模型与输入之后输出的二维函数图像相符,说明设计正确,此时我们需要对源程序及图像进行不同格式的保存,图像可保存为.fig,.jpeg,.ai等文件类型,而源程序可保存为.dat,.txt,.m等格式,供我们以后来调用。
3MATLAB绘制三维函数图
3.1三维图像函数的基本用法
三维曲线绘制主要用到plot3,其用法与plot相似。
其调用格式为:
plot3(x1,y1,z1,选项1,x2,y2,z2,2,…,xn,yn,zn,选项n)。
其中每一组x,y,z组成一组曲线的坐标参数,选项的定义和plot函数相同。
当x,y,z是同维向量时,则x,y,z对应元素构成一条三维曲线。
当x,y,z是同维矩阵时,则以x,y,z对应列元素绘制三维曲线,曲线条数等于矩阵列数。
三维网线图的绘制使用函数mesh,在利用该函数前需要利用网格生成函数meshgrid生成x,y的网格。
网线图的线条有颜色,空挡是黑色的(无颜色);曲面图的线条是黑色的,空挡有颜色(把线条之间的空挡填充颜色),沿z轴按每一网格变化。
surf函数和mesh函数的调用格式为:
mesh(x,y,z,c):
画网格曲面,将数据点在空间中描出,并连成网格。
surf(x,y,z,c):
画完整曲面,将数据点所表示曲面画出。
3.2空间曲线图
程序如下:
t=0:
pi/100:
20*pi;
x=sin(t);
y=cos(t);
z=2*t;
plot3(x,y,z);
title('空间曲线图');
xlabel('X');ylabel('Y');zlabel('Z');
图7空间曲线
3.3三维网线图
程序如下:
x=-1:
0.1:
1;
y=-1:
0.1:
1;
[x,y]=meshgrid(-1:
0.1:
1);
z=sqrt(x.^2-y.^2);
mesh(x,y,z)
title('三维网线图');
图8三维网线图
3.4三维曲面图
程序如下:
x=-1:
0.1:
1;
y=-1:
0.1:
1;
[x,y]=meshgrid(-1:
0.1:
1);
z=sqrt(x.^2-y.^2);
surf(x,y,z)
title('三维曲面图');
图9三维网面图
4心得体会
在这个学期学习MATLAB的过程中,由于前期没有下很大功夫去了解,所以在最后做这个课程设计的时候还是有点摸不着头脑。
但是此次课题只是要我们对MATLAB的基本功能有所了解,学会简单的函数调用。
在做这个课题的过程中我也遇到很多困难,大部分我都能通过查找书籍或者互联网来解决,个别搞不明白的请教身边同学或者学长也都解决了,最终顺利完成此次课程设计。
本次我选择的题目是关于二维平面函数图像的绘制,MATLAB有十分强大的函数库和绘图功能,本次我只使用了最基础的plot函数,虽然基础,也有一定难度,而难点就在于我如何将五个函数图像表现在一幅坐标内且让它们每一条都清晰易读。
通过改变函数周期、线条宽度、线型等一系列条件,我最终找到了能够将五条曲线都清晰展现的平衡点。
通过此次课程设计,我对MATLAB产生了更大的兴趣,同时也意识到自己对于这方面知识的匮乏,这无疑是一种激励,激励我能从中学到东西并提高自己。
希望有下一次的锻炼机会,我将会完成的更好。
5参考文献
【1】刘慧颖主编,《MATLABR2007基础教程》,清华大学出版社,2005.8
【2】周开立主编:
《matlab基础及其应用教程》,北京大学出版社,2007【3】刘卫国主编,《MATLAB程序设计教程》,中国水利水电出版社,2004.6
【4】黄忠霖,周向明编著,《控制系统MATLAB计算及仿真实训》,国防工业出版社,2006
【5】VinayK.Ingle主编,《数字信号处理及其MATLAB实现》,电子工业出版社,1998
本科生课程设计成绩评定表
姓名
崔洁璇
性别
女
专业班级
通信1201班
题目:
绘制MATLAB函数曲线
答辩或质疑记录:
1.在绘图窗口加图例的函数是什么?
答:
用legend(...,pos)命令来给函数图像加图例,pos决定图例的位置。
2.怎样分辨五条曲线分别对应哪一个函数?
答:
在绘制图像的时候我在右下角加上了图例,可以通过图例来确定每一个函数的线型和颜色,从而判断五条曲线所对应的函数。
3.在绘制图像过程中遇到什么困难?
答:
我遇到的困难是如何把五个二维函数曲线清晰地放在同一个窗口内显示,最终我通过调节曲线横坐标的长度以及线型密度使它们能够清晰易读。
最终评定成绩(以优、良、中、及格、不及格评定)
指导教师签字:
__________________
年月日
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- matlab课程设计 23 matlab 课程设计