




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、MATLAB应用基础赵国瑞天津大学电子信息工程学院计算机基础教学部2000.3 制作概述MATLAB是世界流行的优秀科技应用软件之一。具有功能强大(数值计算、符号计算、图形生成、文本处理及多种专业工具箱)、界面友好,可二次开发等特点。自1984年由美国MathWorks公司推向市场以来,先后发布了多个版本,1993年发布4.0版,1996年发布5.0版,1999年发布5.3版。目前发布的为6.5版。MATLAB有专业和学生版之分。二者功能相同,但计算规模和计算难度有差别。在国内外,已有许多高等院校把MATLAB列为本科生、研究生必须掌握的基本技能。我校自1999年列为研究生选修课程。而且有很多
2、教师、研究生把它作为进行科研的重要工具。国内关于MATLAB的书籍很多,如:精通MATLAB 5.3 张志涌等编著 北京航空航天大学出版社,2000.8科学计算语言MATLAB简明教程杜藏等编著 南开大学出版社 ,1999.6精通MATLAB 5 张宜华编写 清华大学出版社 ,1999.6精通MATLAB-综合辅导与指南 Duane Hanselman、Bruce Littlefield编著 李人厚等译较 西安交通大学出版社,1998.1等等本课程主要介绍MATLAB 5.3的基本功能和基础知识。至于其包含的多种工具箱,如仿真工具箱、解非线性方程(组)工具箱、优化工具箱等,应通过本学习后,结合
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.%
4、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'); else set(ax,'Box','off'); endelseif (strcmp(opt_box, 'on
5、39;) set(ax,'Box', 'on');elseif (strcmp(opt_box, 'off') set(ax,'Box', 'off');else error('Unknown command option.');end格式2(有返回值函数)function 输出表函数名(输入表) 函数体其中: 输出表 是函数的返回值,若输 出表中只有一项,则方括号可省略。例如:function aObjH = getobj(HG)%GETOBJ Retrieve Scribe Object fro
6、m Handle Graphics handle% Copyright (c) 1984-98 by The MathWorks, Inc.% $Revision: 1.8 $ $Date: 1998/06/03 22:23:48 try ud = getappdata(HG, 'ScribeObjectData'); aObjH = ud.HandleStore;catch aObjH = ;end注意:· 函数名必须与定义它的文件名主名相同· 函数体是对各参数、局部变量和全局变量的操作。函数体内必须对输出表中的变量赋值· 函数头与函数体之间可以
7、有多个以符号""开始的注释行,说明函数的功能和使用方法。当执行命令 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-文件在命令窗中
8、选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命令窗口启动MATLAB双击快捷方式图标或从“开始”菜单序列中选择。1.2.2 MATLAB命令窗口(V5.3)主要菜单命令和工具按钮:1) File/Set Path 或工具按钮 用于设置搜索路径搜索文件或变量名的
9、顺序工作空间中内部函数所在目录中当前目录中设定的搜索路径中(1)在Path Browser窗口中选Path/Add to Path命令可增加设定的搜索路径。(2)在Path Browser窗口中选Path/ Remove from Path命令可删除设定的搜索路径。2)File/Preference 设置工作参数设置通用项目设置命令窗口字体设置复制选项 命令行一行可写入一个或多个命令,命令之间用逗号或分号隔开,如果命令尾带分号将不显示该命令的执行结果;还可有续行(4.2c行末为,5.3为自由格式);最后用回车提交命令。例如:x=1,2,3,4,5,6; 2,3,4,5,6,7; 9,7,5,3
10、,1,0;y=x.*x;plot(x,y) 3)命令窗口常用键:键显示前个命令键显示后个命令Esc键取消输入Ctrl+x剪切Ctrl+c复制Ctrl+v粘贴 MATLAB的帮助系统· 帮助命令:· help 文件名 或 函数名· 帮助菜单:· 演示命令:demo1.2.5 MATLAB的NoteBookMATLAB借用Word的文本编辑功能,并允许在文档内嵌入MATLAB命令,可以很自然地将其运行结果(数值或/和图形)嵌入文档之中。注意:V4.2C - V5.2只能在 Word 95中使用,V5.3可在 Word 95/97中使用,V6.x可在 Word
11、 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 973
12、Exit, making no changes下面以选择WORD 97为例说明。Microsoft Word Version: 2 You 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 t
13、emplate (.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文件,同时,
14、菜单栏中将出现Notebook菜单。其中:Define Input Cell或Define Calc Zone命令用于定义MATLAB命令区;Evaluate Cell或Evaluate Calc Zone命令用于计算插入点所在的MATLAB命令区。注意:如果在定义MATLAB命令区后不能正常显示汉字,可指定为宋体后再继续进行其它编辑操作。1.3 数据表示数据类型有整型、实型、复型、字符串四种类型1、常数1)整型常数:10 0 102)实型常数:0.3 .3 3. 3914e-2(表示范围约10±308)3)复型常数:12i 3.56.18i 13.2i4)字符串常数: 'M
15、ATLAB' 'I can''t do.'(两个连写的单撇号表示一个单撇号)注意:没有逻辑型,但与C语言那样,非0为真,0为假。2、变量变量用标识符表示(字母打头、字母、数字、下划线组成,长度19)。可以合法出现而定义。区分大小写字母,以当前值定义其类型。3、函数名函数名用标识符表示。4、特殊常数ANSwer、EPSilon(10-16)、PI、NaN(即0/0)、INFinite()、REALMAX、REALMIN、NARGIN、NARGOUT等。数组分为行向量、列向量、矩阵。普通变量可看成1×1数组。1、创建数组的基本方法1)直接列表定义数
16、组变量元素值1 元素值2 元素值n变量元素值1,元素值2 ,元素值n变量行1各元素;行2各元素;行n各元素例如:x=1 2 3 4 5 6 7 8 9 0y=1,2,3,4,5,6,7,8,9,0z=1,2,3,4,5;2,3,4,5,6,72)域表定义数组变量初值:增量:终值初值:终值变量(初值:增量:终值)常数例如:x=0:0.02:10y=1:80z=(1:0.1:7)*10e-53)利用函数定义数组变量linspace(初值,终值,元素个数)如:x = linspace(0,pi,11) 的结果为:x = Columns 1 through 7 0 0.3142 0.6283 0.94
17、25 1.2566 1.5708 1.8850 Columns 8 through 11 2.1991 2.5133 2.8274 3.1416 变量logspace(初值指数,终值指数,元素个数)其中:初值元素为10初值指数终值元素为10终值指数第i个元素为如x1=logspace(0,2,10) 的结果为:x1 = Columns 1 through 7 1.0000 1.6681 2.7826 4.6416 7.7426 12.9155 21.5443 Columns 8 through 10 35.9381 59.9484 100.0000 2、 数组的访问(一维)数组名 表示全体元素
18、数组名(k) 表示第k元素数组名(k1:k2) 表示第k1到k2元素数组名(k1:k2:k3) 表示第k1、k1+k2、 k1+2k2,到k3元素数组名(k1,k2,kn) 表示第k1,k2,kn元素其中:kp也可为初值:终值或初值:增量:终值的形式。 a的值如:a = 1:2:15 1则: 3 a(2) 5 a(3:5) 7 a 9 a(5:-1:2) 11 a(2,6,8) 13 153、数组的基本运算设有数组a1×n,b1×n,x1×m,gm×n,hn×m, fm×n变量或常量c1,c2,ck1)一维数组拼接u = a x 结果
19、为a1an x1xm或u = a c1 c2 ck结果为 a1an c1 c2 ck2)转置a.' 点转置a' 共轭转置3)纯量与数组的算术运算a c1 或 c1 a其中可为、结果为a1c1 a2c1 anc1 或c1a1 c1a2 c1an4)数组加(减)使两数组的对应各元素相加(减)a+b 结果为a1+b1 a2+b2an+bnab 结果为a1b1 a2b2anbn(a与b的维数必须相同)5)数组点乘使两数组的对应元素相乘a.*b 结果为a1b1 a2b2anbn(a与b的维数必须相同)6)数组点正除(右除)使两数组的对应元素正除a./b 结果为: (a、b维数必须相同)7
20、)数组点反除(左除)a.b结果为:显然:a./b = b.a (a、b维数必须相同)8)数组的幂运算a.c1 结果为a1c1 a2c1anc1c1.a 结果为c1a1 c1a2c1ana.b 结果为a1b1 a2b2anbn以上8种基本运算中,除拼接外,其它均适于二维数组(两个二维数组必须具有相同的维数)。显然,两个二维数组进行拼接列时,必须有相同的行数,拼接行时必须有相同的列数。例如:g' g.'c g 或 g c 为+、g+h ghg.hg./h g.hg.h g.c1 c.g而且可以进行混合运算。如:2g h (g.2).(h 1)4、 1数组和0数组1) 1数组ones
21、(n) 建立n×n全为1的数组ones(r,c) 建立r行c列的1数组2) 0数组zeros(n) 建立n×n全为0的数组zeros(r,c) 建立r行c列的0数组5、 数组操作1)二维数组的访问(除一维数组访问形式外)g(r,c) 访问gr,c元素g(r,:) 访问g中第r行各元素g(:,c) 访问g中第r列各元素g(i) 访问g按列排列后的第i个元素2)按列拉长即把矩阵按列拉成向量(列向量)g(:)3)插入新元素而扩展如:A = 1,2,3;4,5,6;7,8,9;插入:A(2,6) = 10 插入后,A变成3行6列矩阵,未定义的新元素值内定为0。即:4)重排如对A =
22、 1,2,3;4,5,6;7,8,9;B = A(3:1:1,:)或B = A(3:1:1,1:3)将把A的各列元素倒排生成B B= 7 8 9 4 5 6 1 2 35)提取如:A(:,1 3) %提取A的第1、3列A(1:2,2:3) %提取A中前两行的后两列设 C = 1 3则:A(C,C) %提取A第1、3行中第1、3列各元素,效果与A(1 3,1 3)相同.6)置空(删去某行或某列)如:A = 1,2,3;4,5,6;7,8,9;B = A;B(:,2) = ; 将B的第2列删掉B = A;B(1,:) = ; 删去B的第1行7)置零如:A(2,:) = 0,0,0将把A的第2行置零
23、。注意:不能写成 A(2,:) = 08)拼接如:A = 1,2,3;4,5,6;7,8,9;B = 1,4,7;B(3:4,:) = A(2:3,:);将把A的第2、3行作为B的第3、4行C = A B(1:2,:)'将把B的前2行转置后接在A的右侧生成C。D(1:6) = A(:,2:3)提取A的第2、3列生成一个行向量D。9)数组的规模s = size(A) 生成行向量s,值为A的行数,列数r,c = size(A) 返回A的行数r,列数cr = size(A,1) 返回A的行数rc = size(A,2) 返回A的列数c10)用逻辑数组操作一个数组对数组的逻辑运算产生逻辑数组,
24、且结果中用1表示真,0表示假如:x = 3:3x = 3 2 1 0 1 2 3t = abs(x) > 1 t为逻辑数组t = 1 1 0 0 0 1 1y = x(t) 提取t中为真对应的x元素y = 3 2 2 3对数组有以下的逻辑运算:l 比较运算符:< <= = > >= =两数组对应元素相比较,或一个数组的各元素与一个纯量相比较,结果为逻辑数组显然相比较的数组必须具有相同大小l 逻辑运算符(与) (或)(非) XOR(异或)两相同大小的数组进行(与)、(或)、XOR(异或)运算是对应元素的运算(也允许一个数组与一纯量进行这些运算)对任一数组都可以进行(
25、非)运算如: A&B A|B XOR(A,B) A A&211)矩阵乘设gm×n和hn×m,则gh 结果为m×m矩阵hg 结果为n×n矩阵注意:矩阵乘()与数组乘(.)的区别12)矩阵除矩阵正除(右除):A/B矩阵反除(左除):AB由于在MATLAB中是根据关系式:BA = (A'/B')定义和设计右除的,故以下仅讨论左除。AB相当于A1×B在MATLAB中,若A为方阵(n×n),B为n个元素的列向量,则x =AB表示用高斯消元法解线性代数方程组 Ax = B。若A是奇异(病态)或接近奇异的,则给出警告
26、信息。若A为m×n矩阵(mn),B为m个元素的列向量,若m >n,则x = AB是超定方程组的最小二乘解。若m < n,则x = AB是不定方程组 Ax = B的最小二乘解。13)矩阵乘方 矩阵的标量乘方 Ap 当p为整数时,A应为方阵:p>0 则 Ap = AAA p次p=0 则 Ap = A0 等于与A同维的单位矩阵p<0 则Ap=inv(Aabs(p) 即求A自乘|p|次后的逆矩阵当p为非整数时,A应为方阵,若存在特征值分解AV = VD(D为对角阵),那么定义:Ap = VDpV1 如:A = 1,2,3;4,5,6;7,8,9;Ap = A0.3 的
27、结果为:Ap = 0.6962 + 0.6032i 0.4358 + 0.1636i 0.1755 - 0.2759i 0.6325 + 0.0666i 0.7309 + 0.0181i 0.8292 - 0.0305i 0.5688 - 0.4700i 1.0259 - 0.1275i 1.4830 + 0.2150i 标量的矩阵乘方 pA定义为:若存在特征值分解 AV = VD,则如:A = 1,2,3;4,5,6;7,8,9;0.3A 的结果为:ans = 2.9342 0.4175 -1.0993 -0.0278 0.7495 -0.4731 -1.9898 -0.9184 1.1531 注意:矩阵的矩阵乘方,即AB无意义1.3.3 字符串字符串是用单引号括起来的字符序列。在MATLAB中,可以把一个字符串看成一个由各字符组成的行向量。这样,前述对数组的某些运算就适用于字符
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030年中国隧道工程行业发展趋势规划研究报告
- 2025-2030年中国锻压机械制造行业运行现状及未来投资发展研究报告
- 2025-2030年中国金属镁产业十三五规划及发展趋势分析报告
- 2025-2030年中国金属天花产业运营趋势及投资战略研究报告
- 2025-2030年中国醋酸仲丁酯市场十三五规划与投资风险评估报告
- 2025-2030年中国裙带菜行业市场运行态势及发展战略分析报告
- 2025-2030年中国蔬菜饮料市场运行动态与营销策略研究报告
- 2025-2030年中国花园式住宅行业竞争格局及发展可行性分析报告
- 2025-2030年中国职业装市场十三五规划与未来发展前景预测报告
- 2025-2030年中国砖瓦行业竞争态势与营销策略研究报告
- 安全环保法律法规
- 2025年湖南环境生物职业技术学院高职单招职业适应性测试近5年常考版参考题库含答案解析
- 建设工程质量安全监督人员考试题库含答案
- 《中华人民共和国学前教育法》专题培训
- 晋中项目投决会报告
- 2022年中小学心理健康教育指导纲要
- 公共关系文书(《公共关系学》课件)
- 2023届高考复习之文学类文本阅读训练
- 国家基础教育实验中心外语教育研究中心
- 义务教育(道德与法治)新课程标准(2022年修订版)
- 100以内不进位不退位加减法练习习题(直接打印)
评论
0/150
提交评论