matlab的特点
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章绪论
1.1 MATLAB软件的特点
MATLAB是美国MathWorks公司自20世纪80年代中期推出的数学软件,具有优秀的数值计算能力和卓越的数据可视化能力,可以提供与矩阵有关的强大的数据处理和图形显示功能, 为软件开发人员在程序编制过程中实现数值计算和图形显示新添了又一行之有效的开发平台,所以一经推出便使其很快在数学软件中脱颖而出。到目前为止,其最高版本7.0版已经推出。随着版本的不断升级,它在数值计算及符号计算功能上得到了进一步完善。MATLAB已经发展成为多学科、多种工作平台的功能强大的大型软件,在控制、通信、信号处理及科学计算等领域中得到广泛的应用,已经被认可为能够有效提高工作效率、改善设计手段的工具软件。
MATLAB语言最大的特点是简单和直接,它主要有如下特点。
1.编程效率高
MATLAB是一种面向科学与工程计算的高级语言,允许使用数学形式的语言编写程序,且比BASIC、FORTRAN和C等语言更加接近我们书写计算公式的思维方式,用MATLAB编写程序犹如在演算纸上排列出公式与求解问题。因此,MATLAB语言也可通俗地称为演算纸式科学算法语言。由于它编写简单,所以编程效率高,易学易懂。
2.用户使用方便
MATLAB语言是一种解释执行的语言(在没被专门的工具编译之前),它灵活、方便,其调试程序手段丰富,调试速度快,需要学习时间少。人们用任何一种语言编写程序一般都要经过四个步骤:编辑、编译、链接,以及执行和调试。各个步骤之间是顺序关系,编程的过程就是在它们之间做瀑布型的循环。MATLAB语言与其他语言相比,较好的解决了上述问题,把编辑、编译、链接和执行融为一体。它能在同一画面上进行灵活操作,快速排除输入程序中的书写错误、语法错误以至语义错误,从而加快了用户编写、修改和调试程序的速度,可以说在编程和调试过程中它是一种比VB还要简单的语言。
具体的说,MATLAB运行时,如直接在命令行输入MATLAB语句(命令),包括调M文件的语句,每输入一条语句,就立即对其进行处理,完成编译、链接和运行的全过程。又如,将MATLAB源程序编辑为M文件,由于MATLAB磁盘文件也是M 文件,所以编辑后的源文件就可以直接运行,而不需要进行编译和链接。在运行M文件时,如果有错,计算机屏幕上会给出详细的出错信息,用户经修改后再执行,直到正确为止。所以可以说,MATLAB语言不仅是一种语言,广义上讲是一种
该语言的开发系统,即语言调试系统。
3.扩充能力强,交互性好
高版本的的MATLAB语言有丰富的库函数,在进行复杂的数序运算时可以直接调用,而且MATLAB的库函数同用户文件在形成上一样,所以用户文件也可作为MATLAB的库函数来调用。因而,用户可以根据自己的需要方便地建立和扩充新的库函数,以便提高MATLAB的使用效率和扩充它的功能。另外,为了充分利用FORTRAN、C等语言的资源,包括用户已编好的FORTRAN、C语言程序,通过建立Me 调文件的形式,混合编程,方便地调用有关的FORTRAN、C语言的子程序,还可以在C语言和FORTRAN语言中方便地使用MATLAB的数值计算功能。这样良好的交互性使程序员可以使用以前编写过的程序,减少重复性工作,也使现在编写的程序具有重复利用的价值。
4.移植性和开放性很好
MATLAB是用C语言编写的,而C语言的可移植性很好。于是MATLAB可以很方便地移植到能运行C语言的操作平台上。MATLAB合适的工作平台有:Windows系列、UNIX、Linux、VMS6.1和PowerMac。除了内部函数外,MATLAB所有的核心文件和工具箱文件都是公开的,都是可读可写的源文件,用户可以通过对源文件的修改和自己编程构成新的工具箱。
5.语句简单,内涵丰富
MATLAB语言中最基本最重要的成分是函数,其一般形式为
[a,b,c,...]=fun(d,e,f,...),即一个函数由函数名,输入变量d,e,f,...和输出变量a,b,c,...组成,同一函数名F,不同数目的输入变量(包括无输入变量)及不同数目的输出变量,代表着不同的含义(有点像面向对象中的多态性)。这不仅使MATLAB的库函数功能更丰富,而且大大减少了需要的磁盘空间看,使得MATLAB编写的M文件简单、短小而高效。
6.高效方便的矩阵和数组运算
MATLAB语言像BASIC、FORTRAN和C语言一样规定了矩阵的算术运算符、关系运算符、罗技运算符、条件运算符,而且这些运算符大部分可以毫无改变地照搬到数组间的运算,有些如算术运算符只要增加“.”就可用于数组间的运算。另外,它不需定义数组的维数,并给出矩阵函数、特殊矩阵专门的库函数,使之在求解诸如信号处理、建模、系统识别、控制、优化等领域的问题时,显得大为简捷、高效、方便,这是其他高级语言所不能比拟的。在此基础上,高版本的MATLAB 一定能名副其实地称为“万能演算纸”式的科学算法语言。
7.方便的绘图功能
MATLAB的绘图是十分方便的,它有一系列绘图函数(命令),例如线性坐标、
对数坐标、半对数坐标及极坐标,均只需调用不同的绘图函数(命令),在图上标出图题、XY轴标注,格(栅)绘制也只需调用相应的命令,简单易行。另外,在调用绘图函数时调整自变量可绘出不变颜色的点、线、复线或多重线。这种为科学研究着想的设计是通用的编程语言所不能及的。
MATLAB的缺点是,它和其他高级程序相比,程序的执行速度较慢。由于MATLAB 的程序不用编译等预处理,也不生成可执行文件,程序为解释执行,所以速度较慢,并且MA TLAB 的界面功能比较弱, 不能实现交互界面、数据采集和端口操作等功能。
1.2 现有工业控制系统
在工程应用中,我们一般用C、VB等语言编写应用程序,进行交互界面、数据采集和端口操作等工作,这些汇编语言具有语言容易上手, 界面容易设计,能够时时的进行数据的采集、传递,但是所有汇编语言又同时具有一个共同的缺点,那就是数值计算方面能力欠佳,这就成为了一个瓶颈,极大的限制了工程计算软件的工作效率和质量。
1.3 MATLAB应用的工业控制系统中去的应用前景
MATLAB与工业汇编语言的结合运用,不仅能够把MATLAB的数值分析、矩阵运算、图形图像处理、信号处理和仿真的诸多强大的运算功能发挥的淋漓尽致,同时能够实现汇编语言的交互界面、数据采集和端口操作等功能,充分利用了MATLAB的运算功能和汇编语言的开发界面方便的特点,用汇编语言来设计界面作为主程序,调用用MATLAB编写的子程序,以此开发出来的高质量、高性能的工业控制软件系统,将极大的提高工作效率,为企业带来更多的收益。
MATLAB有两种基本的数据运算量:数组和矩阵,单从形式上,它们之间是不好区分的。每一个量可能被当作数组,也可能被当作矩阵,这要依所采用的运算法则或运算函数来定。在MATLAB中,数组与矩阵的运算法则和运算函数是有区别的。但不论是MATLAB的数组还是MATLAB的矩阵,都已经改变了一般高级语言中使用数组的方式和解决矩阵问题的方法。
在MATLAB中,矩阵运算是把矩阵视为一个整体来进行,基本上与线性代数的处理方法一致。矩阵的加减乘除、乘方开方、指数对数等运算,都有一套专门的运算符或运算函数。而对于数组,不论是算术的运算,还是关系或逻辑的运算,甚至于调用函数的运算,形式上可以当作整体,有一套有别于矩阵的、完整的运算符和运算函数,但实质上却是针对数组的每个元素施行的。
当MATLAB把矩阵(或数组)独立地当作一个运算量来对待后,向下可以兼容向量和标量。不仅如此,矩阵和数组中的元素可以用复数作基本单元,向下可以包含实数集。这些是MATLAB区别于其他高级语言的根本特点。以此为基础,还可以概括出如下一些MATLAB的特色。