专业基础实践课程设计说明书.docx
- 文档编号:18063354
- 上传时间:2023-08-07
- 格式:DOCX
- 页数:24
- 大小:198.19KB
专业基础实践课程设计说明书.docx
《专业基础实践课程设计说明书.docx》由会员分享,可在线阅读,更多相关《专业基础实践课程设计说明书.docx(24页珍藏版)》请在冰点文库上搜索。
专业基础实践课程设计说明书
课程设计任务书
学生姓名:
阮文专业班级:
电信1203班
指导教师:
桂林工作单位:
信息工程学院
题目:
MATLAB运算与应用设计2
初始条件:
1.MATLAB6.5以上版本软件;
2.课程设计辅导资料:
“MATLAB语言基础及使用入门”、“MATLAB及在电子信息课程中的应用”等;
3.先修课程:
信号与系统、数字信号处理、MATLAB应用实践及信号处理类课程等。
要求完成的主要任务:
(包括课程设计工作量及其技术要求,以及说
明书撰写等具体要求)
(1)选择一本《MATLAB教程》,学习该教程的全部内容,包括使用方法、数组运算、矩阵运算、数学运算、程序设计、符号计算、图形绘制、GUI设计等内容;
(2)对该套综合题的10道题,进行理论分析,针对具体设计部分的原理分析、建模、必要的推导和可行性分析,画出程序设计框图,编写程序代码(含注释),上机调试运行程序,记录实验结果(含计算结果和图表)。
(3)对实验结果进行分析和总结;
(4)要求阅读相关参考文献不少于5篇;
(5)根据课程设计有关规范,按时、独立完成课程设计说明书。
时间安排:
(1)布置课程设计任务,查阅资料,学习《MATLAB教程》十周;
(2)进行编程设计一周;
(3)完成课程设计报告书一周;
指导教师签名:
年月日
系主任(或责任教师)签名:
年月日
1MATLAB概述..........................................................................................3
1.1MATLAB简介..................................................................................4
1.2MATLAB的功能...................................................................................4
1.3MATLAB的典型应用.........................................................................6
2设计题目:
MATLAB运算与应用设计套题二.......................................6
3设计内容...............................................................................................8
3.1题一.....................................................................................................................8
3.2题二.....................................................................................................................8
3.3题三.....................................................................................................................9
3.4题四.....................................................................................................................10
3.5题五...................................................................................................................15
3.6题六...................................................................................................................15
3.7题七...................................................................................................................................15
3.8题八...................................................................................................................................16
3.9题九...................................................................................................................................17
3.10题十....................................................................................................................18
4课程设计心得..............................................................................................20
5参考文献.................................................................................................21
6本科生课程设计成绩评定表....................................................................22
摘要
关键词:
数据处理图形处理广泛应用
MATLAB(矩阵实验室)是MATrixLABoratory的缩写,是一款由美国TheMathWorks公司出品的商业数学软件。
MATLAB是一种用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境。
除了矩阵运算、绘制函数/数据图像等常用功能外,MATLAB还可以用来创建用户界面及与调用其它语言(包括C,C++和FORTRAN)编写的程序。
尽管MATLAB主要用于数值运算,但利用为数众多的附加工具箱(Toolbox)它也适合不同领域的应用,例如控制系统设计与分析、图像处理、信号处理与通讯、金融建模和分析等。
另外还有一个配套软件包Simulink,提供了一个可视化开发环境,常用于系统模拟、动态/嵌入式系统开发等方面。
MATLAB是一个包含大量计算算法的集合。
其拥有600多个工程中要用到的数学运算函数,可以方便的实现用户所需的各种计算功能。
函数中所使用的算法都是科研和工程计算中的最新研究成果,而前经过了各种优化和容错处理。
在通常情况下,可以用它来代替底层编程语言,如C和C++。
在计算要求相同的情况下,使用MATLAB的编程工作量会大大减少
MATLAB自产生之日起就具有方便的数据可视化功能,以将向量和矩阵用图形表现出来,并且可以对图形进行标注和打印。
高层次的作图包括二维和三维的可视化、图象处理、动画和表达式作图。
可用于科学计算和工程绘图。
新版本的MATLAB对整个图形处理功能作了很大的改进和完善,使它不仅在一般数据可视化软件都具有的功能
MATLAB的应用领域十分广阔,可应用于数据分析、数值与符号计算、控制系统设计、航天工业、汽车工业、生物医学工程、语音处理、图像与数字信号处理、财务、金融分析、建模、仿真及样机开发、新算法研究开发、图形用户界面设计等领域。
1.1MATLAB简介
MATLAB软件由美国MathWorks公司于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设计题目:
第2套题目:
专业基础实践课程设计2
1.计算y1=
和y2=
;
2.画出衰减震荡曲线
及其他的包络线
t的取值范围是[0,6
].
3.画出
所表示的三维曲面。
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:
7
L=abs(A)>3
islogical(L)
X=A(L)
(3)A=randn(2,5)
B=[1:
5;6:
10]
A*B’
(4)A=zeros(3,5)
A(:
)=1:
15
A=A*(1+i)y
A1=A.’;
B1=A’;
(5)A=ones(3,4)
B=magic
(2)
C=eye(4)
D=diag(C)
E=repmat(C,1,3)
5.计算
在x=0.1与10处的值。
6.求函数
n=100的值。
7.求1000个元素的随机数向量A中大于0.5的元素个数。
8.求线性方程组AX=b的根。
9.画出y=|1000sin(4x)|+1的y轴为对数图。
10.有如下数据:
x
1
1.1
1.2
1.3
1.4
y
1.00000
1.23368
1.55271
1.99372
2.61170
利用线性插值方法对其进行插值,得到每隔0.05的结果。
3设计内容
3.1题一
1.计算y1=
和y2=
;
分析:
直接输入进行运行:
y1=2*sin(0.5*pi)/(1+sqrt(6));y1
y1=
0.5798
y2=3*cos(0.5*pi)/(1+sqrt(7));y2
y2=
5.0387e-017
3.2题二
2.画出衰减震荡曲线
及其他的包络线
t的取值范围是[0,6
].
分析:
先声明t的范围,写出y、y0关于t的方程,然后运行程序。
t=0:
0.2:
6*pi;
y=exp(-3*t).*cos(t/5);
y0=exp(-3*t);
plot(t,y,t,y0)
3.3题三
3.画出
所表示的三维曲面。
x,y的取值范围是[-9,9]
分析:
先设置x,y的范围,用mesh函数绘制给定的三维曲面,运行程序。
x=[-9:
0.5:
9];
y=[-9:
0.5:
9];
[x,y]=meshgrid(x,y);
z=cos(sqrt(2*x.*x+2*y.*y))./sqrt(x.*x+y.*y);
surf(x,y,z);
3.4题四
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(2,5)
A(:
)=-4:
5
L=abs(A)>4
islogical(L)
X=A(L)
(3)A=[1:
5;6:
10]
pow2(A)
(4)A=zeros(3,2)
A(:
)=1:
6
A=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)
1)
>>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)%产生3x4的全零矩阵A
A=
0000
0000
0000
>>A(:
)=-4:
7%将-4到7依次赋值给A
A=
-4-125
-3036
-2147
>>L=abs(A)>3%判断A内各元素绝对值是否大于3,大于返回1,小于返回0,并将返回值构成与A相同行列的矩阵L
L=
1001
0001
0011
>>islogical(L)%判断矩阵L内是否为逻辑值,是返回1,不是则返回0
ans=
1
>>X=A(L)%将A对应L内为真的元素取出来,构成列向量X,即绝对值大于3的值取出
X=
-4
4
5
6
7
3)>>A=randn(2,5)%产生一个2到5之间的随机数
A=
0.29440.7143-0.69181.2540-1.4410
-1.33621.62360.8580-1.59370.5711
>>B=[1:
5;6:
10]
B=
12345
678910
>>A*B'
ans=
-2.5411-1.8911
0.96581.5797
4)A=zeros(3,5)%产生3x5的全零矩阵A
A=
00000
00000
00000
>>A(:
)=1:
15%将1到15依次赋值给各元素
A=
1471013
2581114
3691215
>>A=A*(1+i)%将A各元素乘以(1+i),成为复数矩阵
A=
1.0000+1.0000i4.0000+4.0000i7.0000+7.0000i10.0000+10.0000i13.0000+13.0000i
2.0000+2.0000i5.0000+5.0000i8.0000+8.0000i11.0000+11.0000i14.0000+14.0000i
3.0000+3.0000i6.0000+6.0000i9.0000+9.0000i12.0000+12.0000i15.0000+15.0000i
>>A1=A.’%令A1成为A的转置非共轭矩阵
A1=
1.0000+1.0000i2.0000+2.0000i3.0000+3.0000i
4.0000+4.0000i5.0000+5.0000i6.0000+6.0000i
7.0000+7.0000i8.0000+8.0000i9.0000+9.0000i
10.0000+10.0000i11.0000+11.0000i12.0000+12.0000i
13.0000+13.0000i14.0000+14.0000i15.0000+15.0000i
>>B1=A'%令B1成为A的转置共轭矩阵
B1=
1.0000-1.0000i2.0000-2.0000i3.0000-3.0000i
4.0000-4.0000i5.0000-5.0000i6.0000-6.0000i
7.0000-7.0000i8.0000-8.0000i9.0000-9.0000i
10.0000-10.0000i11.0000-11.0000i12.0000-12.0000i
13.0000-13.0000i14.0000-14.0000i15.0000-15.0000i
5)>>A=ones(3,4)%产生一个3x4全1矩阵A
A=
1111
1111
1111
>>B=magic
(2)%产生一个行列为2的全1的方阵B
B=
13
42
>>C=eye(4)%产生一个行列为4单位方阵C
C=
1000
0100
0010
0001
>>D=diag(C)%将C的主对角元素取出形成列向量D
D=
1
1
1
1
>>E=repmat(C,1,3)%将C看成一个元素,重复C构成一个1x3的矩阵E
E=
100010001000
010001000100
001000100010
000100010001
3.5题五
计算
在x=0.1与10处的值。
>>myfhd=@(x)(x^5+0.1*(x^3)-90);myfhd(0.1)
ans=
-89.9999
>>myfhd(10)
ans=
100010
3.6题六
求函数
n=100的值。
分析:
可以使用for循环进行解决
>>y=0;forn=1:
100;y=y+1/(n^2);end;y
y=
1.6350
3.7题七
求1000个元素的随机数向量A中大于0.5的元素个数。
分析:
用rand函数产生一个含1000个元素的的矩阵,在进行循环比较。
>>A=rand(1,1000);
a=0;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 专业 基础 实践 课程设计 说明书