资源预览内容
第1页 / 共79页
第2页 / 共79页
第3页 / 共79页
第4页 / 共79页
第5页 / 共79页
第6页 / 共79页
第7页 / 共79页
第8页 / 共79页
第9页 / 共79页
第10页 / 共79页
亲,该文档总共79页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第1章 MATLAB入门,1.1 MATLAB产品简介 1.2 MATLAB桌面环境 1.3 使用帮助 1.4 MATLAB的数据类型 1.5 M语言编程入门,1.1 MATLAB产品简介,MATLAB的名称源自Matrix Laboratory,它的首创者是在数值线性代数领域颇有影响的Cleve Moler 博士 ,同时他也是生产和经营MATLAB产品的美国Mathworks公司的创始人之一。MATLAB本身是一种科学计算软件,专门以矩阵的形式处理数据。MATLAB将高性能的数值计算和可视化集成在一起,并提供了大量的内置函数,还提供了一种高级的解释型编程语言M语言。MATLAB产品具有良好的开放性和扩充性,利用MATLAB提供的科学计算能力和M语言编程能力开发了很多专业函数并组成了不同的工具箱,而这些工具箱产品被广泛地应用于科学计算、控制系统、信息处理等领域的分析、仿真和设计工作中。,目前MATLAB产品族主要应用于以下领域: 数值分析; 数值和符号计算; 工程与科学绘图; 控制系统的设计与仿真; 数字图像处理; 数字信号处理; 财务与金融工程; 图形化的用户界面开发。,MATLAB产品由若干个模块组成,不同的模块完成不同的功能,其中包括: MATLAB; MATLAB Toolboxes; MATLAB Compiler; Simulink; Simulink Blocksets; Real-Time Workshop (RTW); Stateflow; Stateflow Coder;,图1-1 MATLAB的产品体系,由这些模块构成的MATLAB产品体系如图1-1所示。其中,MATLAB是MATLAB产品家族的基础,它提供了基本的数学算法,例如矩阵运算、数值分析算法等,MATLAB集成了2D和3D图形功能,以完成相应的数值可视化工作,同时MATLAB还提供了一种交互式的高级编程语言M语言,利用M语言可以通过编写脚本或者函数文件实现用户自己的算法。,MATLAB不仅能够和C/C+语言进行集成开发,而且还提供了和Java语言接口的能力,另外它还支持COM标准,能够和任何支持COM标准的软件协同工作。 目前,MATLAB整个产品的最新发布版本为Release 13,表示MATLAB产品体系的第13次发布,整个产品族不仅包含了MATLAB的基本功能模块,还包含了应用于各种专业的工具箱等产品。MATLAB基本功能模块的最新版本为6.5.1。,Simulink产品是用来对复杂动态系统进行建模和仿真的图形化交互式平台,利用该产品,用户只要通过简单的鼠标操作就可以建立起各种复杂的动态系统,其中包括简单系统、离散系统、连续系统,或者由几种系统共同组成的复杂系统,它是MATLAB产品族中重要的组成部分。目前Simulink产品的最新版本为5.1。 Simulink Blocksets是Simulink的扩展,包括了应用于不同行业(专业)的功能模块集合,目前MATLAB产品中包含的主要功能模块集合如表1-1所示。,表1-1 MATLAB中包含的功能模块集合,MATLAB产品族包含的功能模块的详细信息请参阅MATLAB的相关文档,或查阅网上信息www.mathworks.com或者www.hirain.com。 RTW为Real-Time Workshop的缩写,该产品是将Simulink框图模型转变成为标准C语言的工具,这样的C源程序结合具体的实时软件和硬件,可以完成实时条件下的动态系统测试仿真,例如快速控制原型仿真或者硬件在回路中的仿真。在众多实时仿真系统中,目前最流行、性能最出色的产品为德国dSPACE公司研发的dSPACE系统,有关dSPACE系统的详细信息可以查阅网上信息www.dspaceinc.com或者www.hirian.com。,Stateflow产品是以Simulink产品为基础的图形化建模仿真环境,它是基于有限状态机理论对事件驱动模型进行建模和仿真的图形化环境,可以用于复杂逻辑控制、状态切换系统的建模和仿真。利用Stateflow Coder可以将Stateflow模型转变成为标准C代码,这样就可以结合RTW生成的代码共同完成实时系统的仿真。 MATLAB整个产品体系中共有70余个产品模块,如果需要了解这些产品的详细信息可以参阅MATLAB的相关文档。,1.2 MATLAB桌面环境,MATLAB的桌面环境可以包含多个窗口,这些窗口分别为历史命令窗口(Command History)、命令行窗口(Command Window)、当前目录浏览器(Current Directory Browser)、工作空间浏览器(Workspace Browser)、目录分类窗口(Launch Pad)、数组编辑器(Array Editor)、M文件编辑器/调试器(Editor/Debugger)、超文本帮助浏览器(Help Navigator/Browser)。这些窗口都可以内嵌在MATLAB主窗体下,组成MATLAB的用户界面。 当MATLAB安装完毕并首次运行时,展示在用户面前的界面为MATLAB运行时的缺省界面,如图1-2所示。,图1-2 MATLAB启动之后默认的界面,MATLAB的桌面环境可以通过View菜单中Desktop Layout子菜单下的命令进行切换,这些命令分别为: Default:缺省的界面,如图1-2所示,其中包含历史命令窗口(Command History)、命令行窗口(Command Window),此外工作空间浏览器(Workspace)和当前目录浏览器(Current Directory)两个窗口层叠在一起。 Command Windows Only:仅包含命令行窗口(Command Window),此时MATLAB界面的外观类似于旧版本的MATLAB。, Simple:包含两个窗口命令行窗口(Command Window)和历史命令窗口(Command History),两个窗口并列在界面中。 Short History和Tall History:这两个菜单命令包含的窗口类型和数量同默认的界面完全一致,只是排放的顺序不同。 Five Panel:包含所有的MATLAB桌面窗口,在该界面中各个窗口处于平铺状态。,在MATLAB用户界面的View菜单下还有一些菜单命令可以用来选择显示在图形界面中的窗口,用户可以根据自己的喜好选择配置用户界面,推荐使用Command Windows Only的外观样式,此时仅显示一个窗口MATLAB的命令行窗口,这样相对占用的系统资源少,启动MATLAB的速度较快,同时执行MATLAB程序的效率也较高。 在上述各种MATLAB窗口中,最常用的就是MATLAB的命令行窗口,它最具特色的就是其命令回调的功能,也就是说在MATLAB的命令行窗口键入任意算术表达式,系统将自动解算,并给出结果,见下面的例子。,例1-1 计算算术表达式,只要直接在MATLAB的命令行窗口中键入: -5/(4.8+5.32)2 系统将直接计算表达式的计算结果,并且给出答案: ans = -0.0488,注意: 这里的符号“”为MATLAB的命令行提示符;这里的符号“”表示键入表达式之后按回车键。 MATLAB的数学运算符同其它的计算机高级语言(例如C语言)类似。计算得到的结果显示为ans,ans是英文单词“answer”的缩写,它是MATLAB默认的系统变量。所有MATLAB的计算结果和数值都默认使用双精度类型显示。,例1-2 复数的运算。 在MATLAB命令行窗口中键入: (1+2i)*(1-3i) 系统直接计算表达式的计算结果,并给出答案: ans = 7.0000 - 1.0000i,注意: 在MATLAB中表示复数按照例1-2中所示的样式,即其中x和y都是双精度的数字。在这里,i作为复数单位存在,同样也可以使用j表示复数单位。 在上面的两个例子中都是将MATLAB直接作为计算器来使用的,在MATLAB的命令窗口中还可以定义相应的MATLAB数据对象和变量以及调用函数。,例1-3 调用函数。 cos(pi/2) ans = 6.1232e-017 exp(acos(0.3) ans = 3.5470,在例1-3中调用了余弦函数来求/2的余弦值。数学知识告诉我们/2的余弦应该为0,但是MATLAB求的数值不是0,而是一个近似为0的数值,这是由MATLAB浮点数计算精度造成的。在调用函数的时候,需要注意括号的作用,它会使计算的优先级发生变化。在例1-3中,首先计算反余弦函数,然后再计算指数函数。 MATLAB的基本运算单位是矩阵,所以在MATLAB命令行中创建矩阵是最基本的操作。在例1-4中演示了创建矩阵和索引矩阵元素的方法。,例1-4 创建矩阵。 A = 1 2 3;4 5 6;7 8 90 A = 1 2 3 4 5 6 7 8 90 A(1,3) ans = 3 A(7) ans = 3,在例1-4中,首先创建了一个三阶的方阵,然后分别使用全下标方式和单下标方式索引了矩阵中的同一个元素。创建矩阵时,可以使用逗号“,”或者空格作为列与列元素之间的间隔,使用分号“;”表示行与行之间的间隔。在使用单下标进行元素索引时需要注意,MATLAB的矩阵索引是以列元素优先的。关于全下标和单下标方式索引矩阵元素的方法,请参阅MATLAB基础与编程入门一书或者MATLAB的帮助文档。,MATLAB的功能是通过大量的M语言函数或者MATLAB内建的函数来完成的,在命令行窗口中,调用这些函数的方法就是直接键入函数或者指令,并且根据不同的函数提供相应的参数列表。MATLAB的命令行窗口具有命令行记忆的功能,也就是说,在命令行窗口中,使用上下光标键就可以重复以前键入的指令,这对使用MATLAB是非常便利的。MATLAB还可以具有局部记忆的功能,例如在MATLAB的命令行窗口中曾经执行了一个名为testcommandwindows的函数,那么再次运行该函数时,只要在命令行中键入test,然后按光标上键(),整条命令会出现在命令行窗口中,再按回车键就可以执行该指令了。,1.3 使 用 帮 助,1.3.1 在线帮助 所有的MATALB函数都具有自己的帮助信息,这些帮助信息都保存在相应的函数文件注释区中,这些帮助信息是由那些编写函数的工程人员在编写函数的同时添加在函数内的,所以,这些信息能够最直接地说明函数的用途,或者函数需要的一些特殊的输入参数,以及函数的返回变量等。甚至在有些函数中,将函数采用的算法也在这里加以说明。另外,获取在线帮助的过程也非常快捷,因此,MATLAB的用户最常用的帮助就是在线帮助。获取在线帮助的指令是help或者helpwin。,例1-5 获取在线帮助。 在MATLAB命令行窗口中,键入下面的指令: %获取帮助主题 help HELP topics: matlabgeneral - General purpose commands. matlabops - Operators and special characters. matlablang - Programming language constructs. matlabelmat - Elementary matrices and matrix manipulation. matlabelfun - Elementary math functions. , %获取帮助主题下的函数列表 help elfun Elementary math functions. Trigonometric. sin - Sine. sinh - Hyperbolic sine. asin - Inverse sine. asinh
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号