Matlab课程设计.docx
《Matlab课程设计.docx》由会员分享,可在线阅读,更多相关《Matlab课程设计.docx(16页珍藏版)》请在冰豆网上搜索。
Matlab课程设计
课程设计任务书
学生姓名:
专业班级:
指导教师:
刘新华工作单位:
信息工程学院
题目:
MATLAB的绘图
初始条件:
MATLAB软件、数字信号处理与图像处理基础知识
要求完成的主要任务:
(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)
设定(X1Y1)、(X2Y2)、(X3Y3)、(X4Y4)、(X5Y5)五个函数,在同一幅图上用不同的线条、颜色绘制五条曲线,并分别对五条曲线进行命名,并添加坐标标志、图名函数和网格,并按三种格式进行保存。
时间安排:
指导教师签名:
年月日
系主任(或责任教师)签名:
年月日
摘要I
AbstractII
1一维函数图形绘制基本指令1
1.1plot函数介绍1
1.2图形修饰函数1
1.3绘制图形的形式2
1.4坐标轴及标注3
1.4.1axis函数介绍3
1.4.2legend函数介绍3
1.4.3其他函数介绍5
1.4.4编程及仿真5
2二维图像的设计7
2.1设计要求7
2.2二维图像的程序及仿真7
2.2.1各不同颜色、形状曲线程序及仿真7
2.2.2二维图像的程序10
2.2.3二维图像的仿真11
2.3图像的保存11
3小结与体会12
4参考文献13
本科生课程设计成绩评定表14
摘要
MATLAB是矩阵实验室(MatrixLaboratory)的简称,是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。
MATLAB的应用范围非常广,包括信号和图像处理、通讯、控制系统设计、测试和测量、财务建模和分析以及计算生物学等众多应用领域。
附加的工具箱(单独提供的专用MATLAB函数集)扩展了MATLAB环境,以解决这些应用领域内特定类型的问题。
本次课程设计主要研究的是MATLAB的绘图功能,简单介绍了一下MATLAB绘图的一些基本命令,利用MATLAB来绘制二维图形,并对图像用三种格式进行保存等操作。
关键词:
MATLAB,二维图形
Abstract
MATLABisshortforthematrixlaboratory.ItisproducedbyaU.S.companyasacommercialmathematicsMathWorkssoftwareforalgorithmdevelopment,datavisualization,dataanalysisandnumericalcalculationoftheseniortechnicalcomputinglanguageandinteractiveenvironment,includingMATLABandSimulinktwoparts.
MATLABhaveaverywiderangeofapplications,includingsignalandimageprocessing,communications,controlsystemdesign,testandmeasurement,financialmodelingandanalysis,andcomputationalbiology,andmanyotherapplications.Ithasadditionaltoolboxes(availableseparatelydedicatedsetofMATLABfunctions)whichextendtheMATLABenvironmenttosolvetheseapplicationswithinaspecifictypeofproblem.
ThisdesignedprojectismainlyconcentrateonthegraphicsfunctionofMATLAB.ItgivesabriefintroductionaboutsomeofthebasicMATLABcommands,usingMATLABtoplottwo-dimensionalotheroperations.
Keywords:
MATLAB,plottwo-dimensional
1一维函数图形绘制基本指令
1.1plot函数介绍
plot是绘制二维图形的最基本函数,它是针对向量或矩阵的列来绘制曲线的。
也就是说,使用plot函数之前,必须首先定义好曲线上每一点的x及y坐标,常用格式为:
(1)plot(x)当x为一向量时,以x元素的值为纵坐标,x的序号为横坐标值绘制曲线。
当x为一实矩阵时,则以其序号为横坐标,按列绘制每列元素值相对于其序号的曲线,当x为m×n矩阵时,就由n条曲线。
(2)plot(x,y)以x元素为横坐标值,y元素为纵坐标值绘制曲线。
(3)plot(x,y1,x,y2,…)以公共的x元素为横坐标值,以y1,y2,…元素为纵坐标值绘制曲线。
若函数以显函数形式给出,即y=f(x)形式,则可以使用plot函数来进行作图。
如plot{f,(x,xmin,xmax)}表示在区间{xmin,xmax}上,按选项的要求画出函数f的图形。
而Plot{(f1,f2,…),(x,xmin,xmax)}则表示在区{xmin,xmax}上,按选项的要求画出函数f1、函数f2…等图形。
即同时画出几个函数的图形。
1.2图形修饰函数
MATLAB软件为用户提供了一些特殊的图形函数,用于修饰已经绘制好的图形。
gridon(/off)可给当前图形标记添加(取消)网格;
xlabel(‘string’)命令可为横坐标添加标签;
ylabel(‘string’)命令可为纵坐标添加标签;
title(‘string’)命令可为图形添加标题;
text(x,y,’string’)在图形的任意位置增加说明性文本信息;
axis([xminxmaxyminymax])设置坐标轴的最小最大值;
1.3绘制图形的形式
在MATLAB中为区别画在同一窗口中的多条曲线,可以改变曲线的颜色和线型等图形属性,plot函数可以接受字符串输入变量,这些字符串输入变量用来指定不同的颜色、
线型和标记符号(各数据点上的显示符号)。
表2列出了常用的颜色、线型和标记符号。
表1.plot绘图函数的常用参数
如,若绘制两条不同颜色,线型的曲线:
x=0:
0.2:
8;
y1=0.2+sin(-2*x);%曲线y1
y2=sin(x.^0.5);%曲线y2
figure
plot(x,y1,'g-+',x,y2,'r--d');%曲线y1采用绿色、实线、加号标记;
%曲线y2采用红色、虚线、菱形标记。
仿真图如下:
图1不同颜色,线型的曲线
1.4坐标轴及标注
1.4.1axis函数介绍
MATLAB在绘图时会根据数据的分布范围自动选择坐标轴的刻度范围,MATLAB同时提供了函数axis指定坐标轴的刻度范围其调用格式为axis([xmin,xmax,ymin,ymax])函数中xmin,xmax,ymin,ymax分别表示x轴的起点、终点,y轴的起点、终点。
1.4.2legend函数介绍
legend函数可以在各种类型的图形(曲线图、直线条、饼图等)上设置图例,对于图形上的每一条曲线,legend显示一个该曲线线型、标记符号及颜色的示例,并且标注上用户指定的说明文字。
对于可填充的区域(包括块或区域对象),legend显示该元素表面的样板及说明文字。
用法:
legend('string1','string2',...):
在当前坐标轴上显示用户指定的文本串,以标记各种数据。
legend(h,'string1','string2',...):
对句柄h中定义的图形,根据用户定义的文本串设置该图形的标记。
下图为该命令中pos值的含义。
图2legend命令pos值含义
1.4.3其他函数介绍
表2.坐标及标注功能函数
1.4.4编程及仿真
x=0:
0.05:
5;
figure
y1=exp(0.4.^x)-1.5;y2=sin(x*4);
plot(x,y1,x,y2,'r-.')%曲线y2用红色点画线表示
line([0,5],[0,0])%在(0,0)和(5,0)之间画直线,代替横坐标
xlabel('Input');ylabel('Output');%x轴标注’Input’,y轴标注’Output’
title('TwoFunction');%图形标题‘TwoFunction’
legend('y1=exp(0.4.^x)-1.5','y2=sin(x*4)')%注解图形
gridon%显示网格线
所生成的图像如下图可见:
图3
2二维图像的设计
2.1设计要求
设定(X1Y1)、(X2Y2)、(X3Y3)、(X4Y4)、(X5Y5)五个函数,在同一幅图上用不同的线条、颜色绘制五条曲线,并分别对五条曲线进行命名,并添加坐标标志、图名函数和网格,并按三种格式进行保存。
2.2二维图像的程序及仿真
2.2.1各不同颜色、形状曲线程序及仿真
1x1=0:
pi/180:
2*pi;
y1=exp(-0.3*x1).*cos(2*x1);
plot(x1,y1,'b-');
图4
2x2=0:
0.1:
7;
y2=(-0.8)+(1/3)*x2;
plot(x2,y2,'r+');
图5
3x3=0:
0.2:
6;
y3=sin(x3);
plot(x3,y3,'k:
');
图6
4x4=0:
0.01:
7;
y4=exp((-2)*x4);
plot(x4,y4,'m--');
图7
5x5=0:
0.1:
7;
y5=(x5.^0.8).*exp(-x5);
plot(x5,y5,'c*');
图8
2.2.2二维图像的程序
x1=0:
pi/180:
2*pi;
y1=exp(-0.3*x1).*cos(2*x1);
plot(x1,y1,'b-');
holdon
x2=0:
0.1:
7;
y2=(-0.8)+(1/3)*x2;
plot(x2,y2,'r+');
holdon
x3=0:
0.2:
6;
y3=sin(x3);
plot(x3,y3,'k:
');
holdon
x4=0:
0.01:
7;
y4=exp((-2)*x4);
plot(x4,y4,'m--');
holdon
x5=0:
0.1:
7;
y5=(x5.^0.8).*exp(-x5);
plot(x5,y5,'c*');
grid
xlabel('x');
ylabel('y');
title('课设');
gridon
legend('y1=exp(-0.3*x1).*cos(2*x1)','y2=(-0.8)+(1/3)*x2','y3=sin(x3)','y4=exp((-2)*x4)','y5=(x5.^0.8).*exp(-x5)')
2.2.3二维图像的仿真
图9
2.3图像的保存
以上为输入程序后,输出得到的图像,经过检查对比,可见理想的函数模型与输入之后输出的二维函数图像相符,说明设计正确,此时我们需要对源程序及图像进行不同格式的保存,图像可保存为.fig,.jpeg,.ai等文件类型,而源程序可保存为.dat,.txt,.m等格式,供我们以后来调用。
3小结与体会
经历了几天的努力,终于完成了这次的matlab课程设计的任务,虽然设计过程中遇到了很多问题,但我自己经过翻阅书籍以及网上查找资料等各种途径将问题一一解决了,最后终于顺利完成了课程设计。
其实在上个学期的matlab实验课和基础强化训练已经让我们对matlab有了初步的接触和了解,知道了它的一些基本操作和功能,但这次的课程设计显然让我们更全面更深入的了解了matlab的一些功能和用法。
本次实验我做的题目是matlab的绘图,matlab中提供了许多绘图函数,这里面我们就从最基础的几个开始了解。
开始从网上查了很多资料,了解了它们的具体用法,然后再自己举例应用,验证它们的具体功能。
当然有时候在具体应用时会出现问题,出不了相应的结果。
这时我就在网上查找问题的原因并进行修改,最终实现了相应功能。
通过了这次课程设计,我对matlab有了更深入的了解,对它的操作也更加熟练,尤其是对那些基本绘图函数可谓印象深刻,对它们的功能有了系统的了解,这些都将在以后的应用中帮我更好的完成一些设计。
虽然在这次设计中遇到了很多问题,有时很不顺,但我从中学到了很多东西,并且感觉很充实,最终也完成了这次课程设计。
实践是学习和巩固相关知识的很好的一个办法,能提升我们的专业素养,希望以后这样的机会更多一点。
4参考文献
[1]周开立主编:
《matlab基础及其应用教程》,北京大学出版社,2007。
[2]VinayK.Ingle主编:
《数字信号处理及其MATLAB实现》,电子工业出版社,1998。
[3]郑碧波编著:
《MATLAB编程》,电子工业出版社,2007。
[4]SanjitK.Miltra编著:
《DigitalSignalProcessingLaboratoryUsingMatlab》,McGraw-Hill出版社,2000年出版。
本科生课程设计成绩评定表
姓名
史冰青
性别
男
专业、班级
通信1005班
题目:
Matlab课程设计
答辩或质疑记录:
成绩评定依据:
最终评定成绩(以优、良、中、及格、不及格评定)
指导教师签字:
年月日