专业基础实践课程设计任务书学生姓名:专业班级:电信1203班指导教师:桂林工作单位:信息工程学院题目: 专业基础实践第2套综合题初始条件:(1)提供实验室机房及其Matlab6.5以上版本软件;(2)《MATLAB教程》学习。
要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求):(1)选择一本《MATLAB教程》,认真学习该教程的全部内容,包括基本使用方法、数组运算、矩阵运算、数学运算、程序设计、符号计算、图形绘制、GUI设计等内容;(2)对该套综合题的10道题,进行理论分析,针对具体设计部分的原理分析、建模、必要的推导和可行性分析,画出程序设计框图,编写程序代码(含注释),上机调试运行程序,记录实验结果(含计算结果和图表)。
(3)对实验结果进行分析和总结;(4)要求阅读相关参考文献不少于5篇;(5)根据课程设计有关规范,按时、独立完成课程设计说明书。
时间安排:(1) 布置课程设计任务,查阅资料,学习《MATLAB教程》十周;(2) 进行编程设计一周;(3) 完成课程设计报告书一周;指导教师签名: 年月日系主任(或责任教师)签名: 年月日目录1 MATLAB概述……………………………………………………………………1.1.1MATLAB简介 (1)1.2MATLAB功能 (2)1.3MATLAB的典型应用 (3)2 第2套题目:专业基础实践课程设计2 (3)题一 (5)题二 (5)题三 (6)题四 (7)题五 (11)题六 (12)题七 (13)题八 (14)题九 (15)题十 (16)3 课程设计心得 (17)4参考文献 (18)5 本科生课程设计成绩评定表 (19)摘要MATLAB软件由美国Math Works公司于1984年推出,经过不断的发展和完善,如今己成为覆盖多个学科的国际公认的最优秀的数值计算仿真软件。
MATLAB 具备强大的数值计算能力,许多复杂的计算问题只需短短几行代码就可在MATLAB中实现。
作为一个跨平台的软件,MATLAB已推出Unix、Windows、Linux 和Mac等十多种操作系统下的版本,大大方便了在不同操作系统平台下的研究工作。
MATLAB是一个包含大量计算算法的集合。
其拥有600多个工程中要用到的数学运算函数,可以方便的实现用户所需的各种计算功能。
图形处理功能MATLAB自产生之日起就具有方便的数据可视化功能,以将向量和矩阵用图形表现出来,并且可以对图形进行标注和打印。
高层次的作图包括二维和三维的可视化、图象处理、动画和表达式作图。
可用于科学计算和工程绘图。
MATLAB的应用领域十分广阔,可应用于数据分析、数值与符号计算、控制系统设计、航天工业、汽车工业、生物医学工程、语音处理、图像与数字信号处理、财务、金融分析、建模、仿真及样机开发、新算法研究开发、图形用户界面设计等领域。
关键字:数据处理图形处理广泛应用Matlab程序简介1.1MATLAB简介MATLAB软件由美国Math Works公司于1984年推出,经过不断的发展和完善,如今己成为覆盖多个学科的国际公认的最优秀的数值计算仿真软件。
MATLAB 具备强大的数值计算能力,许多复杂的计算问题只需短短几行代码就可在MATLAB中实现。
作为一个跨平台的软件,MATLAB已推出Unix、Windows、Linux 和Mac等十多种操作系统下的版本,大大方便了在不同操作系统平台下的研究工作。
MATLAB提供了20类图像处理函数,涵盖了图像处理的包括近期研究成果在内的几乎所有的技术方法,是学习和研究图像处理的人员难得的宝贵资料和加工工具箱。
1.2MATLAB的功能(1)强大的科学计算机数据处理能力MATLAB是一个包含大量计算算法的集合。
其拥有600多个工程中要用到的数学运算函数,可以方便的实现用户所需的各种计算功能。
函数中所使用的算法都是科研和工程计算中的最新研究成果,而前经过了各种优化和容错处理。
在通常情况下,可以用它来代替底层编程语言,如C和C++ 。
在计算要求相同的情况下,使用MATLAB的编程工作量会大大减少(2)出色的图形处理功能图形处理功能MATLAB自产生之日起就具有方便的数据可视化功能,以将向量和矩阵用图形表现出来,并且可以对图形进行标注和打印。
高层次的作图包括二维和三维的可视化、图象处理、动画和表达式作图。
可用于科学计算和工程绘图。
新版本的MATLAB对整个图形处理功能作了很大的改进和完善,使它不仅在一般数据可视化软件都具有的功能(例如二维曲线和三维曲面的绘制和处理等)方面更加完善,而且对于一些其他软件所没有的功能(例如图形的光照处理、色度处理以及四维数据的表现等),MATLAB同样表现了出色的处理能力。
同时对一些特殊的可视化要求,例如图形对话等,MATLAB也有相应的功能函数,保证了用户不同层次的要求。
(3)应用广泛的模块集合工具箱MATLAB对许多专门的领域都开发了功能强大的模块集和工具箱。
一般来说,它们都是由特定领域的专家开发的,用户可以直接使用工具箱学习、应用和评估不同的方法而不需要自己编写代码。
目前,MATLAB已经把工具箱延伸到了科学研究和工程应用的诸多领域,诸如数据采集、数据库接口、概率统计、样条拟合、优化算法、偏微分方程求解、神经网络、小波分析、信号处理、图像处理、系统辨识、控制系统设计、LMI控制、鲁棒控制、模型预测、模糊逻辑、金融分析、地图工具、非线性控制设计、实时快速原型及半物理仿真、嵌入式系统开发、定点仿真、DSP与通讯、电力系统仿真等,都在工具箱(Toolbox)家族中有了自己的一席之地。
1.3MATLAB 的典型应用MATLAB 的应用领域十分广阔,典型的应用举例如下:(1) 数据分析(2) 数值与符号计算;(3) 工程与科学绘图;(4) 控制系统设计;(5) 航天工业;(6) 汽车工业;(7) 生物医学工程;(8) 语音处理;(9) 图像与数字信号处理;(10) 财务、金融分析;(11) 建模、仿真及样机开发;(12) 新算法研究开发;第2套题目:专业基础实践课程设计21.计算y1=61)5.0sin(2+π和y2=71)5.0cos(3+π;2.画出衰减震荡曲线)5/cos()3(t e y t -=及其他的包络线)3(0t e y -=,t 的取值范围是[0,6π].3.画出222222cos y x y x z ++=所表示的三维曲面。
x,y 的取值范围是[-9, 9]。
4.分析下面每条指令的功能并运行,观察执行结果。
(1) X=0:0.2:2;Y=X.*exp(-X);plot(X,Y),xlabel(‘x ’),ylabel(‘y ’),title(‘y=x*exp(-x)’);(2) A=zeros(3,4)A(:)=-4:7L=abs(A)>3islogical(L)X=A(L)(3) A=randn(2,5)B=[1:5;6:10]A*B ’(4) A=zeros(3,5)A(:)=1:15A=A*(1+i)A1=A.’;B1=A ’;(5) A=ones(3,4)B=magic(2)C=eye(4)D=diag(C)E=repmat(C,1,3)5.计算901.035-+=x x y 在x=0.1与10处的值。
6.求函数222131211n++++Λ, n =100的值。
7.求1000个元素的随机数向量A 中大于0.5的元素个数。
8.求线性方程组AX=b 的根。
⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡=4058.05864.08395.00739.08420.09445.06341.04226.00500.07192.06278.03575.07315.03734.05146.04631.01812.05662.03650.03206.03690.02730.02024.02319.04156.0A , ⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡=4642.07483.05759.03449.00305.0b 9.画出y=|1000sin(4x)|+1的y 轴为对数图。
题1.计算y1=61)5.0sin(2+π和y2=71)5.0cos(3+π;分析,直接在命令窗内输入代码即可,代码和结果如下:题2画出衰减震荡曲线)5/cos()3(t e y t -=及其他的包络线)3(0t e y -=,t 的取值范围是[0,6π].分析:先声明t 的范围,再写出y 与t 的函数关系式。
代码如下:得出的图像如下:题3画出222 222cosyx yx z++=所表示的三维曲面。
x,y的取值范围是[-9, 9]。
分析:先声明t的范围,再写出y与t的函数关系式。
代码如下:得到的图像如下:题4分析下面每条指令的功能并运行,观察执行结果。
(1) X=0:0.2:2;Y=X.*exp(-X);plot(X,Y),xlabel(‘x’),ylabel(‘y’),title(‘y=x*exp(-x)’);>>X=0:0.2:2; %X取值从0 到2 每隔0.2 取一个数>> Y=X.*exp(-X); %Y对于X 的表达式,求出X 对应下的Y 值>> plot(X,Y),xlabel('x'), ylabel('y'),title('y=x*exp(-x)')(2)A=zeros(3,4)A(:)=-4:7L=abs(A)>3islogical(L)X=A(L)>> A=zeros(3,4) %产生3 x 4 的全零矩阵AA =0 0 0 00 0 0 00 0 0 0>> A(:)=-4:7 %将-4 到7 依次赋值给AA =-4 -1 2 5-3 0 3 6-2 1 4 7>> L=abs(A)>3 %判断A 内各元素绝对值是否大于3,大于返回1,小于返回0,并将返回值构成与A相同行列的矩阵LL =1 0 0 10 0 0 10 0 1 1>> islogical(L) %判断矩阵L 内是否为逻辑值,是返回1,不是则返回0ans =1>> X=A(L) %将A 对应L 内为真的元素取出来,构成列向量X,即绝对值大于3的值取出X =-44567(3)A=randn(2,5)B=[1:5;6:10]A*B’>> A=randn(2,5) %产生一个2到5之间的随机数A =0.2944 0.7143 -0.6918 1.2540 -1.4410-1.3362 1.6236 0.8580 -1.5937 0.5711>> B=[1:5;6:10]B =1 2 3 4 56 7 8 9 10>> A*B'ans =-2.5411 -1.89110.9658 1.5797(4)A=zeros(3,5)A(:)=1:15A=A*(1+i)A1=A.’;B1=A’;A=zeros(3,5) %产生3 x 5 的全零矩阵AA =0 0 0 0 00 0 0 0 00 0 0 0 0>> A(:)=1:15 %将1 到15 依次赋值给各元素A =1 4 7 10 132 5 8 11 143 6 9 12 15>> A=A*(1+i) %将A 各元素乘以(1+i),成为复数矩阵A =1.0000 + 1.0000i 4.0000 + 4.0000i 7.0000 + 7.0000i 10.0000 +10.0000i 13.0000 +13.0000i2.0000 + 2.0000i 5.0000 + 5.0000i 8.0000 + 8.0000i 11.0000 +11.0000i 14.0000 +14.0000i3.0000 + 3.0000i 6.0000 + 6.0000i 9.0000 + 9.0000i 12.0000 +12.0000i 15.0000 +15.0000i>> A1=A.’ %令A1 成为A 的转置非共轭矩阵A1 =1.0000 + 1.0000i2.0000 + 2.0000i3.0000 + 3.0000i4.0000 + 4.0000i5.0000 + 5.0000i6.0000 + 6.0000i7.0000 + 7.0000i 8.0000 + 8.0000i 9.0000 + 9.0000i10.0000 +10.0000i 11.0000 +11.0000i 12.0000 +12.0000i13.0000 +13.0000i 14.0000 +14.0000i 15.0000 +15.0000i>> B1=A' %令B1 成为A 的转置共轭矩阵B1 =1.0000 - 1.0000i2.0000 - 2.0000i3.0000 - 3.0000i4.0000 - 4.0000i5.0000 - 5.0000i6.0000 - 6.0000i7.0000 - 7.0000i 8.0000 - 8.0000i 9.0000 - 9.0000i10.0000 -10.0000i 11.0000 -11.0000i 12.0000 -12.0000i13.0000 -13.0000i 14.0000 -14.0000i 15.0000 -15.0000i(5) A=ones(3,4)B=magic(2)C=eye(4)D=diag(C)E=repmat(C,1,3)>> A=ones(3,4) %产生一个3 x 4 全1 矩阵AA =1 1 1 11 1 1 11 1 1 1>> B=magic(2) %产生一个行列为2 的全1 的方阵BB =1 34 2>> C=eye(4) %产生一个行列为4 单位方阵CC =1 0 0 00 1 0 00 0 1 00 0 0 1>> D=diag(C) %将C 的主对角元素取出形成列向量DD =1111>> E=repmat(C,1,3) %将C 看成一个元素,重复C 构成一个1 x 3 的矩阵EE =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 1题5计算901.035-+=x x y 在x=0.1与10处的值。