matlab课程设计报告 2.docx
《matlab课程设计报告 2.docx》由会员分享,可在线阅读,更多相关《matlab课程设计报告 2.docx(21页珍藏版)》请在冰豆网上搜索。
matlab课程设计报告2
目录
1Matlab软件简介..........................1
1.1基本功能......................................1
1.2应用..........................................1
1.3发展历程......................................2
1.4特点..........................................2
1.5优势..........................................2
2设计题目.................................5
3设计内容.................................6
3.1..............................................6
3.2..............................................6
3.3..............................................7
3.4..............................................7
3.5.............................................12
3.6.............................................12
3.7.............................................13
3.8.............................................14
3.9.............................................15
3.10............................................16
4课程设计心得............................18
5参考文献................................19
1Matlab软件简介
1.1基本功能
MATLAB是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。
它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。
MATLAB和Mathematica、Maple并称为三大数学软件。
它在数学类科技应用软件中在数值计算方面首屈一指。
MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。
MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。
在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持。
可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。
1.2应用
MATLAB产品族可以用来进行以下各种工作:
●数值分析
●数值和符号计算
●工程与科学绘图
●控制系统的设计与仿真
●数字图像处理技术
●数字信号处理技术
●通讯系统设计与仿真
●财务与金融工程
MATLAB的应用范围非常广,包括信号和图像处理、通讯、控制系统设计、测试和测量、财务建模和分析以及计算生物学等众多应用领域。
附加的工具箱(单独提供的专用MATLAB函数集)扩展了MATLAB环境,以解决这些应用领域内特定类型的问题。
1.3发展历程
20世纪70年代,美国新墨西哥大学计算机科学系主任CleveMoler为了减轻学生编程的负担,用FORTRAN编写了最早的MATLAB。
1984年由Little、Moler、SteveBangert合作成立了的MathWorks公司正式把MATLAB推向市场。
到20世纪90年代,MATLAB已成为国际控制界的标准计算软件。
目前最新版本已更新至MATLAB7.13。
1.4特点
(1)高效的数值计算及符号计算功能,能使用户从繁杂的数学运算分析中解脱出来;
(2)具有完备的图形处理功能,实现计算结果和编程的可视化;(3)友好的用户界面及接近数学表达式的自然化语言,使学者易于学习和掌握; (4)功能丰富的应用工具箱(如信号处理工具箱、通信工具箱等),为用户提供了大量方便实用的处理工具。
1.5优势
(1)友好的工作平台和编程环境
MATLAB由一系列工具组成。
这些工具方便用户使用MATLAB的函数和文件,其中许多工具采用的是图形用户界面。
包括MATLAB桌面和命令窗口、历史命令窗口、编辑器和调试器、路径搜索和用于用户浏览帮助、工作空间、文件的浏览器。
随着MATLAB的商业化以及软件本身的不断升级,MATLAB的用户界面也越来越精致,更加接近Windows的标准界面,人机交互性更强,操作更简单。
而且新版本的MATLAB提供了完整的联机查询、帮助系统,极大的方便了用户的使用。
简单的编程环境提供了比较完备的调试系统,程序不必经过编译就可以直接运行,而且能够及时地报告出现的错误及进行出错原因分析。
(2)简单易用的程序语言
Matlab是一个高级的矩阵/阵列语言,它包含控制语句、函数、数据结构、输入和输出和面向对象编程特点。
用户可以在命令窗口中将输入语句与执行命令同步,也可以先编写好一个较大的复杂的应用程序(M文件)后再一起运行。
新版本的MATLAB语言是基于最为流行的C++语言基础上的,因此语法特征与C++语言极为相似,而且更加简单,更加符合科技人员对数学表达式的书写格式。
使之更利于非计算机专业的科技人员使用。
而且这种语言可移植性好、可拓展性极强,这也是MATLAB能够深入到科学研究及工程计算各个领域的重要原因。
(3)强大的科学计算机数据处理能力
MATLAB是一个包含大量计算算法的集合。
其拥有600多个工程中要用到的数学运算函数,可以方便的实现用户所需的各种计算功能。
函数中所使用的算法都是科研和工程计算中的最新研究成果,而前经过了各种优化和容错处理。
在通常情况下,可以用它来代替底层编程语言,如C和C++。
在计算要求相同的情况下,使用MATLAB的编程工作量会大大减少。
MATLAB的这些函数集包括从最简单最基本的函数到诸如矩阵,特征向量、快速傅里叶变换的复杂函数。
函数所能解决的问题其大致包括矩阵运算和线性方程组的求解、微分方程及偏微分方程的组的求解、符号运算、傅立叶变换和数据的统计分析、工程中的优化问题、稀疏矩阵运算、复数的各种运算、三角函数和其他初等数学运算、多维数组操作以及建模动态仿真等。
(4)出色的图形处理功能
MATLAB自产生之日起就具有方便的数据可视化功能,以将向量和矩阵用图形表现出来,并且可以对图形进行标注和打印。
高层次的作图包括二维和三维的可视化、图象处理、动画和表达式作图。
可用于科学计算和工程绘图。
新版本的MATLAB对整个图形处理功能作了很大的改进和完善,使它不仅在一般数据可视化软件都具有的功能(例如二维曲线和三维曲面的绘制和处理等)方面更加完善,而且对于一些其他软件所没有的功能(例如图形的光照处理、色度处理以及四维数据的表现等),MATLAB同样表现了出色的处理能力。
同时对一些特殊的可视化要求,例如图形对话等,MATLAB也有相应的功能函数,保证了用户不同层次的要求。
另外新版本的MATLAB还着重在图形用户界面(GUI)的制作上作了很大的改善,对这方面有特殊要求的用户也可以得到满足。
(5)应用广泛的模块集合工具箱
MATLAB对许多专门的领域都开发了功能强大的模块集和工具箱。
一般来说,它们都是由特定领域的专家开发的,用户可以直接使用工具箱学习、应用和评估不同的方法而不需要自己编写代码。
目前,MATLAB已经把工具箱延伸到了科学研究和工程应用的诸多领域,诸如数据采集、数据库接口、概率统计、样条拟合、优化算法、偏微分方程求解、神经网络、小波分析、信号处理、图像处理、系统辨识、控制系统设计、LMI控制、鲁棒控制、模型预测、模糊逻辑、金融分析、地图工具、非线性控制设计、实时快速原型及半物理仿真、嵌入式系统开发、定点仿真、DSP与通讯、电力系统仿真等,都在工具箱(Toolbox)家族中有了自己的一席之地。
(6)实用的程序接口和发布平台
新版本的MATLAB可以利用MATLAB编译器和C/C++数学库和图形库,将自己的MATLAB程序自动转换为独立于MATLAB运行的C和C++代码。
允许用户编写可以和MATLAB进行交互的C或C++语言程序。
另外,MATLAB网页服务程序还容许在Web应用中使用自己的MATLAB数学和图形程序。
MATLAB的一个重要特色就是具有一套程序扩展系统和一组称之为工具箱的特殊应用子程序。
工具箱是MATLAB函数的子程序库,每一个工具箱都是为某一类学科专业和应用而定制的,主要包括信号处理、控制系统、神经网络、模糊逻辑、小波分析和系统仿真等方面的应用。
(7)应用软件开发(包括用户界面)
在开发环境中,使用户更方便地控制多个文件和图形窗口;在编程方面支持了函数嵌套,有条件中断等;在图形化方面,有了更强大的图形标注和处理功能,包括对性对起连接注释等;在输入输出方面,可以直接向Excel和HDF5进行连接。
第7套题:
Matlab运算与应用设计1
2设计题目
1.求[100,200]之间第一个能被21整除的整数。
2.绘制余弦曲线y=cos(x)和指数函数y=x^2曲线。
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(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)
5.利用while…end循环结构编程求出1+3+5…+101的值。
6.随机生成一个10000×3的矩阵,并绘制其柱状图。
7.利用switch…case编写以下程序:
某商场对顾客所购买的商品实行打折销售,标准如下(商品价格用price来表示):
price<200无折扣
200
price<5005%折扣
500
price<100010%折扣
Price
100015%折扣
输入所售商品的价格,求其实际销售价格。
8.利用函数调用编写函数文件,求半径r分别为0.5与5时圆的面积与周长。
9.已知
,其中t的范围是[010],计算y的微分和积分并给出曲线图。
10.编写程序,用plot(x,y)绘制下图所示曲线。
3设计内容
3.1求[100,200]之间第一个能被21整除的整数。
程序代码:
>>n
n=
105
3.2绘制余弦曲线y=cos(x)和指数函数y=x^2曲线。
程序代码:
函数图像如图1:
图1
3.3计算2+4+6...+100的值,当和大于2000时终止计算。
程序代码:
>>sum
sum=
2070
>>m
m=
92
3.4分析下面每条指令的功能并运行,观察执行结果。
(1)程序代码:
函数图像如图2:
图2
(2)程序编码:
>>A=zeros(2,5)
A=
00000
00000
>>A(:
)=-4:
5
A=
-4-2024
-3-1135
>>L=abs(A)>4
L=
00000
00001
>>islogical(L)
ans=
1
>>X=A(L)
X=
5
(3)程序代码:
>>A
A=
12345
678910
>>pow2(A)
ans=
2481632
641282565121024
(4)程序代码:
>>A=zeros(3,2)
A=
00
00
00
>>A(:
)=1:
6
A=
14
25
36
>>A=A*(1+i)
A=
1.0000+1.0000i4.0000+4.0000i
2.0000+2.0000i5.0000+5.0000i
3.0000+3.0000i6.0000+6.0000i
>>A1=A.'
A1=
1.0000+1.0000i2.0000+2.0000i3.0000+3.0000i
4.0000+4.0000i5.0000+5.0000i6.0000+6.0000i
>>B1=A'
B1=
1.0000-1.0000i2.0000-2.0000i3.0000-3.0000i
4.0000-4.0000i5.0000-5.0000i6.0000-6.0000i
(5)程序代码:
>>A=ones(2,3)
A=
111
111
>>B=ones
(2)
B=
11
11
>>C=eye(4)
C=
1000
0100
0010
0001
>>D=diag(C)
D=
1
1
1
1
>>E=repmat(C,1,3)
E=
100010001000
010001000100
001000100010
000100010001
3.5利用while…end循环结构编程求出1+3+5…+101的值。
程序编码:
>>sum
sum=
2601
3.6随机生成一个10000×3的矩阵,并绘制其柱状图。
程序编码:
(randn:
生成正态分布伪随机数)
柱状图如图3:
图3
3.7利用switch…case编写以下程序:
某商场对顾客所购买的商品实行打折销售,标准如下(商品价格用price来表示):
price<200无折扣
200
price<5005%折扣
500
price<100010%折扣
Price
100015%折扣
输入所售商品的价格,求其实际销售价格。
程序编码:
运行程序可得:
请输入商品价格:
888
price=
799.2000
3.8利用函数调用编写函数文件,求半径r分别为0.5与5时圆的面积与周长。
程序编码:
>>fcircle(0.5)
s=
0.7854
l=
3.1416
ans=
0.7854
>>fcircle(5)
s=
78.5398
l=
31.4159
ans=
78.5398
3.9已知
,其中t的范围是[010],计算y的微分和积分并给出曲线图。
程序编码:
曲线图如图4:
图4
3.10编写程序,用plot(x,y)绘制下图所示曲线。
(1)程序代码:
运行结果如图5。
图5
(2)程序代码:
运行结果如图6。
图6
4课程设计心得
经过一周多的理论学习和操作实践,终于对Matlab的基本操作有所了解,还谈不上熟悉应用。
从刚开始的安装,让人无奈和烦躁,到程序编码让人感到有心无力,只好借助XX和Google强大的搜索功能查找Matlab视频教程和PPT,一边学一边做,由于学过C语言,发现有些语句是相通的,比如if语句、while...end语句和switch...case语句,理解一些基本语句就相对简单了,这样就一道一道题目做出来了。
我所做得题目都是对Matleb很基本的应用,当我对一些函数不懂怎么用的时候,我就到这个网站上查,基本都能弄懂那些函数的作用是什么,如何运用。
比如查找repmat函数,它就给出了函数功能、使用方法、备注、应用举例和一些相关函数等。
用Matlab很容易就能解决一些复杂的问题,比如第4题
(1),利用plot函数就能轻易得到Y=X.*exp(-X)的图像。
MATLAB在数学类科技应用软件中在数值计算方面首屈一指。
MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。
我现在只是学到一些皮毛而已,这个强大的软件还需要我一步步的去了解、掌握相关的运用,而且我是电信专业的,以后的专业课还要用到这个软件去处理一些数据和图像,还可以当做工程数学工具使用。
5参考文献
[1].张平,MATLAB基础与应用简明教程,北京航空航天大学出版社,2011.
[2].周婧,林雪松,林德新,MATLAB7.0应用集锦,机械工业出版社,2006.
[3].李国朝,MATLAB基础及应用,北京大学出版社,2011.
[4].亨赛尔,精通matlab7,清华大学出版社,2006.
[5].周开立,MATLAB基础及其应用教程,北京大学出版社,2007.
[6].张琨,MATLAB2010从入门到精通,电子工业出版社,2011.