《计算方法与MATLAB应用教案.pdf》由会员分享,可在线阅读,更多相关《计算方法与MATLAB应用教案.pdf(202页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、教 案院(部):教 研 室:主讲教师:课程名称:MATLAB工程应用授课专业:课程说明一 课程的基本情况课程名称:M A T L A B 工程应用课程性质:实践课课程学分学时:2适用专业:机械设计制造及其自动化课程简介:作为当今全世界最流行的第四代计算机语言一 M A T L A B 系统,由于它在航空航天、科学计算、自动控制、图形图象处理、系统建模仿真、数据分析、控制工程、机械优化等不同领域的广泛应用,以及它自身所具备的高度工具化、平台性及优秀的数据可视化功能而具有独特的优势。目前,M A T L A B 系统的开发和利用已极大地被工程技术以及教育界所关注与重视。本课程主要面向工科类学生,主
2、要学习M A T L A B 的语法规则、基本命令和使用环境,使学生掌握M A T L A B 的基本命令和基本程序设计方法,提高使用该语言的应用能力,具有使用M A T L A B 语言编程和调试的能力,以便为后续多门课程使用该语言奠定必要的基础。二 教学目标1 .本课程设置的主要任务是通过对M A T L A B.5环境、M A T L A B 矩阵及其运算、M A T L A B 程序设计、M A T L A B 文件操作、M A T L A B 绘图、M A T L A B 数据分析与多项式计算、M A T L A B解方程与函数极值、M A T L A B 数 值 积 分 与 微 分
3、 M A T L A B 符号计算、M A T L A B 图形句柄、M A T L A B 图形用户界面设计、S i m u l i n k 动态仿真集成环境、掌 握 应 用 M A T L A B 进行科学运算的能力;2 .进行简单程序设计的技能;3 .了 解 M A T L A B 在S i m u l i n k 仿真环境中的应用;4 .了解M A T L A B 与其它应用程序的接口;5 .培养学生利用M A T L A B 软件处理问题的思维方式和程序设计的基本方法,启发学生主动将M A T L A B 引入到其它基础课和专业课。为其它专业课的学习,为进行各种实用程序的开发,毕业设
4、计的实施以及将来走上工作岗位的实际应用打下良好的基础。1第 一 讲 绪 论一、目标与要求了 解 matlab的 起 源,发 展,优 势,应用范围等,熟 悉 matlab的操作界面,能够进行简单的数值汪算。二、教学重点与难点本堂课教学的重点在于引导学生掌握matlab的 安 装,熟 悉 matlab操 作 界 面,并进行简单的运算。三、教学方法本课程主要通过讲授法、演示法、练习法等相结合的方法来引导学生掌控本堂课的学习内容。四、教学内容提 问:机械工程的研究和工程实践过程哪些地方要运用到计算机技术?MATLAB的工程应用?(需要学生杳阅资料完成)文件(F)邸 8(E)S S(V)ftA(l)T
5、M(T)攵面(D)H D(W)(H)()matlab 是什么?2MATLAB 是矩阵实验室(Matrix Laboratory)(meitriks:矩阵,基质,模 型;Isboratsri:实验室)的简称,是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和 Simulink两大部分。(1)什么是 Simulink?Simulink是 MATLAB中的一种可视化仿真工具,是一种基于MATLAB的框图设计环境,是实现动态系统建模、仿真和分析的一个软件包,被广泛应用于线性系统、非线性系统、数字控制及数字
6、信号处理的建模和仿真中。Simulink可以用连续采样时间、离散采样时间或两种混合的采样时间进行建模,它也支持多速率系统,也就是系统中的不同部分具有不同的采样速率。为了创建动态系统模型,Simulink提供了一个建立模型方块图的图形用户接口(G U I),这个创建过程只需单击和拖动鼠标操作就能完成,它提供了一种更快捷、直接明了的方式,而且用户可以立即看到系统的仿真结果。simulink 的启动1)在 MATLAB命令窗口中输入simulink结果是在桌面上出现Y称为Simulink Library Browser的窗口,在这个窗口中列出了按功能分类的各种模块的名称。当然用户也可以通过MATSB
7、主窗口的快捷按钮来打开Simulink LibraryBrowser 窗口。2)在 MATLAB命令窗口中输入simulink3结果是在桌面上出现一个用图标形式显示的Library:simulink3的 Simulink模块库窗口。两种模块库窗口界面只是不同的显示形式,用户可以根据各人喜好进行选用,一般说来第二种窗口直观、形象,易于初学者,但使用时会打开太多的子窗口。(2)MATLAB 和 Simulink 的关系?3Simulink是MATLAB软件的扩展,它是实现动态系统建模和仿真的一个软件包,它与MATLAB语言的主要区别在于,其与用户交互接口是基于Windows的模型化图形输入,其结果
8、是使得用户可以把更多的精力投入到系统模型的构建,而非语言的编程上。所谓模型化图形输入是指Simulink提供了一些按功能分类的基本的系统模块,用户只需要知道这些模块的输入输出及模块的功能,而不必考察模块内部是如何实现的,通过对这些基本模块的调用,再将它们连接起来就可以构成所需要的系统模型(以.mdl文件进行存取),进而进行仿真与分析。matlab中的simulink主要是面向通信和控制的动态系统仿真。Simulink是MATUXB的重要工具箱之一,是用来可视化实现系统及建模与动态仿真的有效工作平台。在目前计算机应用日益显露出来的模型化、模块化的趋势下,Simulink必将得到更多人的青睐。(二
9、)matlab的起源与发展初始阶段:MATLAB名字由MATrix和LABorator/两词的前三个字母组合而成。那是20世纪七十年代后期的事:时任美国新墨西哥大学计算机科学系主任的Cleve Moler教授出于减轻学生编程负担的动机为学生设计了一组调用UNPACK和EISPACK库程序的 通俗易用 的接口此即用FORTRAN编写的萌芽状态的MATUXB。发展阶段:(1)经几年的校际流传,在Little的推动下,由Little、Moler、Steve Bangert合作,于1984年成立了 MathWorks公司,并把MATUXB正式推向市场。从这时起,MATLAB的内核采用C语言编写,而且除
10、原有的数值计算能力外,还新增了数据图视功能。MATUXB以商品形式出现后,仅短短几年,就以其良好的开放性和运行的可靠性,使原先控制领域里的封闭式软件包(如英国的UMIST,瑞典的LUND和SIMNON,德国的KEDDC)纷纷淘汰,而改以MATLAB为平台加以重建。在时间进入20世纪九十年代的时候,MATLAB已经成为国际控制界公认的标准计算软件。到九十年代初期在国际上30几个数学类科技应用软件中,MATLAB在数值计算方面独占鳌头而Mathematica和M叩Ie则分居符号计算软件的前两名。Mathcad因其提供计算、图形、文字处理的统一环境而深受中学生欢迎。4(2)MathWorks公 司
11、于1993年 推 出MATLAB4.0版 本,从此告别DOS版。4.x版在继承和发展其原有的数值计算和图形可视能力的同时,出现了以下几个重要变化:a)推出了 SIMULINK,这是一个交互式操作的动态系统建模、仿真、分析集成环境。它的出现使人们有可能考虑许多以前不得不做简化假设的非线性因素、随 机 因 素,从而大大提高了人们对非线性、随机动态系统的认知能力。b)开发了与外部进行直接数据交换的组件,打通了 MATLAB进行实时数据分析、处理和硬件开发的道路。c)推出了符号计算工具包。1993年MathWorks公司从加拿大滑铁卢大学购得Maple的使用权,以Maple为 引擎 开发了 Symbo
12、lic Math Toolbox 1.0o MathWorks公司此举加快结束了国际上数值计算、符号计算孰优孰劣的长期争论,促成了两种计算的互补发展新时代。d)构作了 Notebook 0 MathWorks公司瞄准应用范围最广的Word,运 用DDE和OLE,实现了MATLAB与Word的无绛连接,从而为专业科技工作者创造了融科学计算、图形可视、文字处理于一体的高水准环境。(3)1997年 仲 春,MATLAB5.0版 问 世,紧接着是5.1、5.2,以 及 和1999年 春 的5.3版。与4.x相 比,现 今 的MATLAB拥有更丰富的数据类型和结构、更友善的面向对象、更加快速精良的图形可
13、视、更广博的数学和数据分析资源、更多的应用开发工具。发展历程20世 纪70年 代,美国新墨西哥大学计算机科学系主任Cleve Moler为了减轻学生编程 的 负 担,用FORTRAN编写了最早的MATLABO 1984年 由Little、Moler、Steve Bangert合作成立了 的MathWorks公司正式把MATLAB推向市场。到20世 纪90年 代,MATSB已成为国际控制界的标准计算软件。(三)国外matlab的应用5在欧美大学里,诸如应用代数、数理统计、自动控制、数字信号处理、模拟与数字通信、时间序列分析、动态系统仿真等课程的教科书都把MATLAB作为内容。在 那 里,MATL
14、AB是攻读学位的大学生、硕士生、博士生必须掌握的基本工具。在国际学术界,MATLAB已经被确认为准确、可靠的科学计算标准软件。在许多国际一流学术刊物 上,(尤其是信息科学刊物),都可以看到MATLAB的应用。在设计研究单位和工业部门,MATLAB被认作进行高效研究、开发的首选软件工具。如美国National Instruments公司信号测量、分析软件LabVIEW Cadence公司信号和通信分析设计软件SPW等,或者直接架构在MATLAB之 上,或 者 以 MATLAB为主要支撑。又 如 HP公司的VXI硬 件,TM公司 的 DSP,Gage公司的各种硬卡、仪器等都接受MATUXB的支持。
15、(四)matlab语言的特点MATUXB的语言特点 一种语言之所以能如此迅速地普及,显示出如此旺盛的生命力,是由于它有着不同于其他语言的特点,正 如 同FORTRAN和C等高级语言使人们摆脱了需要直接对计算机硬件资源进行操作一样,被称作为第四代计算机语言的MATLAB,利用其丰富的函数资源,使编程人员从繁琐的程序代码中解放出来。MATUXB最突出的特点就是简洁。MATLAB用更直观的,符合人们思维习惯的代码,代替了 C和 FORTRAN语言的冗长代码。M A TLAB给用户带来的是最直观,最简洁的程序开发环境。以下简单介绍一下MATLAB的主要特点。1周 语 言 简 洁 紧 凑,使用方便灵活,
16、库函数极其丰富。MATUXB程序书写形式自由,利用起丰富的库函数避开繁杂的子程序编程任务,压缩了一切不必要的编程工作。由于库函数都由本领域的专家编写,用户不必担心函数的可靠性。可 以 说,用 MATLAB进行科技开发是站在专家的肩膀上。具 有 FORTRAN和 C等高级语言知识的读者可能已经注 意 到,如 果 用 FORTRAN或 C 语言去编写程序,尤其当涉及矩阵运算和画图时,编程会很麻烦。例如,如果用户想求解一个线性代数方程,就得编写一个程序块读入数据,然后再使用一种求解线性方程的算法(例如追赶法)编写一个程序块来求解方程,最后再输出计算结果。在求解过程中,最麻烦的要算第二部分。解线性方程
17、的麻烦在于要对矩阵的元素作循环,选择稳定的算法以及代码的调试动不容易。即使有部分源代码,用户也会感到麻烦,且不能保证运算的稳定性。解线性方程的程序用6FORTRAN和 C这样的高级语言编写,至少需要四百多行,调试这种几百行的计算程序可以说很困难。以 下 用 MATUXB编写以上两个小程序的具体过程。MATLAB求解下列方程,并求解矩阵A 的特征值。Ax=b,其 中:A=32 13 45 67 23 79 85 12 43 23 54 6598 34 71 35 b=1 2 3 4 解 为:x=A b;设 A 的特征值组成的向量e,e=eig(A)0 可 见,MATLAB的程序极其简短。更为难能
18、可贵的是,MATUKB甚至具有一定的智能 水 平,比如上面的解方程,MATLAB会根据矩阵的特性选择方程的求解方法,所以用户根本不用怀疑 MATSB的准确性。2)运算符丰富。由 于MATLAB是 用C语言编写的,MATLAB提供了和C语言几乎一样多的运算符,灵活使用MATLAB的运算符将使程序变得极为简短。3)MATLAB既具有结构化的控制语句(如for循 环,while循 环,break语 句 和if语 句),又有面向对象编程的特性。4)程序限制不严格,程序设计自由度大。例 如,在 MATLAB里,用户无需对矩阵预定义就可使用。5)程序的可移植性很好,基本上不做修改就可以在各种型号的计算机和
19、操作系统上运行。6)MATLAB的图形功能强大。在FORTRAN和C语 言 里,绘图都很不容易,但 在 MATUXB里,数据的可视化非常简单。MATUXB还具有较强的编辑图形界面的能力。7)MATLAB的缺点是,它和其他高级程序相比,程序的执行速度较慢。由 于 MATLAB的程序不用编译等预处理,也不生成可执行文件,程序为解释 执 行,所以速度较慢。8)功能强大的工具箱是MATLAB的另一特色。MATLAB包含两个部分:核心部分和各种可选的工具箱。核心部分中有数百个核心内部函数。其工具箱又分为两类:功能性工具箱和学科性工具箱。功能性工具箱主要用来扩充其符号计算功能,图示建模仿真功能,文字处理功
20、能以及与硬件实时交互功能。功能性工具箱用于多种学科。而学科性工具箱是专业性比较强的,如control,toolbox,signl proceessing toolbox,commumnication toolbox 等。这些工具箱都是由该领域内学术水平很高的专家编写的,所以用户无需编写自己学科范围内的基础程序,而直接进行高,精,尖的研究。9)源程序的开放性。可以使用日 it+函数名齐放性也许是MATLAB最受人们欢迎的特点。除内部函数以外,所 有 MATLAB的核心文件和工具箱文件都是可读可改的源文件,用户可通过对源文件的修改以及加入自己的文件构成新的工具箱。(五)实 例720世纪最著明的物理
21、学家爱因斯坦提出了著明的相对论,相对论最著明的质能转换公式如下:E=mc2这个公式将质量和能量两个独立的领域联系在一起了,可用于计算核反应过程中物质所释放的能量。太阳能够释放385 xl024j/s的 能 量,这些能量全部都是由核反应产生的。使 用MATLAB进行计算一天中太阳释放的能量需要多少物质进行转换。光速 c=3.0 xl08m/s(六)软件的安装及激活(七)练习在进一步学习之间,先做如下练习,在命令窗口中输入如下表达式:1.5+22.5*23.5/24.3+2*(4+3)5.2.54*8/2.66.6.3-2.10457.3.6A28.1+2 八 29.sqrt(5)10.cos(p
22、i)(A )matlab中常用的command窗口命令81)【上、下键】一切换到之前、之后的命令,可以重复按多次来达到你想要的命令2)clc一清除命令窗口显示的语句,此命令并不清空当前工作区的变量,仅仅是把屏幕上显示出来的语句清除掉3)clear这个才是清空当前工作区的变量命令,常用语句clear all来完成(九)MATLAB 窗口 Commad windows Current directory Workplace Command history windows Document windows Graphics windows Editing windows1)Command histo
23、ry windows 历史命令窗口记录所有运行过的命令。当退出MATLAB或运行clc命令时,命令窗口将会被清空,但历史命令窗口仍然会保存所有运行过的命令。1.编辑菜单可以清空该窗口中的命令。Edit-clear command history2.双击历史命令窗口中的命令行就可以把该命令调回命令窗口运行。3.单击并拖拽命令代码到命令窗口也可运行历史命令92)Workplace 工作区记录命令窗口中已经运行过变量。ans是 matlab中默认的结果变量.每次matlab进行运算后,结果都要储存在指定的变量中.如果你只是输入表达式,却不指定把表达式的运算结果储存在哪个变量里面,那么matlab就自
24、动地将结果储存在ans变量中.直到下一次不带指定存储变量的运算结束前,ans中所储存的值不变.float是单精度浮点数,它的范围可以取到-3.40292347E+38至 U+3.40292347E+38之间 double是双精度浮点,它的范围可以取到-1.79769313486231570E+308到+1.79769313486231570E+308 之间 单精度浮点变量与双精度浮点变量在内存的占用上是不同的.一般float是 4 个字节,而 double是 8 个字节3)Current directory存储的相关文件会保存到当前路径。4)Document windows 双击工作区内的任何
25、一个变量就会出现文档窗口。可以更改变量的数值 创建新的数组5)Graphics windowsx=l 2 3 4 5;10y=10 20 30 40 50Plot(x,y)6)在编辑窗口中可以输入或保存多个命令,但是不一定执行。以下以条路径可以进入编辑窗口:File-new-M-file在命令提示符后输入edit在工具栏按纽里面点击New file按纽7)Matlab变量命名规则 变 量名必须以字母开始,区分大小写,最长变量名为63个字符,可以用namelengthmax来保证 变 量名中允许使用的字符仅包括:字 母,数字和下划线。可以用isvarname来核实变量名的有效性。与其它计算机语言
26、类似,数字1表示true,数字0 表示falseIsvarname time;MATLAB中保留的关键字不能作为变量名。用户可以使用命令iskeyword查看系统预定义的关键字 MATLAB允许重新指定内置函数名作为变量名。sin=4但这样做是很危险的,因为函数内置sin就不能再被使用了。可以输入下述命令将sin恢复到函数功能clear sinMATLAB中可以用which来检查一个变量是否为内置函数Which sin8)练习11 判断下面哪些变量名可以在MATLAB中使用。先初步判断,然后用isvarname,iskeyword,which等命令进行测试l.test7.istgroup2.T
27、est8.Group_one3.1f9.zzaAbc4.my-book10.z34wAwy?12#5.my_bookll.sin6.Pi12.log/教 学 反 思12第二讲基本入门知识一、目标与要求掌握matlab中基本的入门知识。二、教学重点与难点本堂课教学的重点在于引导学生在对matlab基本知识的一些应用。三、教学方法本课程主要通过讲授法、演示法、练习法等相结合的方法来引导学生掌控本堂课的学习内容。四、教学内容2.1应用基础一、最简单的计算器使用方法MATLAB的基本特性之一就是其演草纸式的数学运算功能,用户可以在命令窗口中进行各种数学演算。例:求算术运算 9x(10-1)+19卜22
28、的结果。解:在MATLAB命令窗口中输入:(9*(10-l)+19)/2A2按回车键,命令被执行,显示下述结果:ans=25说 明:在全部输入一个命令行内容后,必须按下回车键,该命令才会被执行。无需在命令行的末尾处执行,在一个命令行的任何一处都可执行。运算符号均为西文字符,不能在中文状态下输入。ans是运算答案,是M ATSB的一个默认变量。13如果不显示计算结果,可在命令行末尾添加分号,以分号结尾的命令行语句,尽管该命令已执行,但 MATUXB不会把其运算结果显示在命令窗口中。二、矩阵1、矩阵的生成在 MATLAB中,矩阵的生成可以以矩阵的格式输入数据,也可以用load”命令调用已存储的矩阵
29、数据或矩阵变量,还可以应用MATLAB提供的函数生成特殊矩阵。在 MATLAB中输入矩阵要遵循以下基本规则:矩阵元素之间用空格或逗号分隔,矩阵行之间用分号隔离,整个矩阵放在方括号里,目标点符号一定要在英文状态下输入。不必事先对矩阵维数做任何说明,存储时将自动配置。MATLAB区分字母的大小写。1 11例:以矩阵格式输入数据,自定义一个三阶帕斯卡矩阵A=1 2 3。1 3 6解:在 MATLAB命令窗口中输入:A=1,1,1;1,2,3;1,3,6%或者把逗号改为空格输入运行结果为:A=1 1 11 2 31 3 6A(I,j)表示矩阵A 中第i 行第j 列元素;A(i,:)表示矩阵A 中第i
30、行全部元素;A(:,j)表示矩阵A 中第j 列全部元素。2、特殊矩阵的生成(1)空矩阵空矩阵用 口 表示。空矩阵的大小为零,但变量名却保存在工作空间中。(2)单位矩阵14单位矩阵使用函数eye。实现,调用格式如下:eye(n)生成nxn维单位矩阵eye(n,m)生成nxm维单位矩阵(3)零矩阵零矩阵用函数zeros()实现,调用格式与函数eye()完全相同。(4)全部是1 的矩阵元素全部为1 的矩阵可用函数ones()实现,调用格式与函数eye()完全相同。(5)对角矩阵的生成对角矩阵是指对角线上的元素为任意数,其他元素为零的矩阵。用函数diag()实现。格式为:diag(V)diag(V,K
31、)说 明:V 为某个向量,K 为向量偏离主对角线的列数。K=0,V 在主对角线上;K0,V 在主对角线以上;K v=l 2 3 4 5;diag(v)其运行结果为:ans=1 00 20 00 00 00 0 00 0 03 0 00 4 00 0 5三、MATLAB的基本要素MATUXB的基本要素包括变量、预定义变量、数值、字符串、运算符、标点符及复数等。151、变量MATLAB会自动依据所赋予变量的值或对变量所进行的操作来识别变量的类型。如果赋值变量已存在,将使用新值代替旧值,并以新值类型代替旧值类型。MATUXB变量的命名遵循以下规则:(1)变量均先定义、后使用。(2)变量名以英文字母开
32、头。(3)变量名可以由字母、数字和下划线混合组成。(4)对于6.5以上版本,变量名最多可包含63个字符。(5)变量名中不得包含空格和标点,但可以包含下划线。(6)MATLAB区分变量大小写。2、预定义变量在 MATLAB中存在一些固定变量(也称为常量),这就是MATLAB默认的预定义变量,也称为默认变量,每当MATLAB启动时,这些变量就被产生。MATLAB的预定义变量名称变量含义名称变量含义ans计算结果的缺省变量名nargin函数输入变量个数beep使计算机发出“嘟嘟 声nargout函数输出变量个数bitmax最大正整数,9.0072K 10,5Pi圆周率TTeps计算机中的最小数,=2
33、3realmin最小正实数,2 T 22i 或j虚数单位,定义为Qrealmax最大正实数,(2-e)2,0 2 3Inf 或 inf无穷大,如 1/0varagin可变的函数输入变量个数NaN 或 nan不定值,如 0/0,00/00,0*8varagout可变的函数输出变量个数3、数值可以使用十进制计数法,也可以使用科学计数法,数值的有效范围为10 3&10琳o4、字符串16创建字符串的方法:先将待建的字符串放在一个“单引号对 中,再按回车键,且该单引号对必须在英文状态下输入,但字符串内容可以为中文。5、运算符MATUXB的运算符包括算术运算符、关系运算符和逻辑运算符。MATLAB的算术运
34、算符MATLAB的关系运符操作符功能操作符功能十算术加/算术右除-算术减.*点乘*算术乘A点乘方A算术乘方A点左除算术左除./点右除算符及逻辑运算操作符功能操作符功能操作符功能=等于=大于等于&与Z-不等于大于 a=2:8运行结果为:a=2 3 4 5 6 7 8例:用冒号定义增量为给定值的行向量。解:在MATLAB命令窗口中输入:a=0:10:80运行结果为:18a=0 10 20 30 40 50 60 70 80例:用冒号截取指定矩阵中的部分元素。解:在MATLAB命令窗口中输入:A=12 3;4 5 6;7 8 9;B=A(1:2,:)%取 出 矩 阵A的 第1行 和 第2行运行结果为
35、:B=1 2 34 5 6(2)分号分号在矩阵中用来分隔行,如果不希望某些运算结果显示在屏幕中,还可以用分号作为该行结束的标志。7、复数复数的生成可以利用下面语句:z=a+bi或z=r*exp(0*i),其 中r是复数的模,9是复数幅角的弧度数。巴例:已知复数Z =3+Z4,Z2=1 +z3=2 e6,计 算z=无1。Z3解:在MATLAB命令窗口中输入:zl=3+4i;z2=l+2i;z3=2*exp(pi/6)*i);z=zl*z2/z3运行结果为:z=0.3349+5.580112.2基本操作19一、命令窗口1、命令窗口显示及设置个性设置方法:选择菜单File|Preference,打开
36、参数设置对话框。2、命令窗口的常用控制命令3、命令窗口中命令行的编辑命令功能命令功能cd设置当前工作目录exit关闭/退出MATLABelf清除图形窗口quit关闭/退出MATLABcic清除命令窗口中显小的内容more使其后的显示内容分页进行clear清除工作空间中保存的变量type显示指定M 文件的内容dir列出指定目录下的文件和子目录清单which指出其后文件所在的目录edit打开M 文件编辑器键名功能键名功能t前寻式调回已输入过的命令行Home使光标移到当前行的首端1后寻式调回已输入过的命令行End使光标移到当前行的尾端4 在当前行中左移光标Delete删去光标右边的字符 在当前行中右
37、移光标Backspace删去光标左边的字符PageUp前寻式翻阅当前窗口中的内容Esc清除当前行的全部内容PageDown后寻式翻阅当前窗口中的内容20二、命令历史窗口命令历史窗口的主要应用功能及操作方法应用功能操作方法简捷操作方法复制单行或多行命令选中单行或多行命令;单击鼠标右键打开现场菜单;选择菜单Copy”;把选中的单行或多行命令粘贴到包括命令窗口在内的任何地方选中变量之后,按“Ctrl+C”键运行单行命令选中单行命令;单击鼠标右键打开现场菜单;选择菜单EvaluateSelection”;在命令窗口中运行用鼠标左键双击单行命令运行多行命令选中多行命令;单击鼠标右键打开现场菜单;选择菜单
38、EvaluateSelection;在命令窗口中运行将多行命令写成M文件选中多行命令;单击鼠标右键打开现场菜单;选择菜单Create M-File”,打开书写这些命令的M 文件编辑/调试器;进行相应操作,即建立所需的M 文件三、当前目录浏览器文件详细列表区的主要应用功能及操作方法应用功能操作方法简捷操作方法运行M 文件选中文件;单击鼠标右键;选择菜单Run一编辑M 文件选中文件,单击鼠标右键;选择菜单Open双击M 文件把 MAT文件的全部数据输入工作空间选中数据文件,单击鼠标右键;选择菜单Open双击MAT文件把 MAT文件的部分数据输入内存选中数据文件,单击鼠标右键;选择菜单Import
39、D ata,打开数据预览选择对话框 Import W izard;选中待装载数据变量名,单 击“Finish21四、工作空间浏览器工作空间是指运行MATLAB的程序或命令时生成的所有变量与MATLAB提供的常量构成的空间,也称为内存空间。工作空间浏览器的主要应用功能及操作方法五、数组编辑器应用功能操作方法简捷操作方法变量的字符显示选中变量;右键选择菜单OpenSelection用鼠标左键双击变量变量的图形显示选中变量;右键选择菜单Plot allcolumns全部内存变量保存为MAT文件右键选择菜单Save as.”部分变量保存为MAT文件选中若干变量,右键选择菜单Saveas.”重命名变量名
40、选中欲重命名的变量;右键选择Rename变量复制选中若干变量,右键选择CopyCtrl+C是工作空间浏览器的一个组件,用于生成数组、观察数组内容以及编辑其值。打开的三种方法:1、选中工作空间浏览器中的任意一维或二维数组,再双击该数组。2、单击工作空间浏览器的工具栏图标。3、选择菜单Open Selection。通常在命令窗口中输入较大规模数组时,先在命令窗口中向一个新变量赋 空 矩阵,然后打开数组编辑器逐格填写数组元素值。六、数据文件的存取1、数据文件的保存22save FileNameFileName.mat 文件save FileName vl v2save FileName vl v2-
41、append文件中save FileName vl v2-ascii文件save FileName vl v2-ascii-double文件将全部变量保存为当前目录下的将变量vl,v2保存为FileName.mat文件将变量vl,v2添加到已有的FileName.mat将变量vl,v2保存为FileName 8位ASCII将变量vl,v2保存为FileName 16位ASCH2、数据文件的调入load FileName作空间load FileName vl v2入工作空间load FileName vl v2-ascii装入工作空间/教 学 反 思将 FileName.mat文件中的全部变量装
42、入工将 FileName.mat文件中的vl,v2变量装将 FileName ASCII文件中的vl,v2变量23第三讲函数的运用一、目标与要求掌 握matlab中内置的初等数学函数、三角函数、数据分析函数等函数的运用。二、教学重点与难点本堂课教学的重点在于引导学生在命令窗口进行一些简单的计算,对matlab初等的数学函数能够熟练运用,并能写一些matlab的简单程序解决实际问题。三、教学方法本课程主要通过讲授法、演示法、练习法等相结合的方法来引导学生掌控本堂课的学习内容。四、教学内容一、课程内容回顾上节课主要学习了数据显示格式、复数的运算、算术运算等。(1)短数据格式和长数据格式之间的显示切
43、换(2)15+16i,求该复数的模和辐角,实吾屿虚部(3)1:3;2:4;3:5,求矩阵的转置初等数学函数包括对数函数、指数函数、绝对值函数、四舍五入函数和离散数学中的函数。我们今天课程的任务就是掌握这些函数的运用。二、常用的数学函数常用数学函数abs(x)求X的绝对值24sqrt(x)求x的平方根(square root)Nthroot(x,n)求 X的 n 次方实数根,函数的输出结果不能是复数sign(x)如果x 大于0 输出1;如果如果x 等于0 输出0;如果如果x小于0 输出-1rem(x,y)求 x/y的余数exp(x)计算ex,其中e 是自然对数的底,数值约等于2.7183log(
44、x)计算ln(x),它是x 的自然对数(底为e)loglO(x)计算lg(x),x的常用对数(底为10)Iog2(x)以 2 为底的对数,其它数值为底的对数运算需要间接求得。Matlab未提供通用的对数运算函数练 习创建矢量X,在-9 到 12之间,步长为3(1)求 X除以2 的商(2)求 x 除以2 的余数(3)ex(4)求 x 的自然对数ln(x)(5)求 x 的常用对数lg(x)(6)用函数sign确定矢量x 中哪些元素为正(7)将显示格式变为rat,显示x 除以2 的结果Eg:x=-9:3:12;(1)x/2;(2)rem(x,2);(3)exp(x);(4)log(x);(5)l o
45、 g l O(x);(6)s i g n(x);(7 )f o r mat r at;x/2三、取整函数25Matlab中有几种不同的取整函数。其中最常用的是四舍五入。然而取上近似还是取下近似要根据实际情况而定。例如,在杂货店买水果,苹果0.52美元一个,5 美元能买几个?5.000.52/苹果=9.6154 苹果但是在现实生活中,显然不能买半个苹果,而且也不能四舍五入到10.所以,只能向下取近似值9.取 整 函 数round(x)对 x 四舍五入round(8.6)ans=9fix(x)对 X取 整,舍弃小数点后的数值fix(8.6)ans=8floor(x)对 X负向取整floor(-8.
46、6)ans=-9ceil(x)对 X正向取整ceil(-8.6)ans=-8四、离散数学中的函数离散数学就是有关数的数学,也就是中学代数里的因式分解、求最大公因数和最小公倍数。此外还有统计学和概率论中的阶乘运算。离散数学中的函数factor(x)对 x 进行因式分解gcd(x,y)找出x 和 y 的最大公因数Icm找出x 和 y 的最小公倍数rats(x)用分数表示Xfactorial(x)计算X的阶乘,如 6!=6x5x4x3x2xl26nchoosek(n,k)计算n 中选k 的组合数。如 10中选3 的可能组合数为120primes(x)提出小于X 的素数isprime(x)检查X是否为
47、素数,若 X是素数,则返回1;否则,返回 0练 习(1)求 322的因数factor(322)(2)找出322和 6 的最大公约数gcd(322,6)(3)检验322是否为素数isprime(322)(4)计算从0 到 322之间素数的个数A=primes(322);length(A)(5)用分数近似表示ITformat rat;Pi(6)求 10的阶乘10!factorial 10)五、三角函数三角函数sin(x)X 用弧度表示,计算x 的正弦值cos(x)X 用弧度表示,计算x 的余弦值27tan(x)X用弧度表示,计算x 的正切值asin(x)X的 取 值 在,1 区间内,计算反正弦值,
48、返回值在-n/2,n/2 区间内sinh(x)X用弧度表示,计算x 的双曲正弦值asinh(x)计算X的反双曲正弦值sind(x)X用角的度数表示,计算x 的正弦值asind(x)计算反正弦,结果用角的度数表示练 习(1)sin(2x),x=3nx=3*pi;sin(2*x);(2)cos(x),x 的范围0,2 n,步长为 0.2nx=0:0.2*pi:2*pi;cos(x)arcsin(l)(4)arccos(x),x 的范围-1,1,步长为 0.2x=-l:0.2:l;acos(x)求 450角的余弦值x=450/180*pi;cos(x);(6)求 0.5的反正弦值,注意区分结果为角度
49、还是弧度。asin(0.5);asind(0.5)六、数据分析函数(1)最大值和最小值max(x)(1)求出矢量x 的最大值。例如x=l 5 3 最大值是50(2)创建一个包含矩阵x 中每列最大值的行矢量。28a,b=max(x)求矢量x 中元素的最大值和最大值的位置,a 表示最大值,b 表示最大值的位置。若 x是矩阵,此函数生成两个行矢量,一个行矢量表示X各列的最大值,另一个行矢量对应最大值元素的位置。max(x,y)矩阵x 和 y 具有相同的行和列,用两个矩阵中相同位置元素的最大值创建一个新的矩阵min(x)(1)求矢量X的最小值(2)创建一个包含矩阵x 中每列最小值的行矢量。a,b=mi
50、n(x)求矢量x 中元素的最小值和最小值的位置,a 表示最小值,b 表示最小值的位置。若 x 是矩阵,此函数生成两个行矢量,一个行矢量表示X各列的最小值,另一个行矢量对应最小值元素的位置。min(x,y)矩阵x 和 y 具有相同的行和列,用两个矩阵中相同位置元素的最小值创建一个新的矩阵练 习,3 55 65、x=2 78 82J 84 92,1.求每列的最大值 max(x)2.求最大值的位置 a,b=max(x)3.求每行的最大值 m axg 4.求最大值的位置 a,b=max(x)29 5.求矩阵中所有元素的最大值max(max(x)(2)平均值和中间值mean(x)(1)求矢量x 的平均值