M A T L A B应用基础第一章m a t l a b基础MATLAB应用赵国瑞天津大学电子信息工程学院计算机基础教学部2000.3 制作概述MATLAB是世界流行的优秀科技应用软件之一。
具有功能强大(数值计算、符号计算、图形生成、文本处理及多种专业工具箱)、界面友好,可二次开发等特点。
自1984年由美国MathWorks公司推向市场以来,先后发布了多个版本,1993年发布4.0版,1996年发布5.0版,1999年发布5.3版。
目前发布的为6.5版。
MATLAB有专业和学生版之分。
二者功能相同,但计算规模和计算难度有差别。
在国内外,已有许多高等院校把MATLAB列为本科生、研究生必须掌握的基本技能。
我校自1999年列为研究生选修课程。
而且有很多教师、研究生把它作为进行科研的重要工具。
国内关于MATLAB的书籍很多,如:《精通MATLAB 5.3》张志涌等编著北京航空航天大学出版社,2000.8《科学计算语言MATLAB简明教程》杜藏等编著南开大学出版社,1999.6《精通MATLAB 5》张宜华编写清华大学出版社,1999.6《精通MATLAB--综合辅导与指南》Duane Hanselman、Bruce Littlefield编著李人厚等译较西安交通大学出版社,1998.1等等本课程主要介绍MATLAB 5.3的基本功能和基础知识。
至于其包含的多种工具箱,如仿真工具箱、解非线性方程(组)工具箱、优化工具箱等,应通过本学习后,结合各专业自己进一步学习和使用。
第1章MATLAB基础1.1 源文件(M-文件)分为两类:函数文件和非函数文件。
都用扩展名.M1.1.1函数文件格式1(无返回值函数)function函数名(输入表) %称为函数头函数体例如:function box(opt_box);%BOX Axis box.% BOX ON adds a box to the current axes.% BOX OFF takes if off.% BOX, by itself, toggles the box state.%% BOX sets the Box property of the current axes. %% See also GRID, AXES.% Copyright (c) 1984-98 by The MathWorks, Inc. % $Revision: 1.5 $ $Date: 1997/11/21 23:32:59 $ ax = gca;if (nargin == 0)if (strcmp(get(ax,'Box'),'off'))set(ax,'Box','on');elseset(ax,'Box','off');endelseif (strcmp(opt_box, 'on'))set(ax,'Box', 'on');elseif (strcmp(opt_box, 'off'))set(ax,'Box', 'off');elseerror('Unknown command option.');end格式2(有返回值函数)function[输出表]=函数名(输入表)函数体其中:[输出表]是函数的返回值,若输出表中只有一项,则方括号可省略。
例如:function aObjH = getobj(HG)%GETOBJ Retrieve Scribe Object from Handle Graphics handle% Copyright (c) 1984-98 by The MathWorks, Inc.% $Revision: 1.8 $ $Date: 1998/06/03 22:23:48tryud = getappdata(HG, 'ScribeObjectData');aObjH = ud.HandleStore;catchaObjH = [];end注意:·函数名必须与定义它的文件名主名相同·函数体是对各参数、局部变量和全局变量的操作。
函数体内必须对输出表中的变量赋值·函数头与函数体之间可以有多个以符号"%"开始的注释行,说明函数的功能和使用方法。
当执行命令help <文件名>时,将显示这些注释,直到遇到第一个非注释行为止。
但是,函数体内包含的注释不能被Help命令显示。
·函数体内最常用的两个特殊变量:NARGIN—表示输入表中的参数个数NARGOUT—表示输出表中的参数个数1.1.2 非函数文件非函数文件是无函数头的M文件,由若干命令和注释构成。
如:%Filename is a sine.mx = 0:0.1:2*pi; y = sin(x);plot(x,y)%可包含汉字注释1.1.3 M-文件的操作1、建立新M-文件在命令窗中选File/New/M-file命令,打开编辑窗口(4.2c中需事先指定文本编辑器,5.0以后的版本已有内置文本编辑器)可同时打开多个M文件2、保存M-文件在文本编辑器中选File/Save As …命令3、编辑M-文件在命令窗口/文本编辑器中选File/ Open…命令4 运行M-文件在文本编辑器中选Tools/Run 命令或在命令窗口使用命令行调用,格式为:文件名1.2 MATLAB命令窗口1.2.1启动MATLAB双击快捷方式图标或从“开始”菜单序列中选择。
1.2.2 MATLAB命令窗口(V5.3)主要菜单命令和工具按钮:1)File/Set Path…或工具按钮用于设置搜索路径搜索文件或变量名的顺序工作空间中内部函数所在目录中当前目录中设定的搜索路径中(1)在Path Browser窗口中选Path/Add to Path命令可增加设定的搜索路径。
(2)在Path Browser窗口中选Path/ Remove from Path命令可删除设定的搜索路径。
2)File/Preference…设置工作参数设置通用项目设置命令窗口字体设置复制选项1.2.3 命令行一行可写入一个或多个命令,命令之间用逗号或分号隔开,如果命令尾带分号将不显示该命令的执行结果;还可有续行(4.2c行末为…,5.3为自由格式);最后用回车提交命令。
例如:x=[1,2,3,4,5,6;2,3,4,5,6,7;9,7,5,3,1,0];y=x.*x;plot(x,y)3)命令窗口常用键:↑键—显示前个命令↓键—显示后个命令Esc键-取消输入Ctrl+x—剪切Ctrl+c—复制Ctrl+v—粘贴1.2.4 MATLAB的帮助系统·帮助命令:·help文件名或函数名·帮助菜单:·演示命令:demo1.2.5 MATLAB的NoteBookMATLAB借用Word的文本编辑功能,并允许在文档内嵌入MATLAB命令,可以很自然地将其运行结果(数值或/和图形)嵌入文档之中。
注意:V4.2C - V5.2只能在 Word 95中使用,V5.3可在 Word 95/97中使用,V6.x可在 Word 2000中使用。
要在Word95/97中使用MATLAB V5.3的NoteBook功能,应在MATLAB安装后,在MATLAB中进行设置,即拍入命令:NOTEBOOK –SETUP将显示如下信息:Welcome to the utility for setting up the MATLAB Notebookfor interfacing MATLAB to Microsoft WordChoose your version of Microsoft Word:[1] Microsoft Word for Windows 95 (Version 7.0)[2] Microsoft Word 97[3] Exit, making no changes下面以选择WORD 97为例说明。
Microsoft Word Version: 2You will be presented with a dialog box. Please use it to select your copy of the Microsoft Word 97 executable (winword.exe).Press any key to continue...You will be presented with a dialog box. Please use it to select a Microsoft Word template (.dot) file in one of your Microsoft Word template directories. We suggest that you specify your normal.dot file.Press any key to continue...Notebook setup is complated.设置完成后,运行Word 97,在"新建"对话框中将出现m-book.dot模板。
选中它,单击"确定"按钮,或者选择"文件"菜单中的New M-book命令,即可编辑M-book文件,同时,菜单栏中将出现Notebook菜单。
其中:Define Input Cell或Define Calc Zone命令用于定义MATLAB命令区;Evaluate Cell或Evaluate Calc Zone命令用于计算插入点所在的MATLAB命令区。
注意:如果在定义MATLAB命令区后不能正常显示汉字,可指定为宋体后再继续进行其它编辑操作。
1.3 数据表示1.3.1数据类型有整型、实型、复型、字符串四种类型1、常数1)整型常数:-10 0 102)实型常数:0.3 .3 3. -3914e-2(表示范围约10±308)3)复型常数:1+2i 3.5-6.18i1+3.2i4)字符串常数: 'MATLAB''I can''t do.'(两个连写的单撇号表示一个单撇号)注意:没有逻辑型,但与C语言那样,非0为真,0为假。
2、变量变量用标识符表示(字母打头、字母、数字、下划线组成,长度≤19)。
可以合法出现而定义。
区分大小写字母,以当前值定义其类型。