数学实验matlab.doc

上传人:hw****26 文档编号:3239168 上传时间:2019-05-26 格式:DOC 页数:5 大小:47.50KB
下载 相关 举报
数学实验matlab.doc_第1页
第1页 / 共5页
数学实验matlab.doc_第2页
第2页 / 共5页
数学实验matlab.doc_第3页
第3页 / 共5页
数学实验matlab.doc_第4页
第4页 / 共5页
数学实验matlab.doc_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

1、数学实验MATLAB 简介1.MATLAB 的概况 MATLAB 是矩阵实验室( Matrix Laboratory)之意。除具备卓越的数值计算能力外,它还提供了专业水平的符号计算,文字处理,可视化建模仿真和实时控制等功能。 MATLAB 的基本数据单位是矩阵,它的指令表达式与数学,工程中常用的形式十分相似,故用 MATLAB 来解算问题要比用 C,FORTRAN 等语言完相同的事情简捷得多. 当前流行的 MATLAB 5.3/Simulink 3.0 包括拥有数百个内部函数的主包和三十几种工具包(Toolbox).工具包又可以分为功能性工具包和学科工具包.功能工具包用来扩充 MATLAB 的

2、符号计算,可视化建模仿真,文字处理及实时控制等功能.学科工具包是专业性比较强的工具包,控制工具包,信号处理工具包,通信工具包等都属于此类. 开放性使 MATLAB 广受用户欢迎 .除内部函数外,所有 MATLAB 主包文件和各种工具包都是可读可修改的文件,用户通过对源程序的修改或加入自己编写程序构造新的专用工具包. 2.MATLAB 产生的历史背景 在 70 年代中期,Cleve Moler 博士和其同事在美国国家科学基金的资助下开发了调用 EISPACK和 LINPACK 的 FORTRAN 子程序库.EISPACK 是特征值求解的 FOETRAN 程序库,LINPACK是解线性方程的程序库

3、.在当时,这两个程序库代表矩阵运算的最高水平. 到 70 年代后期,身为美国 New Mexico 大学计算机系系主任的 Cleve Moler,在给学生讲授线性代数课程时,想教学生使用 EISPACK 和 LINPACK 程序库,但他发现学生用 FORTRAN 编写接口程序很费时间,于是他开始自己动手,利用业余时间为学生编写 EISPACK 和 LINPACK 的接口程序.Cleve Moler 给这个接口程序取名为 MATLAB,该名为矩阵(matrix) 和实验室(labotatory)两个英文单词的前三个字母的组合.在以后的数年里,MATLAB 在多所大学里作为教学辅助软件使用,并作为

4、面向大众的免费软件广为流传. 1983 年春天,Cleve Moler 到 Standford 大学讲学,MATLAB 深深地吸引了工程师John Little.John Little 敏锐地觉察到 MATLAB 在工程领域的广阔前景.同年,他和Cleve Moler,Steve Bangert 一起 ,用 C 语言开发了第二代专业版.这一代的 MATLAB 语言同时具备了数值计算和数据图示化的功能. 1984 年,Cleve Moler 和 John Little 成立了 Math Works 公司,正式把 MATLAB 推向市场,并继续进行 MATLAB 的研究和开发 . 在当今 30 多

5、个数学类科技应用软件中,就软件数学处理的原始内核而言,可分为两大类.一类是数值计算型软件,如 MATLAB,Xmath,Gauss 等,这类软件长于数值计算,对处理大批数据效率高; 另一类是数学分析型软件,Mathematica,Maple 等,这类软件以符号计算见长 ,能给出解析解和任意精确解,其缺点是处理大量数据时效率较低.MathWorks 公司顺应多功能需求之潮流 ,在其卓越数值计算和图示能力的基础上,又率先在专业水平上开拓了其符号计算,文字处理,可视化建模和实时控制能力,开发了适合多学科,多部门要求的新一代科技应用软件 MATLAB.经过多年的国际竞争,MATLAB 以经占据了数值软

6、件市场的主导地位 . 在 MATLAB 进入市场前,国际上的许多软件包都是直接以 FORTRANC 语言等编程语言开发的。这种软件的缺点是使用面窄,接口简陋,程序结构不开放以及没有标准的基库,很难适应各学科的最新发展,因而很难推广。MATLAB 的出现,为各国科学家开发学科软件提供了新的基础。在 MATLAB 问世不久的 80 年代中期,原先控制领域里的一些软件包纷纷被淘汰或在MATLAB 上重建。 MathWorks 公司 1993 年推出了 MATLAB 4。0 版,1995 年推出 4。2C 版(for win3。X)1997 年推出 5。0 版。1999 年推出 5。3 版。MATLA

7、B 5。X 较 MATLAB 4。X 无论是界面还是内容都有长足的进展,其帮助信息采用超文本格式和 PDF 格式,在 Netscape 3。0 或 IE 4。0及以上版本,Acrobat Reader 中可以方便地浏览。 时至今日,经过 MathWorks 公司的不断完善,MATLAB 已经发展成为适合多学科,多种工作平台的功能强大大大型软件。在国外,MATLAB 已经经受了多年考验。在欧美等高校,MATLAB 已经成为线性代数,自动控制理论,数理统计,数字信号处理,时间序列分析,动态系统仿真等高级课程的基本教学工具;成为攻读学位的大学生,硕士生,博士生必须掌握的基本技能。在设计研究单位和工业

8、部门,MATLAB 被广泛用于科学研究和解决各种具体问题。在国内,特别是工程界,MATLAB 一定会盛行起来。可以说,无论你从事工程方面的哪个学科,都能在 MATLAB 里找到合适的功能。MATLAB 的特点1编程效率高 它是一种面向科学与工程计算的高级语言,允许用数学形式的语言编写程序,且比Basic、Fortran 和 C 等语言更加接近我们书写计算公式的思维方式,用 Matlab 编写程序犹如在演算纸上排列出公式与求解问题。因此,Matlab 语言也可通俗地称为演算纸式科学算法语言由于它编写简单,所以编程效率高,易学易懂。 2用户使用方便 Matlab 语言是一种解释执行的语言(在没被专

9、门的工具编译之前) ,它灵活、方便,其调试程序手段丰富,调试速度快,需要学习时间少。人们用任何一种语言编写程序和调试程序一般都要经过四个步骤:编辑、编译、连接以及执行和调试。各个步骤之间是顺序关系,编程的过程就是在它们之间作瀑布型的循环。Matlab 语言与其它语言相比,较好地解决了上述问题,把编辑、编译、连接和执行融为一体。它能在同一画面上进行灵活操作快速排除输入程序中的书写错误、语法错误以至语意错误,从而加快了用户编写、修改和调试程序的速度,可以说在编程和调试过程中它是一种比 VB 还要简单的语言。 具体地说,Matlab 运行时,如直接在命令行输入 Mailab 语句(命令) ,包括调用

10、 M 文件的语句,每输入一条语句,就立即对其进行处理,完成绩译、连接和运行的全过程。又如,将 Matlab 源程序编辑为 M 文件,由于 Mat1ab 磁盘文件也是 M 文件,所以编辑后的源文件就可直接运行,而不需进行编译和连接。在运行 M 文件时,如果有错,计算机屏幕上会给出详细的出锗信息,用户经修改后再执行,直到正确为止。所以可以说,Mat1ab 语言不仅是一种语言,广义上讲是一种该语言开发系统,即语言调试系统。 3扩充能力强 高版本的 Matlab 语言有丰富的库函数,在进行复杂的数学运算时可以直接调用,而且 Matlab的库函数同用户文件在形成上一样,所以用户文件也可作为 Matlab

11、 的库函数来调用。因而,用户可以根据自己的需要方便地建立和扩充新的库函数,以便提高 Matlab 使用效率和扩充它的功能。另外,为了充分利用 Fortran、C 等语言的资源,包括用户已编好的 Fortran,C 语言程序,通过建立 Me 调文件的形式,混合编程,方便地调用有关的 Fortran,C 语言的子程序。 4语句简单,内涵丰富 Mat1ab 语言中最基本最重要的成分是函数,其一般形式为a,6,c = fun(d , e,f,) ,即一个函数由函数名,输入变量 d,e,f,和输出变量 a,b,c组成,同一函数名 F,不同数目的输入变量(包括无输入变量)及不同数目的输出变量,代表着不同的

12、含义(有点像面向对象中的多态性。这不仅使 Matlab 的库函数功能更丰富,而大大减少了需要的磁盘空间,使得 Matlab 编写的 M 文件简单、短小而高效。 5高效方便的矩阵和数组运算 Matlab 语言象 Basic、Fortran 和 C 语言一样规定了矩阵的算术运算符、关系运算符、逻辑运算符、条件运算符及赋值运算符,而且这些运算符大部分可以毫无改变地照搬到数组间的运算,有些如算术运算符只要增加“”就可用于数组间的运算,另外,它不需定义数组的维数,并给出矩阵函数、特殊矩阵专门的库函数,使之在求解诸如信号处理、建模、系统识别、控制、优化等领域的问题时,显得大为简捷、高效、方便,这是其它高级

13、语言所不能比拟的。在此基础上,高版本的 Matlab 已逐步扩展到科学及工程计算的其它领域。因此,不久的将来,它一定能名符其实地成为“万能演算纸式的”科学算法语言。 6方便的绘图功能 Matlab 的绘图是十分方便的,它有一系列绘图函数(命令) ,例如线性坐标、对数坐标,半对数坐标及极坐标,均只需调用不同的绘图函数(命令) ,在图上标出图题、XY 轴标注,格(栅)绘制也只需调用相应的命令,简单易行。另外,在调用绘图函数时调整自变量可绘出不变颜色的点、线、复线或多重线。这种为科学研究着想的设计是通用的编程语言所不及的。 总之,Matlab 语言的设计思想可以说代表了当前计算机高级语言的发展方向。

14、我们相信,在不断使用中,读者会发现它的巨大潜力。MALAB 功能MATLAB 是一种面向科学与工程计算的高级语言, 同时也是适用于科学和工程计算的数学软件系统。作为数值软件的 MATLAB , 对计算数学领域的特定问题类型, 如数值线性代数、微分方程数值解、数值逼近、最优化方法、数值积分等进行求解, 可以得到问题的离散解或近似的解析表达式。针对每一类问题的求解, MATLAB 都能给出该类问题的各种高效算法。例如, 求解非线性规划问题, MATLAB 给出了单纯形搜索法、最速下降法、DFP 变尺度法、BFGS 拟牛顿法和最小二乘法等算法, 其中既有解析算法 , 又有直接算法 , 而且与每个算法

15、相匹配的还有一维搜索法。MATLAB 具有一个阵容强大、范围广泛的基本运算体系。此外 , MATLAB 极其简洁的语言结构支持结构化程序设计, 且具有超过任一高级语言系统的调试技术。MATLAB 高度智能化的调试技术是用户开发 MATLAB 程序的有力工具。基于上述思想, 为了把 MATLAB 矩阵运算的优点更好地应用于工程和教学实践中, 作者在MATLAB 软件环境下研制了 CANAC 软件包。采用 CANAC 软件包, 利用计算机及其特有的功能不仅能准确、快速地实现数值分析与计算中所涉及到的逼近问题、线性代数问题、非线性方程及方程组的数值解法问题以及常微分方程的数值解法等, 而且可把这些数

16、值分析与计算的结果直接应用于实际应用中。(1) 绘图功能。主界面能够实时、准确地绘制出各种插值函数图形 , 并把数值分析与计算后的结果直观地进行图形显示。(2) 辅助分析与设计功能。主界面上实时显示的图形对操作者进行各种设计与分析具有辅助作用。(3) 操作简便、界面美观。由于 MATLAB 现行版本运行于 Windows 环境, 由此开发出来的CANAC 软件包有 Windows 程序风格, 既美观、简洁又容易操作和应用。(4)Matlab 有强大的自带的帮助手册,基于 HTML 的完整的帮助功能;(5)运算符丰富。由于 MATLAB 是用 C 语言编写的,MATLAB 提供了和 C 语言几乎

17、一样多的运算符,灵活使用 MATLAB 的运算符将使程序变得极为简短。(6)高级但简单的程序环境,与其它语言编写的程序结合和输入输出格式化数据的能力;MATLAB 既具有结构化的控制语句(如 for 循环,while 循环,break 语句和 if 语句) ,又有面向对象编程的特性。(7)程序限制不严格,程序设计自由度大。例如,在 MATLAB 里,用户无需对矩阵预定义就可使用。有大量事先定义的数学函数,并且有很强的用户自定义函数的能力;(8)程序的可移植性很好,基本上不做修改就可以在各种型号的计算机和操作系统上运行。(9)MATLAB 的图形功能强大。在 FORTRAN 和 C 语言里,绘图

18、都很不容易,但在 MATLAB里,数据的可视化非常简单。MATLAB 还具有较强的编辑图形界面的能力。具有教育、科学和艺术学的图解和可视化的二维、三维图;(10)语言简洁紧凑,使用方便灵活,库函数极其丰富。有高性能数值计算的高级算法,特别适合矩阵代数领域;MATLAB 程序书写形式自由,利用起丰富的库函数避开繁杂的子程序编程任务,压缩了一切不必要的编程工作。由于库函数都由本领域的专家编写,用户不必担心函数的可靠性。可以说,用 MATLAB 进行科技开发是站在专家的肩膀上。(11)功能强大的工具箱是 MATLAB 的另一特色。MATLAB 包含两个部分:核心部分和各种可选的工具箱。核心部分中有数

19、百个核心内部函数。其工具箱又分为两类:功能性工具箱和学科性工具箱。功能性工具箱主要用来扩充其符号计算功能,图示建模仿真功能,文字处理功能以及与硬件实时交互功能。功能性工具箱用于多种学科。而学科性工具箱是专业性比较强的,如(control 、signal proceessing 、commumnication) toolbox 等。这些工具箱都是由该领域内学术水平很高的专家编写的,所以用户无需编写自己学科范围内的基础程序,而直接进行高,精,尖的研究。(12)源程序的开放性。开放性也许是 MATLAB 最受人们欢迎的特点。除内部函数以外,所有MATLAB 的核心文件和工具箱文件都是可读可改的源文件

20、,用户可通过对源文件的修改以及加入自己的文件构成新的工具箱。(13)MATLAB 的缺点是,它和其他高级程序相比,程序的执行速度较慢。由于 MATLAB 的程序不用编译等预处理,也不生成可执行文件,程序为解释执行,所以速度较慢。MATLAB 应用1).数值计算功能MATLAB 作为世界顶尖的数学应用软件 ,其出色的数值计算能力是使之优于其他计算软件的决定性因素之一.2).符号计算功能数学计算有数值计算和符号计算之分,仅有优异的数值计算功能并不能满足解决数学计算问题时的需要.在数学,应用科学和工程计算领域,常常会遇到符号计算问题.1993 年,MathWorks 公司从加拿大滑铁卢大学购买了 M

21、aple 的使用权,并以 Maple 的“ 内核 “作为符号计算功能的“引擎“, 依靠 Maple 已有的库函数 ,实现了 MATLAB 的符号计算功能.3).数据分析和可视化功能在科学计算和研究工作中,技术人员经常会遇到大量的原始数据,而对数据的分析往往难于入手,如果能将这些数据以图形的方式显示出来,不仅使数据间的关系清晰明了,而且对于揭示其内在本质往往有着非常重要的作用.4).文字处理功能MATLAB Notebook 为用户提供了强大的文字处理功能.MATLAB Notebook允许用户从一个文字处理程序(Microsoft Word)访问 MATLAB 的数值计算和可视化结果.通过使用

22、 MATLAB Notebook,用户可以方便的创建包含文本 ,MATLAB命令及使用 MATLAB 得到的结果的文档 .通常情况下,MATLAB Notebook 用于创建:(1)MATLAB 程序文档;(2)有关 MATLAB 的教科书 ;(3)MATLAB 手册;(4)MATLAB 技术报告;(5)MATLAB 注视文档.6高效方便的矩阵和数组运算 Matlab 语言象 Basic、Fortran 和 C 语言一样规定了矩阵的算术运算符、关系运算符、逻辑运算符、条件运算符及赋值运算符,而且这些运算符大部分可以毫无改变地照搬到数组间的运算,有些如算术运算符只要增加“”就可用于数组间的运算,

23、另外,它不需定义数组的维数,并给出矩阵函数、特殊矩阵专门的库函数,使之在求解诸如信号处理、建模、系统识别、控制、优化等领域的问题时,显得大为简捷、高效、方便,这是其它高级语言所不能比拟的。在此基础上,高版本的 Matlab 已逐步扩展到科学及工程计算的其它领域。因此,不久的将来,它一定能名符其实地成为“万能演算纸式的”科学算法语言。 7方便的绘图功能 Matlab 的绘图是十分方便的,它有一系列绘图函数(命令) ,例如线性坐标、对数坐标,半对数坐标及极坐标,均只需调用不同的绘图函数(命令) ,在图上标出图题、XY 轴标注,格(栅)绘制也只需调用相应的命令,简单易行。另外,在调用绘图函数时调整自变量可绘出不变颜色的点、线、复线或多重线。这种为科学研究着想的设计是通用的编程语言所不及的。 总之,Matlab 语言的设计思想可以说代表了当前计算机高级语言的发展方向。我们相信,在不断使用中,读者会发现它的巨大潜力。

展开阅读全文
相关资源
相关搜索
资源标签

当前位置:首页 > 教育教学资料库 > 精品笔记

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。