武汉理工Matlab课设第七套.doc_第1页
武汉理工Matlab课设第七套.doc_第2页
武汉理工Matlab课设第七套.doc_第3页
武汉理工Matlab课设第七套.doc_第4页
武汉理工Matlab课设第七套.doc_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

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

文档简介

28武汉理工大学Matlab应用课程设计课程设计说明书课程设计任务书学生姓名: 金肇威 专业班级: 电信1106班 指导教师:李景松 阙大顺 工作单位:信息工程学院 题目: Matlab运算与二阶动态电路分析 初始条件:1. MATLAB7.0以上版本软件;2. 课程设计辅导资料:“MATLAB语言基础及使用入门”、“MATLAB及在电子信息课程中的应用”等;3. 先修课程:高等数学、线性代数、电路、Matlab应用实践及信号处理类相关课程等。要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)1. 课程设计时间:1.5周,分散;2. 课程设计内容:根据指导老师给定的7套题目,按规定选择其中1套完成;3. 本课程设计统一技术要求:研读辅导资料对应章节,对选定的设计题目进行理论分析,针对具体设计部分的原理分析、建模、必要的推导和可行性分析,画出程序设计框图,编写程序代码(含注释),上机调试运行程序,记录实验结果(含计算结果和图表),并对实验结果进行分析和总结。具体设计要求包括: 初步了解MATLAB、熟悉MATLAB界面、进行简单操作; MATLAB的数值计算:创建矩阵、矩阵运算、多项式运算、线性方程组、数值统计; 基本绘图函数:plot, plot3, mesh, surf等,要求掌握以上绘图函数的用法、简单图形标注、简单颜色设定等; 使用文本编辑器编辑m文件,函数调用; 能进行简单的信号处理MATLAB编程; 按要求参加课程设计实验演示和答辩等。4. 课程设计说明书按学校“课程设计工作规范”中的“统一书写格式”撰写,具体包括: 目录; 与设计题目相关的理论分析、归纳和总结; 与设计内容相关的原理分析、建模、推导、可行性分析; 程序设计框图、程序代码(含注释)、程序运行结果和图表、实验结果分析和总结; 课程设计的心得体会(至少500字); 参考文献(不少于5篇); 其它必要内容等。时间安排:1.5周(分散进行)参考文献:1 (美)穆尔,高会生,刘童娜,李聪聪MATLAB实用教程(第二版) . 电子工业出版社,2010.2 王正林,刘明精通MATLAB(升级版) .电子工业出版社,2011.3 陈杰 . MATLAB宝典(第3版) . 电子工业出版社,2011.4 刘保柱,苏彦华,张宏林 . MATLAB 7.0从入门到精通(修订版) . 人民邮电出版社,2010.指导教师签名: 年 月 日系主任(或责任教师)签名: 年 月 日 目 录 1MATLAB概述.11.1MATLAB简介 .11.2 MATLAB的功能 .11.3MATLAB 的典型应用 .32设计题目:MATLAB运算与应用设计 套题七 .43设计内容 .63.1 题一 .63.2 题二 .73.3 题三 .83.4 题四 .83.5 题五 .143.6 题六 .153.7题七 .163.8 题八 .173.9 题九 .183.10题十 .203.11 题十一.214 课程设计心得 .255参考文献 .266 本科生课程设计成绩评定表 .2728 摘要: 报告分为四部分。第一部分主要介绍Matlab的基本知识、功能及应用。第二部分分为十一道题目,涉及Matlab各个知识点,有详细的分析,程序及结果。第三部分是关于本次课程设计的自我总结和心得体会。第四部分是课程设计和制作报告期间阅读的相关文献。 1 MATLAB概述1.1MATLAB简介MATLAB软件由美国Math Works公司于1984年推出,经过不断的发展和完善,如今己成为覆盖多个学科的国际公认的最优秀的数值计算仿真软件。MATLAB具备强大的数值计算能力,许多复杂的计算问题只需短短几行代码就可在MATLAB中实现。作为一个跨平台的软件,MATLAB已推出Unix、Windows、Linux和Mac等十多种操作系统下的版本,大大方便了在不同操作系统平台下的研究工作。MATLAB软件具有很强的开放性和适应性。在保持内核不变的情况下,MATLAB可以针对不同的应用学科推出相应的工具箱(toolbox),目前己经推出了图象处理工具箱、信号处理工具箱、小波工具箱、神经网络工具箱以及通信工具箱等多个学科的专用工具箱,极大地方便了不同学科的研究工作。国内已有越来越多的科研和技术人员认识到MATLAB的强大作用,并在不同的领域内使用MATLAB来快速实现科研构想和提高工作效率。MATLAB提供了20类图像处理函数,涵盖了图像处理的包括近期研究成果在内的几乎所有的技术方法,是学习和研究图像处理的人员难得的宝贵资料和加工工具箱。这些函数按其功能可分为:图像显示;图像文件I/O;图像算术运算;几何变换;图像登记;像素值与统计;图像分析;图像增强;线性滤波;线性二元滤波设计;图像去模糊;图像变换;邻域与块处理;灰度与二值图像的形态学运算;结构元素创建与处理;基于边缘的处理;色彩映射表操作;色彩空间变换;图像类型与类型转换。1.2MATLAB的功能 (1)强大的科学计算机数据处理能力MATLAB是一个包含大量计算算法的集合。其拥有600多个工程中要用到的数学运算函数,可以方便的实现用户所需的各种计算功能。函数中所使用的算法都是科研和工程计算中的最新研究成果,而前经过了各种优化和容错处理。在通常情况下,可以用它来代替底层编程语言,如C和C+ 。在计算要求相同的情况下,使用MATLAB的编程工作量会大大减少。MATLAB的这些函数集包括从最简单最基本的函数到诸如矩阵,特征向量、快速傅立叶变换的复杂函数。函数所能解决的问题其大致包括矩阵运算和线性方程组的求解、微分方程及偏微分方程的组的求解、符号运算、傅立叶变换和数据的统计分析、工程中的优化问题、稀疏矩阵运算、复数的各种运算、三角函数和其他初等数学运算、多维数组操作以及建模动态仿真等。(2)出色的图形处理功能图形处理功能MATLAB自产生之日起就具有方便的数据可视化功能,以将向量和矩阵用图形表现出来,并且可以对图形进行标注和打印。高层次的作图包括二维和三维的可视化、图象处理、动画和表达式作图。可用于科学计算和工程绘图。新版本的MATLAB对整个图形处理功能作了很大的改进和完善,使它不仅在一般数据可视化软件都具有的功能(例如二维曲线和三维曲面的绘制和处理等)方面更加完善,而且对于一些其他软件所没有的功能(例如图形的光照处理、色度处理以及四维数据的表现等),MATLAB同样表现了出色的处理能力。同时对一些特殊的可视化要求,例如图形对话等,MATLAB也有相应的功能函数,保证了用户不同层次的要求。另外新版本的MATLAB还着重在图形用户界面(GUI)的制作上作了很大的改善,对这方面有特殊要求的用户也可以得到满足。(3)应用广泛的模块集合工具箱MATLAB对许多专门的领域都开发了功能强大的模块集和工具箱。一般来说,它们都是由特定领域的专家开发的,用户可以直接使用工具箱学习、应用和评估不同的方法而不需要自己编写代码。目前,MATLAB已经把工具箱延伸到了科学研究和工程应用的诸多领域,诸如数据采集、数据库接口、概率统计、样条拟合、优化算法、偏微分方程求解、神经网络、小波分析、信号处理、图像处理、系统辨识、控制系统设计、LMI控制、鲁棒控制、模型预测、模糊逻辑、金融分析、地图工具、非线性控制设计、实时快速原型及半物理仿真、嵌入式系统开发、定点仿真、DSP与通讯、电力系统仿真等,都在工具箱(Toolbox)家族中有了自己的一席之地。(4)实用的程序接口和发布平台新版本的MATLAB可以利用MATLAB编译器和C/C+数学库以及图形库,将自己的MATLAB程序自动转换为独立于MATLAB运行的C和C+的代码。允许用户编写可以和MATLAB进行交互的C或C+语言程序。另外,MATLAB网页服务程序还容许在Web应用中使用自己的MATLAB数学和图形程序。MATLAB的一个重要特色就是具有一套程序扩展系统和一组称之为工具箱的特殊应用子程序。工具箱是MATLAB函数的子程序库,每一个工具箱都是为某一类学科专业和应用而定制的,主要包括信号处理、控制系统、神经网络、模糊逻辑、小波分析和系统仿真等方面的应用。(5)应用软件开发(包括用户界面)在开发环境中,使用户更方便地控制多个文件和图形窗口;在编程方面支持了函数嵌套,有条件中断等;在图形化方面,有了更强大的图形标注和处理功能,包括对性对起连接注释等;在输入输出方面,可以直接向Excel和HDF5进行连接。1.3MATLAB的典型应用MATLAB的应用领域十分广阔,典型的应用举例如下:(1) 数据分析(2) 数值与符号计算;(3) 工程与科学绘图;(4) 控制系统设计;(5) 航天工业;(6) 汽车工业;(7) 生物医学工程;(8) 语音处理;(9) 图像与数字信号处理;(10) 财务、金融分析;(11) 建模、仿真及样机开发;(12) 新算法研究开发;(13) 图形用户界面设计。 2 设计题目Matlab运算与二阶动态电路分析1 求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(:)=-4:5L=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折扣 500price for n=100:200 % 控制n从100开始以1为步长出个取值至200;if rem(n,21)=0 % 判断条件:整数对21取余不等于0continue % 结束本次循环,开始下一次循环end % i f语句结束标志break % 跳出循环体执行下面的语句end n % 提示输出nn = 1053.1.3程序流程100-nnn=n+1rem(n,21)=0YN 图1-1 题1流程图3.1.4 实验结果进行分析和总结: 利用for语句逐个去值,然后通过if语对rem(n,21)=0进行判断满足条件时,循环继续。不满足时,结束循环。输出n的值为 1053.2题二.绘制余弦曲线y=cos(x)和指数函数y=x2曲线。 3.2.1分析:在matlab中绘制函数图像有很多的函数可以完成。如:fplot 函数plot函数等,不同的函数使用规则是有区别的,合理使用任何一个画图函数得到预期的结果。3.2.2程序编码: x=0:pi/100:4*pi;y=cos(x);plot(x,y) x=0:0.01:4;y=x.2;plot(x,y) 3.2.3 函数图像如(图2-1): y=cos(x) y=x2 图2-1题2结果截图 3.2.4实验结果分析和总结: Plot函数的基本调运格式为:plot(x,y)其中x,y为向量,可存储x坐标和y坐标数据。3.3题三.计算2+4+6.+100的值,当和大于2000时终止计算。3.3.1分析:利用for循环语句来的到累加的效果,并利用while语句控制和大于2000时终止计算。3.3.2 程序编码: y=0; n=100; for i=2:2:100y=y+i;if y2000break;endend yy = 20703.3.3实验结果分析和总结: 利用for语句使i从2到100逐个取值,利用y=y+i语句实现累加,利用if y2000 语句最终达到题目要求,求得y=2070。3.4题四.分析下面每条指令的功能并运行,观察执行结果。3.4.1 x=0:0.25:3; y=x.*exp(-x); plot(x,y),label(x), label(y),title(y=x*exp(-x);3.4.1.1 分析:X=0:0.25:3;得到以0.25为步长,取得0到3内的所有实数,确定自变量X的范围。利用plot函数画出函数Y的图像,并设置图像的一些基本性质。3.4.1.2 程序编码: x=0:0.25:3; y=x.*exp(-x); plot(x,y),xlabel(x), ylabel(y),title(y=x*exp(-x); 图4-1 y=x*exp(-x)3.4.2 A=zeros(2,5)A(:)=-4:5L=abs(A)4islogical(L)X=A(L)3.4.2.1 分析:zeros函数建立一个2*5全0矩阵赋给A,在将-4到5内的整数赋给A,形成新的矩阵。L=abs(A)4,获得新的矩阵L,通过逻辑函数islogical得到新的矩阵赋给X。3.4.2.2 程序编码及其输出结果: 输入: A=zeros(2,5) 输出: A = 0 0 0 0 0 0 0 0 0 0 输入: A(:)=-4:5 输出: A = -4 -2 0 2 4 -3 -1 1 3 5 输入: L=abs(A)4 输出: L = 0 0 0 0 0 0 0 0 0 1 输入: islogical(L) 输出: ans = 1 输入: X=A(L) 输出: X = 53.4.3 A=1:5;6:10pow2(A)3.4.3.1 分析:pow2函数的使用。3.4.3.2 程序编码: 输入: A=1:5;6:10 输出: A = 1 2 3 4 5 6 7 8 9 10 输入: pow2(A) 输出: ans = 2 4 8 16 32 64 128 256 512 10243.4.4 A=zeros(3,2) A(:)=1:6 A=A*(1+i) A1=A.; B1=A;3.4.4.1 程序代码分析:A=zeros(3,2) %生成一个3行2列的全0 矩阵A(:)=1:6 %将A从新赋值A=A*(1+i) %将A中的每个元素进行运算A1=A. %求A的转置矩阵B1=A %求A的共轭转置矩阵3.4.4.3 程序运行结果: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 A=ones(2,3) B=ones(2) C=eye(4) D=drag(C) E=repeat(C,1,3)3.4.5.1分析:ones函数以及eye,drag,repmat函数的使用。3.4.5.2 程序编码:A = ones(2,3) %生成一个23的全为1的矩阵B = ones(2) %生成一个22的全为1的方阵C = eye(4) %生成一个4阶单位矩阵D = diag(C) %取C矩阵中的对角元素作为列向量E = repmat(C,1,3) %将C矩阵复制为13块的矩阵3.4.5.3 程序运行结果 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 1 D = 1 1 1 1 E =1 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 13.5题五.利用whileend循环结构编程求出1+3+5+101的值。3.5.1 分析:while语句 while语句的一般格式为: while (条件) 循环体语句 end 其执行过程为:若条件成立,则执行循环体语句,执行后再判断条件是否成立,如果不成立则跳出循环。3.5.2 程序编码: sum=0; i=1; while i sum3.5.3 程序流程图 如(图5-1)While i101i=i+2sum 图5-1题5流程图3.6题六.随机生成一个100003的矩阵,并绘制其柱状图。3.6.1 分析:利用rand函数生成这个矩阵。3.6.2 程序编码: a=rand(10000,3); bar(a)3.6.3 函数图像 如(图6-1) 图6-1 题6矩阵柱状图 3.7题七.利用switchcase编写以下程序:某商场对顾客所购买的商品实行打折销售,标准如下(商品价格用price来表示): price200 无折扣 200price500 5折扣 500price sl(0.5); sl(5);3.8.4 输出结果:s = 0.7854l = 3.1416s = 78.5398l = 31.41593.9题九.已知,其中t的范围是0 ,10,计算y的微分和积分并给出曲线图。3.9.1 分析:分别利用diff,以及int函数求的函数的微分和积分,利用ezplot画图函数得到函数的图像。注意此处e(-1),用exp(-1)表示。3.9.2 程序编码: syms t y y=exp(-1)*cos(t); int(y,0,10) 输出结果:ans = (828390857088487*sin(10)/2251799813685248 pretty(ans) 输出结果: 828390857088487 sin(10) - 2251799813685248 diff(y,0,10)输出结果:ans = -(828390857088487*cos(t)/2251799813685248 pretty(ans) 输出结果:828390857088487 cos(t) - - 2251799813685248 ezplot(y,0,10) 2.9.3函数图像如(图9-1): 图9-1 题9曲线图 3.10题十.编写程序,用plot(x,y)绘制下图所示曲线。3.10.1 分析:观察第一个函数图像可以得到函数解析式为,y=3*x+1,x的范围为:0=x x=0:0.001:5; y=3*x+1; plot(x,y),ylabel(y),xlabel(x)3.10.3 图像如下如(图10-1): 图10-1 y=3*x+1 3.10.4程序编码: x=0:0.1:1; y1=-x+3; y2=x+1; plot(x,y1),xlabel(x),ylabel(y); hold on plot(x,y2)3.10.5 函数图像如(图2-8): 图2-8 y1=-x+3; y2=x+1;3.11题十一.在如图所示的二阶电路中,R=1k,,电容原先已充电。且。在t=0时开关S闭合。试求,绘出各曲线图;开关S闭合后的为多大? 3.11.1 分析: 由电路图及已知条件展开理论分析,当t0时,电路接通。此时电路的微分方程为: 初始条件为: 设Uc对时间的一阶导数为p,则可得微分方程的特征方程: 由求根公式得其根为: 又由已知条件可知,当时,特征根、是一对共轭复数,即 (1)其中:称之为振荡电路的衰减系数;称之为振荡电路的衰减角频率。称之为无阻尼自由振荡角频率,或浮振角频率。显然有,令,则有,如图2所示。图2 之间的关系根据欧拉公式 (2)可得 , 所以有 = = = (3)根据式(5-40),(5-41)可知 (4) (5) 3.11.2 程序编码: R=1000;C=0.000002;L=2.5; %输入元件 uco=10;ilO=0; %初始电路状态 delta=R/2/L;wo=sqrt(1/L/C); w=sqrt(wo2-delta2); imax=uco*exp(-delta*asin(w/wo)/w)/wo/L;t=0:0.01:0.1; %设定时间数组uc=wo*uco*exp(-delta*t).*sin(w*t+asin(w/wo)/w; %计算电容电压il=uco*exp(-delta*t).*sin(w*t)/w/L; %计算电流ul=-wo*uco*exp(-delta*t).*sin(w*t-asin(w/wo)/w; %计算电感电压plot(t,uc,-,t,il,-.,t,ul,-.),grid %绘制uc-t、il-t和ul-t图像title(欠阻尼),legend(uc,il,ul) %设置标题及图示imax输出结果:imax =0.00513.11.3 函数图像如图11.1 图11.1 RLC二阶串联电路零输入响应 4 课程设计心得 在这次的Matlab学习过程中,我不仅学到了许多知识也体会到了“纸上得来终觉浅,绝知此事要躬行”这句话。最开始学的时候,我选择去图书馆借了一些书,却没有在电脑上使用Matlab软件,结果发现许多语句并没弄懂,而且常常失去了兴趣而昏昏欲睡。后来,在同学建议下在电脑上安装了Matlab软件,然后熟悉了一下Matlab软件的一些操作和它的界面后,对Matlab如何使用有了初步的了解。于是,我便在上面输入了一些书本上的程序,并且逐渐体会到Matlab那强大的功能。Matlab强大功能之一在于它对矩阵

温馨提示

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

评论

0/150

提交评论