6.2 MATLAB软件及其应用
MATLAB 是MATrix LABoratory(“矩阵实验室”)的缩写,是由美国MathWorks 公司开发的集数值计算、符号计算和图形可视化三大基本功能于一体的,功能强大、操作简单的语言.是国际公认的优秀数学应用软件之一. 概括地讲,整个MATLAB系统由两部分组成,即MATLAB内核及辅助工具箱,两者的调用构成了MATLAB的强大功能.MATLAB语言以数组为基本数据单位,包括控制流语句、函数、数据结构、输入输出及面向对象等特点的高级语言,它具有以下主要特点:
1)运算符和库函数极其丰富,语言简洁,编程效率高,MATLAB除了提供和C语言一样的运算符号外,还提供广泛的矩阵和向量运算符.利用其运算符号和库函数可使其程序相当简短,两三行语句就可实现几十行甚至几百行C或FORTRAN的程序功能.
2)既具有结构化的控制语句(如for循环、while循环、break语句、if语句和switch语句),又有面向对象的编程特性.
3)图形功能强大.它既包括对二维和三维数据可视化、图像处理、动画制作等高层次的绘图命令,也包括可以修改图形及编制完整图形界面的、低层次的绘图命令.
4)功能强大的工具箱.工具箱可分为两类:功能性工具箱和学科性工具箱.功能性工具箱主要用来扩充其符号计算功能、图示建模仿真功能、文字处理功能以及与硬件实时交互的功能.而学科性工具箱是专业性比较强的,如优化工具箱、统计工具箱、控制工具箱、小波工具箱、图象处理工具箱、通信工具箱等.
5)易于扩充.除内部函数外,所有MATLAB的核心文件和工具箱文件都是可读可改的源文件,用户可修改源文件和加入自己的文件,它们可以与库函数一样被调用.
本节主要介绍MATLAB7.1的初步知识,当前最新版本是MATLAB2009B. 6.2.1 MATLAB的窗口环境
启动MATLAB以后,将进入MATLAB7.1的集成环境见图6-2,首先是和windows窗口一样的主窗口,然后在里面嵌套了一些子窗口,各个窗口功能说明
如下.
图6-2 matlab的默认界面
1.命令窗口(Command window)
MATLAB的主要交互窗口.用于输入MATLAB 命令、函数、数组、表达式等信息,并显示图形以外的所有计算结果.
例如从键盘输入矩阵
>>A=[1 2 3; 4 5 6; 7 8 9] 按Enter 键后屏幕立即显示结果 A= 1 2 3 4 5 6
7 8 9
命令窗口可作为一个多功能高级计算器,单击回车即执行计算命令,如语句未完成需要换行,可以使用续行符“……” (续行号前不应是数字)或者同时点击shift键与回车键.另外“↑”可用于调出前一个命令行,“↓”可调出后一个命令行,
避免重复输入.clc命令可清空命令窗口,“%”可引导说明语句.
2.工作空间窗口(Workspace Window)
用于储存各种变量和结果的空间,显示变量的名称、大小、字节数及数据类型,对变量进行观察、编辑、保存和删除.临时变量不占空间,为了对变量的内容进行观察、编辑与修改,可以用三种方法打开内存数组编辑器.一是双击变量
名;二是选择该窗口工具栏上的打开图标;三是鼠标指向变量名,点击鼠标右键,弹出选择菜单,然后选项操作.欲查看工作空间的情况.可以在命令窗口键入命令whos(显示存在工作空间全部变量的名称、大小、数据类型等信息)或命令who(只显示变量名).clear命令可删除工作空间的变量(缺省时删除所有变量).
3.命令历史窗口(Command History)
记录已运行过的MATLAB命令历史,包括已运行过的命令、函数、表达式等信息,可进行命令历史的查找、检查等工作,也可以在该窗口中进行命令复制与重运行(双击即可).
4.当前目录浏览器(Current Directory)
用于显示及设置当前工作目录,同时显示当前工作目录下的文件名、文件类型及目录的修改时间等信息.只有在当前目录或搜索路径下的文件及函数可以被运行或调用.
设置当前目录可以在浏览器窗口左上角的输入栏中直接输入,或点击浏览器下拉按钮进行选择.还可用cd命令在命令窗口设置当前目录,如:
cd c:\\mydir 可将c盘上的mydir目录设为当前工作目录. 5.MATLAB 的搜索路径(Searching Path)
MATLAB定义的一系列文件路径的组合,缺省状态下包括当前路径和已安装的全部工具箱的路径.当在命令窗口输入一个字符串时,MATLAB按下列顺序开始搜索:
(1)在工作空间中搜索是否有以该字符串为变量名的变量,有则返回该变量的值;
(2)搜索是否有同名的MATLAB内部函数,如果有,执行该内部函数; (3)在当前目录中查找与该字符串同名的M文件,如果有,执行该文件; (4)在搜索目录中查找与该字符串同名的M文件,如果有,执行该文件; 如果在搜索目录中存在多个同名函数,则只执行搜索路径中的第一个函数,其他函数不再执行.搜索目录的设置通过选择主菜单Set Path菜单项进行. 用Add Folder…按钮可以将某一目录加入搜索路径,选择Add with Subfolder…按钮可将选中目录的子目录也包括在搜索路径中.
6.内存数组编辑器(Array Editor)
提供对数值型或字符型二维数组的显示和编辑功能,对其他数据类型都不能编辑.通过工作空间窗口打开所选的变量时,该编辑器启动.
7.帮助浏览器(Help Browser)
(1)帮助浏览器:提供方便快捷的帮助信息获取途径和图文并茂的帮助内容,MATLAB7.1是通过勾选Desktop菜单中的Help选项打开一个独立的交互式帮助浏览器.
(2)help 命令:在命令窗口输入help命令,也是MATLAB寻找在线帮助的一种方便而快捷的方式.
命令help 列出主要的帮助主题, 命令help exp 列出函数exp的说明.
(3)lookfor命令(lookfor commend):可以根据用户提供的完整或不完整的关键词,搜索出一组与之相关的命令或函数.
(4)模糊查询(fuzzy Inquiry):用户只须输入命令的前几个字母,然后键入Tab键 MATLAB 就会列出所有以这个字母开始的命令.
6.2.2 MATLAB的变量和数据操作
1. 变量与常量 (1)自定义变量
变量是任何程序设计语言的基本要素之一,MATLAB语言当然也不例外.与常规的程序设计语言不同的MATLAB并不要求事先对所使用的变量进行声明,也不需要指定变量类型,MATLAB语言会自动依据所赋予变量的值或对变量所进行的操作来识别变量的类型.在赋值过程中如果赋值变量已存在时,MATLAB语言将使用新值代替旧值,并以新值类型代替旧值类型.
在MATLAB语言中变量的命名应遵循如下规则: 1.变量名区分大小写.
2.变量名长度不超63位,第63个字符之后的字符将被MATLAB语言所忽略.
3.变量名以字母开头,可以是字母、数字、下划线组成,但不能使用标点. 与其他的程序设计语言相同,在MATLAB语言中也存在变量作用域的问题.在未加特殊说明的情况下,MATLAB语言将所识别的一切变量视为局部变量,即仅