




已阅读5页,还剩46页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
MATLAB与工程计算,使用教材及参考书,参考教材:王沫然.Matlab与科学计算.电子工业出版社.推荐的参考书:1周建兴、岂兴明等编著.MATLAB从入门到精通.人民邮电出版社2StephenJ.Chapman著,刑树军、郑碧波译.MATLAB编程.,课程的任务和目的,Matlab是一门可视化的计算机语言,被广泛地应用在科学运算领域里。它具有功能强大、使用简单等特点,内容包括:数值计算、符号计算、数据拟合、图形图像处理、系统模拟和仿真分析等功能。此外,用Matlab还可以进行动画设计、有限元分析等。本课程的目的是使学生能够运用Matlab进行一般的工程计算,掌握Matlab的基本编程技术(基本计算、矩阵处理和图形显示、图像处理技术等),为将来从事工程技术方面的产品开发、科学研究、工程计算和管理打下一定的基础。,Matlab是什么?,MATLAB=MATrixLABoratory(矩阵实验室),MATLAB已成为集数值计算功能、符号运算功能和图形处理功能为一身的超级科学计算语言。,MATLAB简介,MATLAB是矩阵实验室(MatrixLaboratory)的简称,是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。,基本功能,MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。,MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且mathwork也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C+,JAVA的支持。可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。,MATLAB开发工作界面,应用,MATLAB产品族可以用来进行以下各种工作:数值分析数值和符号计算工程与科学绘图控制系统的设计与仿真数字图像处理技术数字信号处理技术通讯系统设计与仿真财务与金融工程,应用,MATLAB的应用范围非常广,包括信号和图像处理、通讯、控制系统设计、测试和测量、财务建模和分析以及计算生物学等众多应用领域。附加的工具箱(单独提供的专用MATLAB函数集)扩展了MATLAB环境,以解决这些应用领域内特定类型的问题。,发展历程,20世纪70年代,美国新墨西哥大学计算机科学系主任CleveMoler为了减轻学生编程的负担,用FORTRAN编写了最早的MATLAB。1984年由Little、Moler、SteveBangert合作成立了的MathWorks公司正式把MATLAB推向市场。到20世纪90年代,MATLAB已成为国际控制界的标准计算软件。版本从1984年的MATLAB1.0到2010.3.5的MATLAB7.10,优势,(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进行连接。,概括首创者:CleveMoler博士(数值线性代数领域)公司:Mathworks公司描述:科学计算软件,具有如下特点:1)以矩阵的形式处理数据;2)高性能的数值计算+可视化;3)提供了大量的内置函数;4)应用于科学计算、控制系统、信息处理等领域的分析、仿真和设计工作中;5)开放式结构,容易扩展。,MATLAB产品可以用来进行如下工作:*数值分析;*数值和符号计算;*工程与科学绘图;*控制系统的设计与仿真;*数字图像处理;*数字信号处理;*通讯系统设计与仿真;*财务与金融工程。,MATLAB的产品体系MATLAB产品由若干个模块组成,不同的模块完成不同的功能,其中有*MATLAB(核心结构,编程基础);*MATLABToolboxes(针对应用领域);*MATLABCompiler(应用程序接口);*Simulink(控制系统仿真);*其他,MATLAB核心部分是MATLAB产品家族的基础,提供:1)基本的数学算法,例如矩阵运算、数值分析算法,2)2D和3D图形功能,以完成相应数值可视化的工作,3)一种交互式的高级编程语言M语言,通过编写脚本或者函数文件实现用户自己的算法。,Matlab的专业工具箱函数:特点:开放、可扩展,用户可察看、修改、扩充其中的算法。情况:目前MATLAB产品的工具箱有40多种,涵盖了1)数据获取、2)科学计算、3)控制系统设计与分析、4)数字信号处理、5)数字图像处理、6)金融财务分析以及7)生物遗传工程等专业领域。,MATLAB主要的专业工具箱包括以下几种。*数学与数据分析:Optimization(优化)Statics(统计)NerualNetwork(神经网络)SymbolicMathPartialDifferentialEquation(偏微分方程)MappingSplineCurveFitting(曲线拟合)VirtualReality(虚拟现实)Bioinforamtics(生物信息处理),*数据获取与采集:DataAcquisitionImageAcquisitionInstrumentControlDatabase(数据库)Excel,*信号处理与图像处理:SignalProcessing(信号处理)ImageProcessing(图像处理)Communication(通讯)SystemIdentification(系统辨识)Wavelet(小波分析)FilterDesignMATLABLinkforCodeComposerStudio,*财经与金融:FinancialFinancialTimeSeries(时间序列分析)GARCHDatafeedFinancialDerivativesFixedIncome,Matlab和C/C+等开发平台的比较:优点:功能强大,使用方便,支持库丰富。,x,y,z=cylinder;I=imread(jokul_061.jpg);figure;subplot(1,2,1);imshow(I);subplot(1,2,2);warp(x,y,-z,I);,这个例子用C/C+来实现是需要编写大量代码的。疑问?C/C+也可以有这些库支持?但Matlab更为方便,它在变量定义、内存回收等方面全部由系统自动实现,程序开发者不需要考虑。C/C+必须考虑上述问题。如下:Matlab:C+:s=0;ints=0,p;forp=1:100for(p=1;p”为MATLAB的命令行提示符。这里的符号“”表示键入表达式之后按回车键。MATLAB的数学运算符同其他的计算机高级语言(例如C语言)类似。这里计算得到的结果显示为ans,ans是英文单词“answer”的缩写,它是MATLAB默认的系统变量。所有MATLAB的计算结果和数值都默认使用双精度类型显示。,例子计算复数的运算(1+2i)(1-3i)。在MATLAB命令行窗口中键入:(1+2i)*(1-3i)系统直接计算表达式的结果,并给出答案:ans=7.0000-1.0000i,注意:在MATLAB中表示复数,即xyi,其中x和y都是双精度的数字。在这里,i作为复数单位存在,同样也可以使用j表示复数单位。在MATLAB的命令窗口中还可以定义相应的MATLAB数据对象和变量以及调用函数。,例子调用函数。cos(pi/2)ans=6.1232e-017exp(acos(0.3)ans=3.5470,例子使用不同的数据显示格式显示数字。在MATLAB命令行中,键入下面的指令:pians=3.1416formatlongpians=3.14159265358979,Note:系统指令1)使用MATLAB的“!”符号!copyeagles_hotelcanifornia.mp3eagles.mp3!dird:2)system指令system(command);%执行后转换到目录:C:MATLAB1WORK,例绘制函数y=3x3-10 x2+5x-8的图像,fori=1:100 x(i)=0.1*i;y(i)=3*x(i)3-10*x(i)2+5*x(i)-8;endplot(x,y),例绘制函数y=2sin(1+x)的图像,并计算当x=0.5时的函数值。,x=(0:0.1:10);%给出自变量x的定义域y=2*sin(1+x);%写出函数形式plot(x,y)%绘出函数图形y=2*sin(1+0.5)%求当
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 航空航天零部件高精度加工技术2025年市场前景与挑战报告
- 葡萄酒行业产区特色品牌国际化:2025年全球市场机遇分析报告
- 2025届滁州凤阳县联考七下英语期末检测试题含答案
- 2025年电商平台内容营销与种草经济在电商区块链技术应用报告
- 2025年医药行业合规运营策略与信息化建设深度分析报告
- 2025年BIM技术在建筑行业工程项目施工进度调整与优化报告
- 2025年医药企业研发外包(CRO)模式下的临床试验数据安全报告
- 2025年医药流通行业供应链优化与成本控制策略分析报告
- 继教培训课件模板
- 广东省东莞市五校2025届七年级英语第二学期期中学业水平测试模拟试题含答案
- 新疆阿克苏地区(2024年-2025年小学六年级语文)统编版小升初真题(下学期)试卷及答案
- 2025年初级社会工作者综合能力全国考试题库(含答案)
- 课程思政示范课程申报书
- 河南天一大联考2024届高一数学第二学期期末考试试题含解析
- 北京101中学2023-2024学年七下英语期末检测试题含答案
- 国家开放大学本科《管理英语4》一平台机考真题及答案(第六套)
- 2024年广东省中考生物试卷附答案
- 合肥市瑶海区2022-2023学年七年级下学期期中历史试题【带答案】
- 一年级下册口算题卡大全(口算练习题50套直接打印版)
- 2022-2023学年凉山彝族自治州数学三年级下册期末考试试题含答案
- (高清版)JTG 5421-2018 公路沥青路面养护设计规范
评论
0/150
提交评论