专业基础实践第10套综合题课程设计_第1页
专业基础实践第10套综合题课程设计_第2页
专业基础实践第10套综合题课程设计_第3页
专业基础实践第10套综合题课程设计_第4页
专业基础实践第10套综合题课程设计_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

1、 专业基础实践课程设计任务书学生姓名:_范锐_专业班级: 电信 1203 班 指导教师: 桂林 工作单位: 信息工程学院 题 目: 专业基础实践第10套综合题初始条件:(1)提供实验室机房及其Matlab6.5以上版本软件; (2)MATLAB教程学习。要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求):(1)选择一本MATLAB教程,认真学习该教程的全部内容,包括基本使用方法、数组运算、矩阵运算、数学运算、程序设计、符号计算、图形绘制、GUI设计等内容;(2)对该套综合题的10道题,进行理论分析,针对具体设计部分的原理分析、建模、必要的推导和可行性分析,画出程序

2、设计框图,编写程序代码(含注释),上机调试运行程序,记录实验结果(含计算结果和图表)。(3)对实验结果进行分析和总结;(4)要求阅读相关参考文献不少于5篇;(5)根据课程设计有关规范,按时、独立完成课程设计说明书。时间安排: (1) 布置课程设计任务,查阅资料,学习MATLAB教程 十周; (2) 进行编程设计 一周; (3) 完成课程设计报告书 一周;指导教师签名: 年 月 日系主任(或责任教师)签名: 年 月 日 武汉理工大学专业基础实践课程设计说明书    目 录   1MATLAB概述.3 1.1MATLAB简介&#

3、160; .3 1.2 MATLAB的功能  .3 1.3MATLAB 的典型应用  . .52设计题目:MATLAB运算与应用设计 套题十 . .6设计内容 . . .73.1 题一   .7 3.2 题二   .8 3.3 题三   .10 3.4 题四   .11 3.5&

4、#160;题五   .15 3.6 题六   .16 3.7题七 .18 3.8 题八   .19 3.9 题九  .21 3.10题十 . .22 4 课程设计心得 .25 .5参考文献 .266 课程设计成绩评定表.27 1 MATLAB概述 1.1MATLAB简介 MATLAB软件由美国Mat

5、h Works公司于1984年推出,经过不断的发展和完善,如今己成为覆盖多个学科的国际公认的最优秀的数值计算仿真软件。MATLAB具备强大的数值计算能力,许多复杂的计算问题只需短短几行代码就可在MATLAB中实现。作为一个跨平台的软件,MATLAB已推出Unix、Windows、Linux和Mac等十多种操作系统下的版本,大大方便了在不同操作系统平台下的研究工作。 MATLAB软件具有很强的开放性和适应性。在保持内核不变的情况下,MATLAB可以针对不同的应用学科推出相应的工具箱(toolbox),目前己经推出了图象处理工具箱、信号处理工具箱、小波工具箱、神经网络工具箱以及

6、通信工具箱等多个学科的专用工具箱,极大地方便了不同学科的研究工作。国内已有越来越多的科研和技术人员认识到MATLAB的强大作用,并在不同的领域内使用MATLAB来快速实现科研构想和提高工作效率。 MATLAB提供了20类图像处理函数,涵盖了图像处理的包括近期研究成果在内的几乎所有的技术方法,是学习和研究图像处理的人员难得的宝贵资料和加工工具箱。这些函数按其功能可分为:图像显示;图像文件I/O;图像算术运算;几何变换;图像登记;像素值与统计;图像分析;图像增强;线性滤波;线性二元滤波设计;图像去模糊;图像变换;邻域与块处理;灰度与二值图像的形态学运算;结构元素创建与处理;基于边缘的处理

7、;色彩映射表操作;色彩空间变换;图像类型与类型转换。  1.2MATLAB的功能  (1)强大的科学计算机数据处理能力  MATLAB是一个包含大量计算算法的集合。其拥有600多个工程中要用到的数学运算函数,可以方便的实现用户所需的各种计算功能。函数中所使用的算法都是科研和工程计算中的最新研究成果,而前经过了各种优化和容错处理。在通常情况下,可以用它来代替底层编程语言,如C和C+ 。在计算要求相同的情况下,使用MATLAB的编程工作量会大大减少。MATLAB的这些函数集包括从最简单最基本的函数到诸如矩阵,特征向量、快速傅立叶变换的复杂

8、函数。函数所能解决的问题其大致包括矩阵运算和线性方程组的求解、微分方程及偏微分方程的组的求解、符号运算、傅立叶变换和数据的统计分析、工程中的优化问题、稀疏矩阵运算、复数的各种运算、三角函数和其他初等数学运算、多维数组操作以及建模动态仿真等。 (2)出色的图形处理功能  图形处理功能MATLAB自产生之日起就具有方便的数据可视化功能,以将向量和矩阵用图形表现出来,并且可以对图形进行标注和打印。高层次的作图包括二维和三维的可视化、图象处理、动画和表达式作图。可用于科学计算和工程绘图。新版本的MATLAB对整个图形处理功能作了很大的改进和完善,使它不仅在一般数据可视化软件都具有的

9、功能(例如二维曲线和三维曲面的绘制和处理等)方面更加完善,而且对于一些其他软件所没有的功能(例如图形的光照处理、色度处理以及四维数据的表现等),MATLAB同样表现了出色的处理能力。同时对一些特殊的可视化要求,例如图形对话等,MATLAB也有相应的功能函数,保证了用户不同层次的要求。另外新版本的MATLAB还着重在图形用户界面(GUI)的制作上作了很大的改善,对这方面有特殊要求的用户也可以得到满足。 (3)应用广泛的模块集合工具箱  MATLAB对许多专门的领域都开发了功能强大的模块集和工具箱。一般来说,它们都是由特定领域的专家开发的,用户可以直接使用工具箱学习、应用和评估

10、不同的方法而不需要自己编写代码。目前,MATLAB已经把工具箱延伸到了科学研究和工程应用的诸多领域,诸如数据采集、数据库接口、概率统计、样条拟合、优化算法、偏微分方程求解、神经网络、小波分析、信号处理、图像处理、系统辨识、控制系统设计、LMI控制、鲁棒控制、模型预测、模糊逻辑、金融分析、地图工具、非线性控制设计、实时快速原型及半物理仿真、嵌入式系统开发、定点仿真、DSP与通讯、电力系统仿真等,都在工具箱(Toolbox)家族中有了自己的一席之地。 (4)实用的程序接口和发布平台  新版本的MATLAB可以利用MATLAB编译器和C/C+数学库以及图形库,将自己的MATLAB

11、程序自动转换为独立于MATLAB运行的C和C+的代码。允许用户编写可以和MATLAB进行交互的C或C+语言程序。另外,MATLAB网页服务程序还容许在Web应用中使用自己的MATLAB数学和图形程序。MATLAB的一个重要特色就是具有一套程序扩展系统和一组称之为工具箱的特殊应用子程序。工具箱是MATLAB函数的子程序库,每一个工具箱都是为某一类学科专业和应用而定制的,主要包括信号处理、控制系统、神经网络、模糊逻辑、小波分析和系统仿真等方面的应用。 (5)应用软件开发(包括用户界面)  在开发环境中,使用户更方便地控制多个文件和图形窗口;在编程方面支持了函数嵌套,有条件中断等

12、;在图形化方面,有了更强大的图形标注和处理功能,包括对性对起连接注释等;在输入输出方面,可以直接向Excel和HDF5进行连接。  1.3MATLAB的典型应用 MATLAB的应用领域十分广阔,典型的应用举例如下: (1) 数据分析 (2)  数值与符号计算; (3) 工程与科学绘图; (4) 控制系统设计; (5)  航天工业; (6)  汽车工业;(7)   生物医学工程;(8) 语音处理; (9) &

13、#160;图像与数字信号处理;(10) 财务、金融分析; (11)  建模、仿真及样机开发;(12)  新算法研究开发; (13) 图形用户界面设计。设计题目:第10套题:专业基础实践课程设计101.有一组测量数据满足 ,t的变化范围为010,用不同的线型和标记点画出a=0.1、a=0.2和a=0.5三种情况下的曲线,并加入标题和图列框(用代码形式生成)。2. 当x和y的取值范围均为-2到2时,用建立子窗口的方法在同一个图形窗口中绘制出三维线图、网线图、表面图和带渲染效果的表面图。3. 求和。4.分析下面每条指令的功能并运行,观察执行

14、结果。a) X=0:0.7:10;Y=X.*exp(-X);plot(X,Y),xlabel(x), ylabel(y),title(y=x*exp(-x);b) A=zeros(1,10)A(:)=-3:6L=abs(A)>3islogical(L)X=A(L)(2) A=3:7;8:12pow2(A)(3) A=zeros(2,4)A(:)=1:8A=A*(1+i)A1=A.B1=A(4) A=ones(2,3)B=ones(2)C=eye(4)D=diag(C)E=repmat(C,1,3)5. 设, 求A的逆、特征值和特征向量;验证Ax=x。6.求解线性方程组的通解。7.试用ma

15、tlab求函数的极值,初值为。8. 求积分,并且画出所求的平面区域。9. 用matlab编写一个判断某一年是否为闰年的程序。10. 设x+2y=1, 2x+3y=6, y=2x2, 画出各个方程图形,求出曲线交点.设计内容:第一题.: 有一组测量数据满足 ,t的变化范围为010,用不同的线型和标记点画出a=0.1、a=0.2和a=0.5三种情况下的曲线,并加入标题和图列框(用代码形式生成)。分析:(1)先对t的范围定义在0到10以内,增值为1,既 t=0:10;设置在不同的a时对应的y值y1=exp(-0.1)*t),y2=exp(-0.2)*t),y3=exp(-0.1)*t)。 (2)利用

16、plot函数做二维图,并用plot(t,y1,t,y2,t,y3)命令格式使三条曲线绘制在一张图中。 (3)添加标题title(plot(t,y), 横纵轴标志xlabel(t),ylabel(text), 标注不同a值时的曲线gtext(a=-0.1),用鼠标拖动到相应位置程序如下: format compact % 紧凑格式 t=0:10; % 定义t的范围,增量,生成自变量 y1=exp(-0.1)*t); y2=exp(-0.2)*t); % 定义y1,y2,y3的表达式,形成因变量 y3=exp(-0.5)*t);plot(t,y1,'.m',t,y2,'-c

17、',t,y3,':b') % 画二维曲线 xlabel('t'),gtext('a=-0.1'),gtext('a=-0.2'),gtext('a=-0.5'),title('plot(t,y)') % 添加标志运行结果: (图3-1)第二题: 当x和y的取值范围均为-2到2时,用建立子窗口的方法在同一个图形窗口中绘制出三维线图、网线图、表面图和带渲染效果的表面图。分析:(1)在MATLAB中,利用meshgrid函数产生平面区域内的网格坐标矩阵。其格式为x,y=meshdrid(-2:0.

18、2:2) , 并定义因变量z的表达式,产生三维数据。 (2)绘制三维曲线图用plot3函数,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对应列元素绘制三维曲线,曲线条数等于矩阵列数。 (3)surf函数和mesh函数的调用格式为: mesh(x,y,z,c):画网格曲面,将

19、数据点在空间中描出,并连成网格. surf(x,y,z,c):画完整曲面,将数据点所表示曲面画出。 程序如下:x,y=meshgrid(-2:0.2:2); % 定义x,y的范围及增值z=x.*exp(-x.2-y.2); % 确定因变量的表达式subplot(2,2,1),plot3(x,y,z,'-k') % 定义子窗图个数,绘制三维曲线title('三维线图') % 注明标题subplot(2,2,2),mesh(z) % 绘制网线图title('网线图')subplot(2,2,3),surf(x,y,z) % 绘制表面图tit

20、le('表面图')subplot(2,2,4),surf(x,y,z),shading interp % 带渲染效果的表面图title('渲染效果的表面图')运行结果: (图3-2)第三题:求和。分析:(1)这道题使用两次循环,选用for循环来解题,for循环的相关结构如下  : for语句格式为:for 循环变量=表达式1:表达式2:表达式3          循环体语句    &#

21、160; end  其中表达式1的值为循环变量的初值,表达式2的值为步长,表达式3的值为循环变量的终值。步长为1时,表达式2可以省略。 程序如下:sum=0; % 定义sum,并赋予初值0for i=1:10 % 第一个for循环,求和t=1; for j=1:i %第二个for循环,求阶乘t=t*j; % 求阶乘endsum=sum+1/a; % 求和 enddisp('sum='),disp(sum) % 输出sum 结果如下: (图3-3)第四题:分析下面每条指令的功能并运行,观察执行结果。 X=0:0.7:10; Y=X.*exp(-X);

22、 plot(X,Y),xlabel(x), ylabel(y),title(y=x*exp(-x); A=zeros(1,10) A(:)=-3:6L=abs(A)>3islogical(L)X=A(L) A=3:7;8:12pow2(A) A=zeros(2,4)A(:)=1:8A=A*(1+i)A1=A.B1=A A=ones(2,3)B=ones(2)C=eye(4)D=diag(C)E=repmat(C,1,3)分析: X=0:0.7:10; % 定义X的范围及变化的z增量 Y=X.*exp(-X); %定义Y值 的表达式 plot(X,Y),xlabel(x), ylabel(

23、y),title(y=x*exp(-x); % 绘制X关于Y的曲线图,并设置横纵轴标志和标题 运行结果: (图3-4)(2) A=zeros(1,10) % 产生一个1行10列的零矩阵 A(:)=-3:6 % A从-3到6(增值为1)赋值 L=abs(A)>3 %判断其绝对值是否大于3,若是值为1,否则为0 islogical(L) % 判断L是否为逻辑数组,若是值为1,否则为0 X=A(L) % X为逻辑数组L对应为1的位置的数据是列向量 运行结果: (图3-5) (3) A=3:7;8:12 %创建一个2×5的矩阵,其值大小从3至12依次递增pow2(A) %将矩阵A中的每

24、个值都变为2x,x为矩阵中的每个值运行结果: (图3-6)(4) A=zeros(2,4) % 创建一个2×4的零矩阵A(:)=1:8 % 将A矩阵赋值,依次从1到8A=A*(1+i) % 将A*(1+i)的值赋给AA1=A. % A行列转置后赋给A1B1=A % 将A转置后再取其共轭复数将其赋给B1运行结果: (图3-7)(5) A=ones(2,3) % 产生一个2×3的全1矩阵B=ones(2) % 产生一个二阶的全1方阵C=eye(4) % 产生一个四阶的单位矩阵D=diag(C) % 取C矩阵主对角线上的元素构成向量DE=repmat(C,1,3) % 将矩阵复制

25、1×3块,构成新的矩阵E 运行结果: (图3-8)第五题:设, 求A的逆、特征值和特征向量;验证Ax=x。分析:(1)利用inv(A)求逆矩阵 (2)利用e,r=eig(A) 求特征值和特征向量 (3)通过比较e*A和e*r的大小验证程序如下: format compact A=2 3 4;5 7 6;1 3 8 % 定义矩阵并赋值 inv(A),e,r=eig(A) %求逆矩阵,特征值和特征向量 a=A*e,b=e*r % 验证运行结果: (图3-9)第六题:求解线性方程组的通解。分析(1)首先我们需要用A,B两个矩阵来表示未知数系数矩阵和常数矩阵,然后求出一组特解和通解的系数,再

26、进行处理,组合得到方程组的通解,方法法如下: A=;    %输入方程组的系数矩阵 B=;    %输入常数项矩阵 format rat x1=AB            x0=AB %求得非齐次方程组Ax=B的一个特解x0    xx=null(A) %求得齐次方程组Ax=0 的基础解系xx 则方

27、程组Ax=B的通解为:  x=x0+k1*Y(:,1)+k2*Y(:,2)+程序如下:A=1 1 -3 -1;3 -1 -3 4;1 5 -9 -8,B=1 4 0' % 输入系数矩阵,常数项矩阵,x0=AB,xx=null(A) % 求出特解和基础解系运行结果: (图4-1) 由x0和xx就可得x的通解。第七题:试用matlab求函数的极值,初值为。分析:本题是一个三元函数的题,考虑用fminsearch函数求函数最小值并转向求函数最大值,其具体用法如下: 求极(或最)小值点或极(或最)小值的调用格式是:x,fval=fminsearch(f,x0)&#

28、160;f是被最小化的目标函数名x0是求解的初始值向量程序如下:Xmin,fmin=fminsearch('x(1)2+sin(x(2)-x(3)*x(3)*x(2)*x(2)',-0.3,-1.1,0.15) Xmax,Fmin=fminsearch('-x(1)2-sin(x(2)+x(3)*x(3)*x(2)*x(2)',-0.3,-1.1,0.15) fmax=-Fmin; Xmin,fminXmax,fmax 运行结果: (图4-2) 第八题:求积分,并且画出所求的平面区域。分析:(1)选择用积分函数int(m,n,k)来计算 (2)绘制所求平面区域利

29、用二维曲线函数plot(x,y)实现(之前定义x的变化量和增量,利用linspace函数) 程序如下:x=sym('x'); % 定义变量xy=1./sqrt(x.5+1) % 定义因变量y的表达式 s=int(y,1,3) % 求积分x=linspace(1,3) % 确定x的变化范围和增量y=1./sqrt(x.5+1) plot(x,y) %绘制二维曲线图 运行结果: (图4-3) (图4-4)第九题:用matlab编写一个判断某一年是否为闰年的程序。 分析:利用if语句,判断的依据是除以4的余数为零且除以100的余数不为零,或者除以400的余数为零。求余数利用rem(m,n)函数。 程序如下: n=input('n=') if (rem(n,4)=0&&rem(n,100)=0)|rem(n,400)=0 A='闰年' else A='平年' end 运行结果: (图4-5)第十题:设x+2y=1, 2x+3y=6, y=2x2, 画出各个方程图形,求出曲线交点.分析:(1)反解成每个式子用x表示y的形式 (2)定义x的变换范围及增量 (3)利用plot函数绘制二维曲线图 ,使用plot(x,y1,xy2,x,y3

温馨提示

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

评论

0/150

提交评论