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