文档库 最新最全的文档下载
当前位置:文档库 › matlab软件介绍

matlab软件介绍

matlab软件介绍
matlab软件介绍

MATLAB软件

MATLAB简介

Matlab是MathWorks公司于1982年推出的一套高性能的数值计算和可视化软件。它集数值分析、矩阵运算、信号处理和图形显示于一体,构成了一个方便、界面良好的用户环境。它还包括了Toolbox(工具箱)的各类问题的求解工具,可用来求解特定学科的问题。其特点是:[16,17,18]

(1) 可扩展性:Matlab最重要的特点是易于扩展,它允许用户自行建立指定功能的M文件。对于一个从事特定领域的工程师来说,不仅可利用Matlab 所提供的函数及基本工具箱函数,还可方便地构造出专用的函数。从而大大扩展了其应用范围。当前支持Matlab的商用Toolbox(工具箱)有数百种之多。而由个人开发的Toolbox则不可计数。

(2) 易学易用性:Matlab不需要用户有高深的数学知识和程序设计能力,不需要用户深刻了解算法及编程技巧。

(3) 高效性:Matlab语句功能十分强大,一条语句可完成十分复杂的任务。如fft语句可完成对指定数据的快速傅里叶变换,这相当于上百条C语言语句的功能。它大大加快了工程技术人员从事软件开发的效率。据MathWorks公司声称,Matlab软件中所包含的Matlab源代码相当于70万行C代码。

MATLAB的广泛应用

由于Matlab具有如此之多的特点,在欧美高等院校,Matlab已成为应用于线性代数、自动控制理论、数理统计、数字信号处理、时间序列分析、动态系统仿真等高级课程的基本教学工具:在研究单位、工业部门,Matlab也被广泛用于研究和解决各种工程问题。当前在全世界有超过40万工程师和科学家使用它来分析和解决问题[14]。

Matlab作为科学计算软件,主要适用于矩阵运算和信息处理领域的分析设计,它使用方便、输入简捷,运算高效、内容丰富,并且有大量的函数库可提供使用,与Basic,C和Fortran相比,用Matlab编写程序,其问题的提出和解决只需要以数学方式表达和描述,不需要大量繁琐的编程过程。利用Matlab软件并通过计算机仿真光学空间滤波实验过程的新方法,其特点是:既可以随意改变所设计滤波器的参量,又可以对输入图像进行振幅、相位或复合滤波,并且可实现傅里叶变换频谱中相位信息的提取、存储和利用,因而能够完成一般光学实验中往往难以实现的某些操作.并分别给出了网格滤波、低通、高通及相位滤波等仿真实验结果。这种仿真实验给光学滤波器的设计和图象处理带来很大方便,同时也为相关器件的设计提供了一条新的途径[19]。

MATLAB 软件系统构成

MATLAB 软件主要包括主包、Simulink 和工具箱三大部分组成。下图为MATLAB 界面:

MATLAB 语言

MATLAB 可以认为是一种解释性语言,可以直接在MATLAB 命令窗口键入命令,也可以在编辑器内编写应用程序,这样MATLAB 软件对命令或程序中各条语句进行翻译,然后在MATLAB 环境下对它进行处理,最后返回运算结果。

MATLAB 语言的基本语句结构为:

变量名列表=表达式

其中等号左边的变量名列表为MATLAB 语句的返回值,等号右边是表达式的定义,它可以是MATLAB 允许的矩阵运算,也可以使函数调用。

等号右边的表达式可以由分号结束,也可以由逗号或回车结束,但他们的含义是不同的,如果用分号结束,则左边的变量结果将不在屏幕上显示出来,否则将把结果全部显示出来。

MATLAB 语言和C 语言有所不同,在调用函数式MATLAB 允许一次返回多个结果,这时等号左边是用[]括起来的变量列表[20]。

MATLAB 中的傅里叶变换函数[21]

1.一维快速傅里叶变换函数

fft

格式:X=fft(x,N)

功能:采用FFT算法计算序列向量x的N点DFT变换。当N省略时,fft 函数自动按x的长度计算DFT。当N为2的整数次幂时,fft按基数2算法计算,否则用混合计算。

2. 一维快速逆傅里叶变换函数ifft

格式:x=ifft(X,N)

功能:采用FFT算法计算序列向量X的N点IDFT变换。

3. 二维快速傅里叶变换函数fft2

格式:X=fft2(x)

功能:返回矩阵X的二维DFT变换。

4. 二维快速逆傅里叶变换函数ifft2

格式:X=ifft2(x)

功能:返回矩阵X的二维IDFT变换。

MATLAB GUI设计工具简介

图形用户界面的程序是在图形界面下创建与用户交互的控件元素,用户可以通过操作这些交互控件实现特定的功能,并且可以返回显示在程序界面相应的结果显示区域中。因此,用户只和前台界面下的控件发生交互,而所有运算、绘图等内部操作都分装在内部,终端用户不需要去追究这些复杂过程的代码。图形用户界面编程大大提高了用户使用MATLAB程序的易用性。

GUI简介

在Matlab中,图形用户界面(graphical user interface,GUI)是Matlab中一个专用于GUI程序设计的向导设计器,而GUI是由各种图形对象,如图形窗口、图轴、菜单、按钮、文本框等构建的用户界面,是人机交互的有效工具和方法。通过GUIDE可以很方便地设计出各种符合要求的图形用户界面。用户通过一定的方法(如鼠标或键盘)选择、激活这些图形对象,使计算机产生某种动作或变化,比如实现计算、绘图等。GUI设计既能以基本的Matlab程序设计为主,也能以鼠标为主,利用GUIDE工具进行设计,也可综合以上两种方法进行设计。GUIDE 主要是一个界面设计工具集。Matlab将所有GUl支持的用户控件都集成在这个环境中并提供界面外观、属性和行为相应方式的设置方法。GUIDE将用户保存设计好的图形用户界面保存在一个FIG资源文件中,同时自动生成包含图形用户界面初始化和组件界面布局控制代码的M文件,这个M文件为实现回调函数的编写提供了一个参考框架。FIG文件是一个二进制文件,包含系列化的图形窗口对象。所有对象的属性都是用户创建图形窗口时保存的属性。该文件最主要的功能是对象句柄的保存。M文件包含GUI设计、控制函数及控件的回调函数,主要用来控制GUI展开时的各种特征。该文件基本上可以分为GUI初始化和回调函数2个部分,控件的回调函数可根据用户与GUI的具体交互行为分别调用。

Matlab定义的各种图形对象及其关系如下图所示。

GUI所含有的所有控件必须随时对鼠标的单击做出回应,当然也要对可能的键盘输入做出恰当的回应。创建GUI组建的三个主要部分如下[22]:

(1)构成:GUI的所有项目都是图形界面的重要构成(按钮、标签、可编辑框等)。

(2)图形窗口:GUI的所有构成都必须安放在图形窗口中,该图形窗口就显示在计算机屏幕上。

(3)回调函数:对无论是鼠标的单击,还是对菜单的选取,还是对可选框的选取等操作作出反应,能够通过回调函数执行相应语句,完成用户需求。也即是说GUI的所有图形组件实际上就是一个回调函数与可执行函数语句的链接。

上面三个部分中,最后一条最为重要。如果想建一个性能好的GUI界面,首要的就是回调函数必须能够很好地连接需要执行的MATLAB语句。

GUI开发环境

在MATLAB的命令窗口里输入GUIDE,确认后就可以进入到GUIDE开发环境下,或者单击菜单File→New→GUI来打开开发环境。环境窗口如下:设计界面的过程就是把我们需要的控件从控件调色板拖到(或复制到)控

件布局编辑区,并使用列队工具把这些控件排列整齐合理的过程。把控件拖到编辑区的方法有两种:一是用鼠标单击所需要的控件,然后在编辑区再单击鼠标即可得到我们所需要的控件;另一种方法是选中我们需要的控件,然后再编辑区用鼠标滑过的框区就会生成开一个大小等于矿区的控件[20]。

GUIDE 菜单编辑工具

GUIDE 以及用鼠标右键单击控件调出的弹出式菜单。选择GUIDE 的菜单Tools|Menu Editor,可以打开菜单编辑器,如下图所示。

Menu Bar 为常规的下拉式菜单,Context Menus 为弹出式菜单。单击按钮 ,可以添加新的菜单项;单击按钮 ,可以在所选择的菜单项下面添加子菜单;单击按钮 ,可以删除所选的项。

设计原则 由于要求不同,设计出来的界面也就千差万别,设计好的图形界面需要考虑以下因素:

(1) 简单性

设计界面时,力求简洁、清晰地体现界面的功能和特征。删去可有可无的一些设计,保持整洁。图形界面要直观,减少窗口数目。

(2) 一致性

即要求界面的风格尽量一致,不要和已经存在的界面风格截然相反。

(3) 习常性

界面设计时,尽量使用人们所熟悉的标志和符号。

(4)其他因素

还要注意界面的动态性能。比如界面的响应要速度、连续,对长时间运算的要给出等待的时间提示,并允许用户中断运算等等。

第1章-MATLAB概述资料讲解

第1章-M A T L A B概述

第1章MATLAB概述 MATLAB源于Matrix Labortary,即矩阵实验室,是由美国Mathworks公司发布的主要面对科学计算、数据可视化、系统仿真,以及交互式程序设计的高科技计算环境。MATLAB软件的官方网站为,中国网站为。 1.1 MATLAB简介 MATLAB将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。 MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB软件提供了大量的工具箱,可以用于工程计算、控制设计、信号处理与通信、图像处理、信号检测、金融建模设计与分析等领域,解决这些应用领域内特定类型的问题。MATLAB的基本数据单位是矩阵,非常符合科技人员对数学表达式的书写格式,利用MATLAB解决问题要比C或Fortran等语言简捷的多。 目前MATLAB软件已经发展成为适合多学科、多种工作平台的功能强大的大型软件。在欧美等高等学校,MATLAB软件已经成为线性代数、数字信号处理、动态系统仿真等课程的基本教学工具。 1.2 MATLAB的特点 由于MATLAB软件功能强大,而且简单易学,已经成为高校教师、科研人员和工程技术人员的必学软件,能够极大的提高工作的效率和质量。与其他的计算机高级语言相比,MATLAB软件有许多非常明显的优点。 收集于网络,如有侵权请联系管理员删除

MATLAB软件概述

MATLAB软件概述 MATLAB是矩阵实验室(Matrix Laboratory)的简称,是美国MathWorks 公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。基本功能 MATLAB是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。 MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。 MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,

使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C++ ,JAVA的支持。可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB 爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。 优势 (1)友好的工作平台和编程环境 MATLAB由一系列工具组成。这些工具方便用户使用MATLAB的函数和文件,其中许多工具采用的是图形用户界面。包括MATLAB桌面和命令窗口、历史命令窗口、编辑器和调试器、路径搜索和用于用户浏览帮助、工作空间、文件的浏览器。随着MATLAB的商业化以及软件本身的不断升级,MATLAB的用户界面也越来越精致,更加接近Windows的标准界面,人机交互性更强,操作更简单。而且新版本的MATLAB提供了完整的联机查询、帮助系统,极大的方便了用户的使用。简单的编程环境提供了比较完备的调试系统,程序不必经过编译就可以直接运行,而且能够及时地报告出现的错误及进行出错原因分析。 (2)简单易用的程序语言 Matlab一个高级的矩阵/阵列语言,它包含控制语句、函数、数据结构、输入和输出和面向对象编程特点。用户可以在命令窗口中将输入语句与执行命令同步,也可以先编写好一个较大的复杂的应用程序(M文件)后再一起

1.MATLAB概述

第一章Matlab概述 1

什么是仿真? ?一种在测试条件下重现实际的事件和过程的研究和教学技术-《大英百科全书》 ?仿真技术不是直接地研究对象本身,而是利用与对象的特性和变化规律相似的模型进行间接研究?要想充分地了解某种事物的特性,最理想的办法莫过于先把它做出来,再对其进行实际测量 ?优点:准确,客观 ?缺点:周期长,代价高(甚至有时候不可实现)

为什么要进行仿真? ?在进行实物制作前,先对其系统特性尽可 能充分的了解 –数学公式推导 –仿真 3 ?仿真与数值计算、求解方法的区别在于它首先是一种实验技术 ?仿真的过程包括建立仿真模型和进行仿真实验两个主要步骤 ?仿真模型是对仿真对象的高度近视,两者之间 的差别越小,仿真模型越精确,仿真结果越符合我们的期望

仿真与实际系统区别 ?影响实际系统因素繁多 ?仿真中的模型不完全正确的反映实际情况 4

仿真分类 4 ?按所用模型的类型(物理模型、数学模型、物理-数学模型)分为:物理仿真、计算机仿真(数学仿真)、半实物仿真; ?按所用计算机的类型(模拟计算机、数字计算机、混合计算机)分为:模拟仿真、数字仿真和混合仿真; ?按仿真对象中的信号流(连续的、离散的)分为:连续系统仿真、离散系统仿真; ?按仿真时间与实际时间的比例关系分为:实时仿真(仿真时间标尺等于自然时间标尺)、超实时仿真(仿真时间标尺小于自然时间标尺)和亚实时仿真(仿真时间标尺大于自然时间标尺); ?按对象的性质分为:宇宙飞船仿真、化工系统仿真、经济系统仿真等

计算机仿真 ?计算机仿真是应用电子计算机对系统的结构、功能和行为以及参与系统控制的人的思维过程和行为进行动态性比较逼真的模仿 ?计算机仿真实质上就是把硬件实验搬进了计算机,我们可以把它看成是一种软件实验 ?用软件模块模拟硬件模块,甚至测量仪表

相关文档