Matlab语言的特点
Matlab具有用法简单、灵活、程式结构性强、延展性好等优点,已经逐渐成为科技计算、视图交互系统和程序中的首选语言工具。特别是它在线性代数、数理统计、自动控制、数字信号处理、动态系统仿真等方面表现突出,已经成为科研工作人员和工程技术人员进行科学研究和生产实践的有利武器。
Matlab的技术特点
语言简洁紧凑,语法限制不严,程序设计自由度大,可移植性好。Matlab是一个高级的矩阵/阵列语言,它包含控制语句、函数、数据结构、输入输出和面向对象编程特点。Matlab以矩阵为基础,不需要预先定义变量和矩阵(包括数组)的维数,可以方便地进行矩阵的算术运算、关系运算和逻辑运算等。而且Matlab有特殊矩阵专门的库函数,可以高效地求解诸如信号处理、图像处理、控制等问题。
运算符、库函数丰富Matlab的一个重要特就是具有一套程序扩展系统和一组称之为工具箱的特殊应用子程序,每一个工具箱都是为某一类学科专业和应用而定制的。
Matlab包含两个部分:核心部分和各种可选的工具箱。核心部分中有数百个核心内部函数。其工具箱又分为两类:功能性工具箱和学科性工具箱。功能性工具箱主要用来扩充其符号计算功能,图示建模仿真功能,文字处理功能以及与硬件实时交互功能;而学科性工具箱是专业性比较强的,如control,toolbox,signl proceessingtoolbox,commumnicationtoolbox等。这些工具箱都是由该领域内学术水平很高的专家编写的,所以用户无需编写自己学科范围内的基础程序就可直接进行高、精、尖的研究。
强大的数值(矩阵)运算功能Matlab是一个包含大量计算算法的集合。其拥有600多个工程中要用到的数学运算函数,可以方便的实现用户所需的各种计算功能。函数中所使用的算法都是科研和工程计算中的最新研究成果,而前经过了各种优化和容错处理。在通常情况下,可以用它来代替底层编程语言,如C和C++。在计算要求相同的情况下,使用Matlab的编程工作量会大大减少。Matlab的这些函数集包括从最简单最基本的函数到诸如矩阵、特征向量、快速傅立叶变换的复杂函数。函数所能解决的问题其大致包括矩阵运算和线性方程组的求解、微分方程及偏微分方程组的求解、符号运算、傅立叶变换和数据的统计分析、工程中的优化问题、稀疏矩阵运算、复数的各种运算、三角函数和其他初等数学运算、多维数组操作以及建模动态仿真等。
界面友好、编程效率高Matlab程序书写形式自由,被称为“草稿式”语言,这是因为其函数名和表达更接近我们书写计算公式的思维表达方式,编写Matlab程序犹如在草稿纸上排列公式与求解问题,因此可以快速地验证工程技术人员的算法。此外Matlab还是一种解释性语言,不需要专门的编译器。具体地说,Matlab运行时,可直接在命令行输入Matlab语句,系统立即进行处理,完成编译、链接和运行的全过程。利用丰富的库函数避开繁杂的子程序编程任务,压缩了一切不必要的编程工作
图形功能强大Matlab 具有非常强大的以图形化显示矩阵和数组的能力,同时它能给这些图形增加注释并且可以对图形进行标注和打印。Matlab 的图形技术包括二维和三维的可视化、图象处理、动画等高层次的专业图形的高级绘图函数(例如图形的光照处理、度处理以及四维数据的表现等),又包括一些可以让用户灵活控制图形特点的低级绘图命令,可以利用Matlab的句柄图形技术创建图形用户界面。同时对一些特殊的可视化要求,例如图形对话等,Matlab也有相应的功能函数,保证了用户不同层次的要求。另外新版本的Matlab还着重在图形用户界面(GUI)的制作上作了很大的改善,对这方面有特殊要求的用户也可以得到满足。
Matlab功能特点
它将一个优秀软件的易用性与可靠性、通用性与专业性 、一般目的的应用与高深的科学技术应用有机的相结合
扩展性强Matlab不仅有着丰富的库函数,在进行复杂的数学运算时可以直接调用。而且用户还可以根据需要方便地编写和扩充新的函数库。通过混合编程用户可以方便地在Matlab环境中调用其他用Fortran 或者C语言编写的代码,也可以在C语言或者Fortran 语言程序中调用Matlab计算引擎来执行Matlab代码。
可靠的容错功能、应用灵活的兼容与接口功能MathWorks公司开发的Matlab
Notebook成功地将Microsoft Word和Matlab结合在一起,为文字处理、科学计算和工程设计营造了一个完美的工作环境。Matlab 的Notebook 实现Word 和Matlab 无缝连接使Word不仅兼具原有编辑能力而且又增加了Matlab强大的计算和绘图能力,在科学研究、工程设计和教学方面都有很好的实用价值,已经远远的把MathCAD抛在后面。Matlab Notebook可以在word中随时修改计算命令,随时计算并生成图像返回,使用户能在Word环境中“随心所欲地享用”Matlab的浩瀚科技资源。
信息量丰富的联机检索功能新版本的Matlab可以利用Matlab编译器和C/C++数学库和图形库,将自己的MATLAB程序自动转换为独立于Matlab运行的C和C++代码。允许用户编写可以和Matlab进行交互的C或C++语言程序。另外,Matlab网页服务程序还容许在Web 应用中使用自己的Matlab数学和图形程序。
综上所述,Matlab是一种基于矩阵运算、具有强大的数值运算和数据处理功能的高级编程语言,广泛应用于信号分析、语音分析、优化设计等领域,在复杂算法方面表现出其他语言难以比拟的优势,目前已成为国际上最为流行的软件之一。开放性也许是Matlab 最受人们欢迎的特点。除内部函数以外,所有Matlab的核心文件和工具箱文件都是可读可改的源文件,用户可通过对源文件的修改以及加入自己的文件构成新的工具箱。
3
MATLAB中的图像处理工具箱几乎包括了经典图像处理的所有方面, 从基本的图像增强到图
像分割,MATLAB都提供了简便的函数调用来实现许多经典的图像处理方法。理工具箱函数包括12类:
图像文件操作和显示函数; MATLAB 提供了图像文件读入函数 imread(),用来读取如:bmp、tif、tiffpcx 、jpg 、gpeg 、hdf、xwd等格式图像文;图像写出函数 imwrite() ,还有图像显示函数 image()、imshow()等等。
(1)
(2)(2)图像的矩阵表示及运算函数;
(3)(3)图像增强函数;
(4)(4)图像变换函数(
(5)5)图像的空间变换函数;
(6)(6)二值形态学操作函数;
(7)(7)图像分析和理解函数;
(8)(8)其它的一些图像处理函数。另外MATLAB提供了对多种图像文件格式的读写和显示,这使得MATLAB在集成环境中进行图像处理的实验模拟非常方便。
(2) 图像处理的基本运算。MATLAB 提供了图像的和、差等线性运算 ,以及卷积、相关、滤波等非线性算。例如,目前流行的编程语言conv2(I,J)实现了I,J两幅图像的卷积。
(3) 图像变换。MATLAB 提供了一维和二维离散傅立叶变换(DFT) 、快速傅立叶变换(FFT) 、离散余弦变换 (DCT) 及其反变换函数,以及连续小波变换(CWT)、离散小波变换(DWT)及其反变换。
(4) 图像的分析和增强。针对图像的统计计算MATLAB 提供了校正、直方图均衡、中值滤波、对比度调整、自适应滤波等对图像进行的处理。
(5) 图像的数学形态学处理。针对二值图像,MATLAB 提供了数学形态学运
算函数;腐蚀(Erode)、膨胀(Dilate)算子,以及在此基础上的开 (Open)、闭(Close)算子、厚化 (Thicken) 、薄化 (Thin) 算子等丰富的数学形态学运算。
(9)以上所提到的 MATLAB在图像中的应用都是由相应的MATLAB函数来实现的,使用时,只需按照函数的调用语法正确输入参数即可。具体的用法可参考MATLAB丰富的帮助文档。图像边缘对图像识别和计算机分析十分有用,在MATLAB中,函数 edge()用于灰度图像边缘的提取,它支持六种不同的边缘提取方法,即Sobel方法、Prewitt 方法、Robert 方法,Laplacian2Gaussian方法、过零点方法和Canny方法。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论