M专业基础实践课设.docx

上传人:b****6 文档编号:7116037 上传时间:2023-01-19 格式:DOCX 页数:21 大小:128.36KB
下载 相关 举报
M专业基础实践课设.docx_第1页
第1页 / 共21页
M专业基础实践课设.docx_第2页
第2页 / 共21页
M专业基础实践课设.docx_第3页
第3页 / 共21页
M专业基础实践课设.docx_第4页
第4页 / 共21页
M专业基础实践课设.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

M专业基础实践课设.docx

《M专业基础实践课设.docx》由会员分享,可在线阅读,更多相关《M专业基础实践课设.docx(21页珍藏版)》请在冰豆网上搜索。

M专业基础实践课设.docx

M专业基础实践课设专业基础实践课设Matlab应用课程设计任务书学生姓名:

杨博专业班级:

电信1303班指导教师:

肖攸安工作单位:

信息工程学院题目:

Matlab应用第7套综合题初始条件:

(1)提供实验室机房及其Matlab6.5以上版本软件;

(2)MATLAB教程学习。

要求完成的主要任务:

(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求):

(1)选择一本MATLAB教程,认真学习该教程的全部内容,包括基本使用方法、数组运算、矩阵运算、数学运算、程序设计、符号计算、图形绘制、GUI设计等内容;

(2)对该套综合题的10道题,进行理论分析,针对具体设计部分的原理分析、建模、必要的推导和可行性分析,画出程序设计框图,编写程序代码(含注释),上机调试运行程序,记录实验结果(含计算结果和图表)。

(3)对实验结果进行分析和总结;(4)要求阅读相关参考文献不少于5篇;(5)根据课程设计有关规范,按时、独立完成课程设计说明书。

时间安排:

(1)布置课程设计任务,查阅资料,学习MATLAB教程十周;

(2)进行编程设计一周;(3)完成课程设计报告书一周;指导教师签名:

年月日系主任(或责任教师)签名:

年月日目录1前言11.1MATLAB简介11.2MATLAB的功能11.3MATLAB的典型应用12设计题目33设计内容53.1题一53.2题二53.3题三63.4题四73.5题五143.6题六143.7题七153.8题八173.9题九183.10题十194课程设计心得22参考文献231前言1.1MATLAB简介简介MATLAB软件由美国MathWorks公司于1984年推出,经过不断的发展和完善,如今己成为覆盖多个学科的国际公认的最优秀的数值计算仿真软件。

MATLAB具备强大的数值计算能力,许多复杂的计算问题只需短短几行代码就可在MATLAB中实现。

作为一个跨平台的软件,MATLAB已推出Unix、Windows、Linux和Mac等十多种操作系统下的版本,大大方便了在不同操作系统平台下的研究工作。

MATLAB软件具有很强的开放性和适应性。

在保持内核不变的情况下,MATLAB可以针对不同的应用学科推出相应的工具箱(toolbox),目前己经推出了图象处理工具箱、信号处理工具箱、小波工具箱、神经网络工具箱以及通信工具箱等多个学科的专用工具箱,极大地方便了不同学科的研究工作。

国内已有越来越多的科研和技术人员认识到MATLAB的强大作用,并在不同的领域内使用MATLAB来快速实现科研构想和提高工作效率。

MATLAB提供了20类图像处理函数,涵盖了图像处理的包括近期研究成果在内的几乎所有的技术方法,是学习和研究图像处理的人员难得的宝贵资料和加工工具箱。

这些函数按其功能可分为:

图像显示;图像文件I/O;图像算术运算;几何变换;图像登记;像素值与统计;图像分析;图像增强;线性滤波;线性二元滤波设计;图像去模糊;图像变换;邻域与块处理;灰度与二值图像的形态学运算;结构元素创建与处理;基于边缘的处理;色彩映射表操作;色彩空间变换;图像类型与类型转换。

1.2MATLAB的功能的功能1)强大的科学计算机数据处理能力2)出色的图形处理功能3)应用广泛的模块集合工具箱4)实用的程序接口和发布平台1.3MATLAB的典型应用的典型应用1)数据分析2)数值与符号计算;3)工程与科学绘图;4)控制系统设计;5)航天工业;6)汽车工业;7)生物医学工程;8)语音处理;9)图像与数字信号处理;10)财务、金融分析;11)建模、仿真及样机开发;12)新算法研究开发;13)图形用户界面设计。

2设计题目设计题目第第7套题:

套题:

Matlab应用课程设计应用课程设计7

(1).求100,200之间第一个能被21整除的整数。

(2).绘制余弦曲线y=cos(x)和指数函数y=x2曲线。

(3).计算2+4+6.+100的值,当和大于2000时终止计算。

(4).分析下面每条指令的功能并运行,观察执行结果。

X=0:

0.25:

3;Y=X.*exp(-X);plot(X,Y),xlabel(x),ylabel(y),title(y=x*exp(-x);A=zeros(3,5)A(:

)=-7:

7L=abs(A)4islogical(L)X=A(L)A=1:

5;6:

10pow2(A)A=zeros(3,2)A(:

)=1:

6A=A*(1+i)A1=A.B1=AA=ones(2,3)B=ones

(2)C=eye(4)D=diag(C)E=repmat(C,1,3)(5).利用whileend循环结构编程求出1+3+5+101的值。

(6).随机生成一个100003的矩阵,并绘制其柱状图。

(7).利用switchcase编写以下程序:

某商场对顾客所购买的商品实行打折销售,标准如下(商品价格用price来表示):

price200无折扣200price5005折扣500pricenn=1053.2题二题二绘制余弦曲线y=cos(x)和指数函数y=x2曲线。

分析:

绘制曲线用plot函数。

为方便观察两个图像,应适当设置横纵坐标的大小,这需要用到axis(xminxmaxyminymax)函数。

设置其x在(0,2pi),y为(-3,3)较为合适。

1)程序如下x=0:

pi/30:

2*pi;%产生一个0到2pi的等差数列y1=cos(x);y2=x.*x;%定义关于y1和y2的函数plot(x,y1,-ro,x,y2)%将y1y2的图像以不同的样式绘制出来axis(0,2*pi,-3,3)%定义x和y的最值h=legend(cos_x,x.*x,2);%添加两个函数的标注2)运行结果为图1题3.2程序运行结果3.3题三题三计算2+4+6.+100的值,当和大于2000时终止计算。

分析:

此题为求偶数的和第一次大于2000时的值,因此要设置累加后的值放在sum里面,用while循环,令m的初值为2步长为2,终值为100.1)程序如下:

sum=0;%定义sum的初值为0m=2;%定义m的初值为2whilesum4islogical(L)X=A(L)分析:

A=zeros(3,5)会产生一个3*5阶的全0矩阵A,A(:

)=-7:

7会将矩阵元素从-7到7依次赋值,L=abs(A)4会标记矩阵A中元素的绝对值大于4的元素,islogical(L)判断L是不是逻辑数,X=A(L)取出A中绝对值大于4的元素组成一个新的矩阵A。

1)程序如下:

A=zeros(3,5)A(:

)=-7:

7L=abs(A)4islogical(L)x=A(L)2)结果如下:

A=000000000000000A=-7-4-125-6-3036-5-2147L=100011000110001ans=1x=-7-6-55673.4.3分析下面指令的功能并运行,观察执行结果。

A=1:

5;6:

10pow2(A)分析:

A=1:

5;6:

10为矩阵的第一行从1到5依次赋值,第二行,从6到10依次赋值,pow2(A)将A按矩阵运算出平方。

1)程序如下:

A=1:

5;6:

10pow2(A)2)结果如下:

A=12345678910ans=24816326412825651210243.4.4分析下面指令的功能并运行,观察执行结果。

A=zeros(3,2)A(:

)=1:

6A=A*(1+i)A1=A.B1=A分析:

A=zeros(3,2)得到一个3*2的全零矩阵。

A(:

)=1:

6将1到6内的整数值赋给A,形成新的矩阵A。

A=A*(1+i)计算A*(1+i),得到新矩阵A。

A1=A.得到非共轭转置矩阵A1。

B1=A得到共轭转置矩阵B1。

1)程序如下:

A=zeros(3,2)A(:

)=1:

6A=A*(1+i)A1=A.B1=A2)运行结果如下:

A=000000A=142536A=1.0000+1.0000i4.0000+4.0000i2.0000+2.0000i5.0000+5.0000i3.0000+3.0000i6.0000+6.0000iA1=1.0000+1.0000i2.0000+2.0000i3.0000+3.0000i4.0000+4.0000i5.0000+5.0000i6.0000+6.0000iB1=1.0000-1.0000i2.0000-2.0000i3.0000-3.0000i4.0000-4.0000i5.0000-5.0000i6.0000-6.0000i3.4.5分析下面指令的功能并运行,观察执行结果。

A=ones(2,3)B=ones

(2)C=eye(4)D=diag(C)E=repmat(C,1,3)分析:

A=ones(2,3)得到2*3全1矩阵A。

B=ones

(2)得到全1二阶方阵B。

C=eye(4)得到四阶单位矩阵C。

D=diag(C)提取C的对角矩阵D。

E=repmat(C,1,3)复制矩阵C并在第一行平铺三个。

1)程序如下:

A=ones(2,3)B=ones

(2)C=eye(4)D=diag(C)E=repmat(C,1,3)2)结果如下:

A=111111B=1111C=1000010000100001D=1111图3题3.4.5运行结果3.5题五题五利用whileend循环结构编程求出1+3+5+101的值。

分析:

用whileend循环结构编程求1+3+5+101需要一个循环变量k和一个累加变量s,最终得到的s即为求和的值。

1)程序如下:

s=0;%定义s并赋初值0k=1;%定义k并赋初值1whilek3.6题六题六随机生成一个100003的矩阵,并绘制其柱状图。

分析:

生成随即矩阵需要用到函数rand(),绘制柱状图需要用到函数bar()。

1)程序如下:

A=rand(10000,3);bar(A)2结果如下图4题3.6运行结果3.7题七题七利用switchcase编写以下程序:

某商场对顾客所购买的商品实行打折销售,标准如下(商品价格用price来表示):

price200无折扣200price5005折扣500price100010折扣Price100015折扣输入所售商品的价格,求其实际销售价格。

分析:

用switch语句来编写,需要将价格的不同区间对应不同的数字,用fix函数将price/100的结果靠近0取整后,可以使小于200对应情况为(01),200到500对应情况为(234),500到1000对应情况为(5789)。

同时为避免用户输入负数这种不可能出现的价格情况,用while语句设置一个循环判断,是用户输入小于0的数字时提示其输入错误,需要重新输入,这样的话剩下的最后一种情况即为价格大于1000的情况,可以用otherwise语句编写。

1)程序如下:

price=input(price);whilepricecircle(0.5);s=0.7854l=3.1416circle(5);s=78.398l=31.41593.9题九题九已知,其中t的范围是010,计算y的微分和积分并给出曲线图。

分析:

首先需要定义两个变量t和y,将所求函数用y=exp(-1)*cos(t)表示出来,求积分需要用到int()函数,求微分需要用到diff()函数,vpa函数用于控制精度,画图像用ezplot()函数比较简单,只需方程式即可画出图像。

1)程序如下:

symstyabcd%定义变量tyy=exp(-1)*cos(t)%表达出函数y=exp(-1)*cos(t)a=int(y,0,10);%求y的积分并赋给ab=diff(y,0,10);%求y的微分并赋给bezplot(y,0,10)%画出y的图像c=vpa(a);%控制a的精度后并把其赋给cd=vpa(b);%控制b的精度后并把其赋给dcd2)运行如下c=-.20013418225944862880696669467031d=-.36787944117144233402427744294982*cos(t)图5题3.9运行结果3.10.题十题十编写程序,用plot(x,y)绘制图六、图七所示曲线。

图6图73.10.1分析:

有图像很容易可以求出函数的表达式为y=3*x+1,x取值范围为(0,5),画图像可以用到plot()函数,再用xlabel(x),ylabel(y)两个语句确定其横纵坐标轴的名称。

1)程序如下:

x=0:

0.001:

5;y=3*x+1;plot(x,y);%画出y的曲线xlabel(x),ylabel(y);2)结果如下:

图8题3.10.1运行结果3.10.2分析:

容易看出这是两个表达式的图像所形成的图形,分别为分析:

容易看出这是两个表达式的图像所形成的图形,分别为y1=x+1和和y2=-x+3,可以用,可以用plot()函数画出其图形,但要注意的是画出第一个图形后需要用()函数画出其图形,但要注意的是画出第一个图形后需要用holdon语句将第一个图形锁住,再画第二个图形,否则第二个图形会将第一个图形覆盖,语句将第一个图形锁住,再画第二个图形,否则第二个图形会将第一个图形覆盖,无法得出如题所示图形。

无法得出如题所示图形。

1)程序如下:

x=0:

0.1:

1;y1=x+1;y2=-x+3;plot(x,y1),holdon,plot(x,y2);%画出y1和y2的两条曲线并同时显示2)结果如下:

图9题3.10.2运行结果4课程设计心得课程设计心得Matlab作为一款数学处理软件,其功能是非常强大的,通过对该软件的学习,我有学会了一种方法去解决比较纠结的数学问题。

刚开始我是先找了一本电子工业出版社的MATLAB及在电子信息工程课程中的应用这本书,通过对这本书的学习,我对Matlab有了初步的了解,然后又在网上找了些视频,跟着学做了几次就开始自己做了,感觉只要是以认真学Matlab不是很难。

首先,Matlab是针对矩阵的,然后好多的与方程的解有关的问题便迎刃而解,还有就是比较强大的绘图功能,以前在高中的时候只看过书本上做的一些比较复杂的图像,但现在可以自己做感觉还是蛮激动的,Matlab有个很方便的工具,就是它的帮助,遇到什么不懂的问题只要查一下help就能解决了。

在help中输入不理解的函数语句,就会弹出非常详细的解释,当然这是全英文的,不过正好可以锻炼一下我的英文水平。

遇到看不懂的,可以自己把它导入有道里面,一般都能找到翻译,还有些错误不能解决的我就自己还上网XX,越发觉得XX是一个非常强大的搜索引擎,上面有好多与Matlab相关的知识,所以说网络是个非常好的学习语言的平台,可以通过网络与其他人交流经验。

通过这次课程设计,我体会到了Matlab的强大功能,其次就是它在我们专业中的用处也是很大的,比如说在信号处理和自动控制上的应用等等,以后我还得深入学习Matlab,并在以后的专业学习中去应用它.参考文献1唐向宏.MATLAB及在电子信息类课程中的应用.电子工业出版社.M20062穆尔.MATLAB实用教程(第二版).电子工业出版社.M20103陈杰.MATLAB宝典(第3版).电子工业出版社.M20114刘保柱.MATLAB7.0从入门到精通(修订版).人民邮电出版社.M20105陈怀琛.MATLAB及在电子信息课程中的应用.电子工业出版社.M20066张琨.MATLAB2010从入门到精通.电子工业出版社.M20117薛山.MATLAB基础教程.清华大学出版社.M20118张圣勤.MATLAB7.0使用教程.机械工业出版社.M2006本科生课程设计成绩评定表姓名性别专业、班级电子信息工程1303班课程设计题目:

课程设计答辩或质疑记录:

成绩评定依据:

最终评定成绩(以优、良、中、及格、不及格评定)指导教师签字:

年月日

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工作范文 > 行政公文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1