专业基础课程设计(完成).docx_第1页
专业基础课程设计(完成).docx_第2页
专业基础课程设计(完成).docx_第3页
专业基础课程设计(完成).docx_第4页
专业基础课程设计(完成).docx_第5页
免费预览已结束,剩余21页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

武汉理工大学电子信息专业基础实践课程设计课程设计任务书学生姓名:_崔运宏_专业班级: 电信 1304 班 指导教师: 胡君萍 工作单位: 信息工程学院 题 目: 专业基础实践第7套综合题初始条件:(1)提供实验室机房及其Matlab6.5以上版本软件; (2)MATLAB教程学习。要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求):(1)选择一本MATLAB教程,认真学习该教程的全部内容,包括基本使用方法、数组运算、矩阵运算、数学运算、程序设计、符号计算、图形绘制、GUI设计等内容;(2)对该套综合题的10道题,进行理论分析,针对具体设计部分的原理分析、建模、必要的推导和可行性分析,画出程序设计框图,编写程序代码(含注释),上机调试运行程序,记录实验结果(含计算结果和图表)。(3)对实验结果进行分析和总结;(4)要求阅读相关参考文献不少于5篇;(5)根据课程设计有关规范,按时、独立完成专业基础实践说明书。时间安排: (1)布置课程设计任务,查阅资料,学习MATLAB教程 2.5天; (2)进行编程设计 2天; (3)完成专业基础实践报告书 1天; (4)答辩 0.5天;指导教师签名: 年 月 日系主任(或责任教师)签名: 年 月 日目录前言3MATLAB简介3Matlab的功能4二 设计题目5三 设计内容63.2题二73.3题三83.4题四93.5题五153.6题六153.7题七163.8题八183.9题九193.10题十20四 课程设计心得22参考文献23本科生课程设计成绩评定表24前言MATLAB简介MATLAB软件由美国MathWorks公司于1984年推出,经过不断的发展和完善,如今己成为覆盖多个学科的国际公认的最优秀的数值计算仿真软件。MATLAB具备强大的数值计算能力,许多复杂的计算问题只需短短几行代码就可在MATLAB中实现。作为一个跨平台的软件,MATLAB已推出Unix、Windows、Linux和Mac等十多种操作系统下的版本,大大方便了在不同操作系统平台下的研究工作。MATLAB软件具有很强的开放性和适应性。在保持内核不变的情况下,MATLAB可以针对不同的应用学科推出相应的工具箱(toolbox),目前己经推出了图象处理工具箱、信号处理工具箱、小波工具箱、神经网络工具箱以及通信工具箱等多个学科的专用工具箱,极大地方便了不同学科的研究工作。国内已有越来越多的科研和技术人员认识到MATLAB的强大作用,并在不同的领域内使用MATLAB来快速实现科研构想和提高工作效率。MATLAB提供了20类图像处理函数,涵盖了图像处理的包括近期研究成果在内的几乎所有的技术方法,是学习和研究图像处理的人员难得的宝贵资料和加工工具箱。这些函数按其功能可分为:图像显示;图像文件I/O;图像算术运算;几何变换;图像登记;像素值与统计;图像分析;图像增强;线性滤波;线性二元滤波设计;图像去模糊;图像变换;邻域与块处理;灰度与二值图像的形态学运算;结构元素创建与处理;基于边缘的处理;色彩映射表操作;色彩空间变换;图像类型与类型转换。Matlab的功能1)强大的科学计算机数据处理能力2)出色的图形处理功能3)应用广泛的模块集合工具箱4)实用的程序接口和发布平台Matlab的典型应用1)数据分析2)数值与符号计算;3)工程与科学绘图;4)控制系统设计;5)航天工业;6)汽车工业;7)生物医学工程;8)语音处理;9)图像与数字信号处理;10)财务、金融分析;11)建模、仿真及样机开发;12)新算法研究开发;13)图形用户界面设计。二 设计题目第7套题:Matlab应用课程设计71.求100,200之间第一个能被21整除的整数。2.绘制余弦曲线y=cos(x)和指数函数y=x2曲线。3.计算2+4+6.+100 的值,当和大于2000时终止计算。4.分析下面每条指令的功能并运行,观察执行结果。(1) X=0:0.25:3;Y=X.*exp(-X);plot(X,Y),xlabel(x),ylabel(y),title(y=x*exp(-x);(2) A=zeros(3,5)A(:)=-7:7L=abs(A)4islogical(L)X=A(L)(3) A=1:5;6:10pow2(A)(4) A=zeros(3,2)A(:)=1:6A=A*(1+i)A1=A.B1=A(5) A=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 无折扣 200price500 5折扣 500pricexx=1053.2题二2. 绘制余弦曲线y=cos(x)和指数函数y=x2曲线。分析:绘制曲线用plot函数。为了方便观察两个图像,应适当是指横纵坐标的大小,这需要用到axis(xmin xmax ymin ymax)函数。设置其x在(0.2*pi),y为(-3,3)较为合适。1) 程序代码x=0:pi/30:2*piy1=cos(x);y2=x.*x;plot(x,y1,-ro,x,y2)axis(0,2*pi,-3,-3)h=legend(cos_x,x.*x,2);2) 运行结果图3.1 y=cosx和y=x2曲线图3.3题三3.计算2+4+6+.+100的值,当和大于2000时终止计算。分析:由题意可知,该题是求偶数的和第一次大于2000时的值,因要设置累加后的值放在sum里面,用while循环,领m的初值为2步长为2,终值为100.1) 程序代码:sum=0;m=2;while sum4islogical(L)X=A(L)分析:A=zeros(3,5) 会产生一个3*5阶的全0矩阵A,A(:)=-7:7会将矩阵元素从-7到7依次赋值,L=abs(A)4会标记矩阵A中元素的绝对值大于4的元素,islogic(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 = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0A = -7 -4 -1 2 5 -6 -3 0 3 6 -5 -2 1 4 7L = 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1ans = 1X = -7 -6 -5 5 6 73.43(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 = 1 2 3 4 5 6 7 8 9 10ans = 2 4 8 16 32 64 128 256 512 10243.4.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 = 0 0 0 0 0 0A = 1 4 2 5 3 6A = 1.0000 + 1.0000i 4.0000 + 4.0000i 2.0000 + 2.0000i 5.0000 + 5.0000i 3.0000 + 3.0000i 6.0000 + 6.0000iA1 = 1.0000 + 1.0000i 2.0000 + 2.0000i 3.0000 + 3.0000i 4.0000 + 4.0000i 5.0000 + 5.0000i 6.0000 + 6.0000iB1 = 1.0000 - 1.0000i 2.0000 - 2.0000i 3.0000 - 3.0000i 4.0000 - 4.0000i 5.0000 - 5.0000i 6.0000 - 6.0000i3.4.5(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 = 1 1 1 1 1 1B = 1 1 1 1C = 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1D = 1 1 1 1E =1 0 0 0 1 0 0 0 1 0 0 00 1 0 0 0 1 0 0 0 1 0 00 0 1 0 0 0 1 0 0 0 1 00 0 0 1 0 0 0 1 0 0 0 13.5题五5.利用while,end循环结构编程求出1+3+5+101的值。分析:用while,end循环结构编程求1+3+5+101需要一个循环变量n和一个累加变量s,最终得到的s即为求和的值。1) 程序代码:s=0;n=1;while n3.6题六6.随机生成一个100003的矩阵,并绘制其柱状图。分析:生成随机矩阵需要用到函数rand(),绘制柱状图需要用到函数bar()。1) 程序代码:A=rand(10000,3);bar(A)2) 运行结果:图3.3 随机矩阵结果图3.7题七7. 利用switchcase编写以下程序:某商场对顾客所购买的商品实行打折销售,标准如下(商品价格用price来表示): price200 无折扣 200price500 5折扣 500price1000 10折扣 Price1000 15折扣输入所售商品的价格,求其实际销售价格。分析:用switch语句来编写,需要将价格的不同区间对应不同的数字,用fix函数将price/100的结果靠近0取整后,可以使用小于200对应情况为【0 1】,200到500对应情况为【2 3 4】,500到1000对应情况为【5 7 8 9 】。同时为避免用户输入负数这种不可能的价格情况,用while语句设置一个循环判断,是用户输入小于0的数字时提示其输入错误,需要重新输入,这样的话剩下的最后一种情况即为价格大于1000的情况,用otherwise语句编写。1) 程序代码:price=input(price);while price circle(1)s = 3.1416l = 6.28323.9题九9已知,其中t的范围是0 10,计算y的微分和积分并给出曲线图。分析:首先需要定义两个变量t和y,将所求函数用y=exp(-1)*cos(t)表示出来,求积分需要用到int()函数,求微分需要用到diff()函数,vpa函数用于控制精度,画图像用ezplot()函数比较简单,只需方程式就可画出图像。1) 程序代码:syms t y a b c d %定义变量t yy=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) 运行结果:y =828390857088487/2251799813685248*cos(t)c =-.20013418225944862880696669467031d =-.36787944117144233402427744294982*cos(t)图3.4 曲线图3.10题十10. 编写程序,用plot(x,y)绘制下图所示曲线。 图3.5 曲线图3.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);xlabel(x),ylabel(y);2)运行结果:图3.6 y=3*x+1图3.10.2分析:由图可知这是两个表达式的图像组成的图形,分别为y1=x+1和y2=-x+3,用plot()函数绘制其图形,但要注意的是画出第一个图形后需要用hold on语句将第一个图形锁住,再画第二个图形,否则第二个图形会将第一个图形覆盖,无法得出如题所示图形。1) 程序代码:x=0:0.1:1;y1=x+1;y2=-x+3;plot(x,y1),hold on,plot(x,y2);%画出y1和y2的两条曲线并同时显示2)运行结果:图3.7 y1=x+1和y2=-x+3的曲线图四 心得体会Matlab作为一款数学处理软件,其功能是非常强大的,通过对该软件的学习,我有学会了一种方法去解决比较纠结的数学问题。刚开始我是先找了一本Stephen J. Chapman著的MATLAB编程这本书,通过对这本书的学习,我对Matlab有了初步的了解,然后又在网上找了些视频,跟着学做了几次就开始自己做了,感觉只要是以认真学Matlab不是很难。首先,Matlab是针对矩阵

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论