ImageVerifierCode 换一换
格式:DOCX , 页数:30 ,大小:503.39KB ,
资源ID:17173803      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-17173803.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(MATLAB讲义.docx)为本站会员(b****0)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

MATLAB讲义.docx

1、MATLAB讲义第一章 基础准备及入门什么是MATLAB?MATLAB是MathWorks公司于1984年推出的数学软件,是一种用于科学工程计算的高效率的高级语言。 MATLAB最初作为矩阵实验室(Matrix Laboratory),主要向用户提供一套非常完善的矩阵运算命令。随着数值运算的演变,它逐渐发展成为各种系统仿真、数字信号处理、科学可是化的通用标准语言。在科学研究和工程应用的过程中,往往需要大量的数学计算,传统的纸笔和计算机已经不能从根本上满足海量计算的要求,一些技术人员尝试使用Basic,Fortran,CC+等语言编写程序来减轻工作量。但编程不仅需要掌握所用语言的语法,还需要对相

2、关算法进行深入分析,这对大多数科学工作者而言有一定的难度。与这些语言相比, MATLAB的语法更简单,更贴近人的思维方式。用MATLAB编写程序,犹如在一张演算纸上排列公式和求解问题一样高效率,因此被称为“科学便笺式”的科学工程计算语言。MATLAB由主包和功能各异的工具箱组成,其基本数据结构是矩阵。正如其名“矩阵实验室”,MATLAB起初主要是用来进行矩阵运算。经过MathWorks公司的不断完善,时至今日,MATLAB已经发展成为适合多学科、多工作平台的功能强大的大型软件。 本章有两个目的:一是讲述MATLAB正常运行所必须具备的基础条件;二是简明系统地介绍高度集成的Desktop操作桌面

3、的功能和使用方法。 本章的前两节分别讲述:MATLAB的正确安装方法和MATLAB 环境的启动。因为指令窗是MATLAB最重要的操作界面,所以本章用第 1.3、1.4 两节以最简单通俗的叙述、算例讲述指令窗的基本操作方法和规则。这部分内容几乎对MATLAB各种版本都适用。 MATLAB6.x 不同于其前版本的最突出之处是:向用户提供前所未有的、成系列的交互式工作界面。了解、熟悉和掌握这些交互界面的基本功能和操作方法,将使新老用户能事半功倍地利用MATLAB去完成各种学习和研究。为此,本章特设几节用于专门介绍最常用的交互界面:历史指令窗、当前目录浏览器、工作空间浏览器、内存数组编辑器、交互界面分

4、类目录窗、M文件编辑/调试器、及帮助导航/浏览器。 本章是根据MATLAB6.5版编写的,但大部分内容也适用于其他6.x版。.1 MATLAB的安装和内容选择图 1.1-1.2 Desktop操作桌面的启动.2.1 MATLAB的启动.2.2 Desktop操作桌面简介10 一 操作桌面的缺省外貌下图是6.5版的Desktop操作界面的默认外形。该桌面的上层摆放着最常用的界面:命令窗口(指令窗)、历史指令窗、工作空间浏览器,在窗口的左下角新增加了“开始按钮”。在缺省情况下,还有一个只能看到“窗名”的常用交互界面:当前目录窗。它们被铺放在桌面的下层。图1.2-1 10 二 通用操作界面下面所列的

5、9个交互界面最为常用。1 指令窗(Command Window)2 历史指令窗(Command History)3 当前目录浏览器(Current Directory Browser)4 工作空间浏览器(Workspace Brower)5 内存数组编辑器(Array Editor)6 开始按钮(Start)7 交互界面分类目录窗(Lauch Pad)8 M文件编辑/调试器(Editor/Debugger)9 帮组导航/浏览器(Help Navigator/Browser).3 Command Window运行入门.3.1 Command Window指令窗简介图 1.3-1 .3.2 最简单

6、的计算器使用法【例1.3.2-1】求的算术运算结果。(1)用键盘在MATLAB指令窗中输入以下内容 (12+2*(7-4)/32 (2)在上述表达式输入完成后,按【Enter】键,该就指令被执行。(3)在指令执行后,MATLAB指令窗中将显示以下结果。ans = 2 【例1.3.2-2】简单矩阵的输入步骤。(1)在键盘上输入下列内容A = 1,2,3; 4,5,6; 7,8,9 (2)按【Enter】键,指令被执行。(3)在指令执行后,MATLAB指令窗中将显示以下结果:A = 1 2 3 4 5 6 7 8 9 【例1.3.2-3】矩阵的分行输入。A=1,2,3 4,5,6 7,8,9 A

7、= 1 2 3 4 5 6 7 8 9 【例1.3.2-4】指令的续行输入S=1-1/2+1/3-1/4+ . 1/5-1/6+1/7-1/8 %.为续行号,它把其下的物理行看作该行的“”逻辑继续,以构成一个“较长”的完整指令。S = 0.6345 .3.3 数值、变量和表达式10 一 数值的记数MATLAB的数值采用的是常用的十进制数表示法,可以带小数点或者负号。以下记数都是合法的。10 二 变量命名规则1 变量名、函数名是对字母大小写敏感的。变量名的第一个字母必须是英文字母。2 对于6.5版,变量名最多可包含63个字符(英文、数字和下连符);而对6.5以前的版本,变量名的字符不超过31个。

8、3 变量名中不得包含空格(Backspace)、标点,但可以包含下划线。变量名my_var_201是合法的。而my,var201由于逗号的分隔,表示的就不是一个变量名。10 三 MATLAB默认的预定义变量10 四 运算符和表达式MATLAB中书写表达式的规则和“手写算式”几乎完全相同。表达式由变量名、运算符和函数名组成,按照与常规相同的优先级从左至右执行计算。优先级的规定是:指数运算级别最高,乘除运算次之,加减运算最低,但括号可以改变运算次序。书写表达式时,允许“=”运算符两侧有空格,用于增加可读性。注:MATLAB用左斜杠或者右斜杠分别表示“左除”或者“右除”运算。对于标量而言,这两者的作

9、用没有什么区别,但对矩阵而言,两种运算将产生不同的结果。10 五 复数和复数矩阵MATLAB最强大的功能之一就是它对复数不需要作特殊处理。 MATLAB认识复数,并用预定义变量i和j作为虚数单位。在MATLAB中,复数可用几种方式表示。a1=2+4i %附加的i表示虚部 a1= 2.0000+4.0000ia1=2-3j %附加的也可以表示虚部 a1= 2.0000+4.0000i还可以用MATLAB默认值i=j=sqrt(-1)来表示虚部。a3=2*(4-sqrt(-1)*2) a3= 8.0000-4.0000i注意下面例子的表达式a4=5+sin(.5)*i a4= 5.0000+0.4

10、794i若将sin(.5)*i中的*去掉,会得到下列信息:a4=5+sin(.5)i ?a4=5+sin(.5)iError:Missing MATLAB operator.原因是sin(.5)i对MATLAB而言没有意义,因此需要在i和j 之前加乘法符号。综上所述,直接以字符i和j结尾,只适用于简单数值,不适用于表达式。【例1.3.3-1】复数表达,及计算。(1)z1= 3 + 4i z1 = 3.0000 + 4.0000i (2)z2 = 1 + 2 * i z3=2*exp(i*pi/6)z=z1*z2/z3 z2 = 1.0000 + 2.0000iz3 = 1.7321 + 1.0

11、000iz = 0.3349 + 5.5801i 【例1.3.3-2】复数矩阵的生成及运算A=1,3;2,4-5,8;6,9*iB=1+5i,2+6i;3+8*i,4+9*i C=A*B A = 1.0000 - 5.0000i 3.0000 - 8.0000i 2.0000 - 6.0000i 4.0000 - 9.0000iB = 1.0000 + 5.0000i 2.0000 + 6.0000i 3.0000 + 8.0000i 4.0000 + 9.0000iC = 1.0e+002 * 0.9900 1.1600 - 0.0900i 1.1600 + 0.0900i 1.3700 【

12、例1.3.3-3】求上例复数矩阵C的实部、虚部、模和相角。C_real=real(C)C_imag=imag(C)C_magnitude=abs(C)C_phase=angle(C)*180/pi %以度为单位计算相角 C_real = 99 116 116 137C_imag = 0 -9 9 0C_magnitude = 99.0000 116.3486 116.3486 137.0000C_phase = 0 -4.4365 4.4365 0 注:MATLAB中有许多内建函数本例中real、imag、abs、angle都是内建函数。【例1.3.3-4】 用MATLAB计算能得到 2 吗?

13、(1)直接计算时,得到的处于第一象限的方根。a=-8;r=a(1/3) r = 1.0000 + 1.7321i (2)计算的全部方根。m=0,1,2; %为3个方根而设 R=abs(a)(1/3); %模的开三次方Theta=(angle(a)+2*pi*m)/3;%-piTheta=pi的3个相角rrr=R*exp(i*Theta) rrr = 1.0000 + 1.7321i -2.0000 + 0.0000i 1.0000 - 1.7321i (3)t=0:pi/20:2*pi;x=R*sin(t);y=R*cos(t);plot(x,y,b:),grid %画一个半径为R的圆 hol

14、d onplot(rrr(1),.,MarkerSize,50,Color,r)%画第一象限的方根plot(rrr(2,3),o,MarkerSize,15,Color,b)%画另两个根axis(-3,3,-3,3),axis square %保证屏幕显示呈真圆 hold off 图 1.3-2 .3.4 计算结果的图形表示【例1.3.4-1】画出衰减振荡曲线及其它的包络线。的取值范围是。(图1.3-3)t=0:pi/50:4*pi; %定义自变量取值数组y0=exp(-t/3); %计算与自变量相应的y0数组y=exp(-t/3).*sin(3*t);% 计算与自变量相应的y数组plot(t

15、,y,-r,t,y0,:b,t,-y0,:b)%用不同颜色、线型绘制曲线grid %画坐标分格线 图1.3-3 【例1.3.4-2】画出所表示的三维曲面(图1.3-4)。的取值范围是。clear;x=-8:0.5:8; %定义自变量x的一维刻度向量y=x; %定义自变量x的一维刻度向量X=ones(size(y)*x; %计算自变量平面上取值点x坐标的二维数组Y=y*ones(size(x); %计算自变量平面上取值点y坐标的二维数组R=sqrt(X.2+Y.2)+eps; %计算中间变量 Z=sin(R)./R; %计算与自变量二维数组相应的函数值surf(X,Y,Z); %绘制三维网格图c

16、olormap(cool) %指定网格图用hot色图绘制xlabel(x),ylabel(y),zlabel(z) 说明:本例中第5条指令中引入eps的目的是:一是避免第6条指令进行除法运算时产生现象;二是在R=0处获得的计算结果。第5条指令中的“.”称为“数组幂”,第6条指令的“./”称为“数组除”。这两种运算都是对参与运算的数组的元素逐个进行的。图 1.3-4 .4 Command Window操作要旨.4.1 指令窗显示方式的操作10 一 缺省显示方式在缺省的情况下,像if、for等关键词采用蓝色字体;输入的指令、表达式以及计算结果等采用黑色字体;字符串采用赭(zhe)红色字体。在指令窗

17、中,数值计算结果都以简洁的“短(Short)”格式显示。注意:用户不要把数值的显示精度错误的理解为数值在MATLAB中的表示精度。MATLAB仅仅是为了显示简洁才采用较少的数位显示,实际存储和运作时都以双精度进行。10 二 显示方式的设置用户根据需要,可以对指令窗的字体风格、大小、颜色和数值计算结果显示格式进行设置。设置方法是:选中桌面或指令窗的File:preferences下拉菜单项,引出一个参数设置对话框;在此弹出的对话框的左栏中选中“Command Window”项或其展开项“Font&Colors”,对话框的右边就出现相应的选择内容;用户根据需要和对话框提示对数据显示格式,或字体等进

18、行选择;最后,点击ok健完成设置。注意:该设置将立即生效,并且将被永久保留,即这种设置不因MATLAB关闭和开启而改变,除非用户进行重新设置。.4.2 数值计算结果的显示格式指令含义举例说明formatformat short通常保证小数点后4位有效数字,最多不超过7位;对于大于1000的实数用5位有效数字的科学记数形式显示314.159被显示为314.1590; 用5位有效数字的科学记数形式显示3141.59被显示为3.1416e+003format long 15位数字表示3.14159265358979format short e5位科学记数表示3.1416e+00format long

19、 e15位科学记数表示3.14159265358979e+00format short g从format short和format short e中自动选择最佳记述方式(缺省设置)3.1416format long g从format long和format long e中自动选择最佳记述方式(缺省设置)3.14159265358979format rat近似有理数表示355/113format hex十六进制表示400921fb54442d18format +显示大矩阵用;正数、负数、零分别用+,空格表示+format bank(金融)元、角、分表示3.14format compact显示变量

20、之间没有空行format loose显示变量之间有空行见上表。.4.3 指令行中的标点符号MATLAB 中用“%”实现注释功能,可以利用这一特性对所做工作进行文档注释。可以把多条命令放在同一行,只需在中间用逗号或者分号隔开。total=500,apple=300;orange=200 total= 500 orange= 200逗号告诉MATLAB显示结果;分号说明除这一条命令以外还有下一条命令等候输入,MATLAB这时不会显示中间结果。如果想在下一行继续注释,必须在行头再加“%”,否则会报错。注:为确保指令正确执行,以上符号一定要在英文状态下输入。因为MATLAB不能识别中文标点。.4.4

21、指令窗的常用控制指令.4.5 指令窗中指令行的编辑操作方便, MATLAB不但允许用户在命令窗口中对输入命令进行各种编辑和运行操作,而且允许用户对过去已经输入的命令进行回调、编辑和重新运行。MATLAB可以使用方向键来调用前面的命令。例如:按一下键会在提示符处调用上一次的命令,重复按键则遍历前面所有的命令;以相同的方式按键则向后遍历所有的命令。在任何时刻都可以用键和键在命令行移动光标,这样可以编辑命令。按PageUp键可以前寻式翻阅当前窗口中的内容;按PageDown键可以后寻式翻阅当前窗口中的内容;按Home键能将光标移到当前行的最前面;按End键能将光标移到当前行的末尾;按Delete键会

22、删除光标右边的字符;按Backspace键会删去光标左边的字符;按Esc键会清除当前行的全部内容。注:MATLAB命令窗口中输入的所有命令都被记录在内存中专门开辟的“命令历史窗口”中,只要用户对它们不进行专门的删除操作,它们将不会因为用户对命令窗口的清屏操作(即运行clc指令)而消失,也不会因为用户对“workspace”进行“清除内存变量”(即运行clear指令)而消失。【例1.4.5-1】指令行操作过程示例。计算 的值。y1=2*sin(0.5*pi)/(1+sqrt(3) y1= 0.7321利用命令回调,进行新的计算。方法:先用键调回已输入过的命令y1=2*sin(0.5*pi)/(1

23、+sqrt(3) ;然后移动光标,把y1换成y2;把sin换成cos;再按Enter键,就可以得到一下结果。y2=2*cos(0.5*pi)/(1+sqrt(3) y2= 4.4825e-017 .5 Command History和实录指令diary.5.1 Command History历史指令窗简介通常历史指令窗口位于MATLAB操作作=桌面的左下侧前台,此窗口属性为可浮动窗口,只要单击该指令窗口右上角的按钮,就可以获得浮动窗口。单击浮动窗口右上角的按钮,使独立的浮动窗口复原。图1.5-1.5.2 历史指令行的再运行用户通过历史指令窗口执行历史指令的方法有以下两种:用鼠标双击一条指令,即

24、可发送到指令窗口立即执行;选中指令,单击鼠标右键选择Copy菜单,在指令窗口单击Paste按钮即可。对于选择执行多条历史指令,可先利用组合操作Ctrl+鼠标左键选择浮动菜单中多条指令,当鼠标光标停在高亮度区时,单击鼠标右键,弹出浮动菜单,选中浮动菜单,选中浮动菜单中“Evaluate Selection ”选项,计算结果就会出现在指令窗口中。【例1.5.2-1】再运行图1.5-2所示历史指令窗中的三行指令。具体操作过程:先利用组合操作Ctrl+鼠标左键分别点亮如图所示历史指令窗中的那3行指命令;当鼠标光标在点亮区时,点击鼠标右键,引出现场菜单;选中现场菜单项Evaluate Selection

25、,计算结果就出现在指令窗中。图1.5-2 .5.3 指令窗实录指令diarydiary指令能产生“日志”文件,即把当前指令窗口中所有内容(包括指令、计算结果等)如实地记录为ASCII文件加以保存。.6 Current Directory、路径设置器和文件管理.6.1 Current Directory当前目录浏览器简介在缺省情况下,当前当前目录浏览器位于MATLAB桌面的左下方后台。点击窗标“Current Directory”可使目录浏览器在前台展现。再点击该窗口的键“”,可以引出如图1.6.1所示脱离操作桌面的几何独立的当前目录浏览器。图 1.6-1 10 一 用户目录和当前目录设置应尽量

26、为自己建立一个专门的工作目录,即“用户目录”用来存放自己创建的文件。尽管,matlabwork允许用户存放文件,但用户最好把它仅作为临时工作目录使用。在MATLAB开始工作时,就应该把用户自己的“用户目录”设置为当前目录。用户目录设置成当前目录的方式有两种。1 交互式界面设置法在MATLAB操作界面的右上方,或者当前目录浏览器的左上方,都有一个当前目录设置区。它包括:目录设置栏和浏览建。用户或者在目录设置栏中直接填写待设置的目录名,或者借租浏览键和鼠标选择待设置目录。2 命令设置法通过指令设置当前目录是各种MATLAB版本都适用的基本方法。它不仅能在命令窗口执行,而且可以在M文件中使用。假设待

27、设置的用户目录是D:mat_dir,那么把它设置成当前目录的命令是cd D:mat_dir.10 二 借助当前目录浏览器获取M和MAT文件信息【例1.6.1-1】从图1.2-1所示MATLAB缺省桌面开始,叙述引出图1.6-1所示面貌的当前目录浏览器的操作过程。Matlab6p5toolboxmatlabelmat.6.2 MATLAB的搜索路径.6.3 MATLAB搜索路径的扩展和修改10 一 何时需要修改搜索路径10 二 利用设置路径对话框修改搜索路径图1.6-2 10 三 利用指令path 设置路径.7 Workspace Browser和Array Editor.7.1 Workspa

28、ce Browser工作空间浏览器简介图1.7-1 .7.2 现场菜单用于内存变量的查阅和删除10 一 内存变量查阅、删除的指令操作法【例1.7.2-1】在指令窗中运用who, whos查阅MATLAB内存变量。who Your variables are:A Bnumber D R XYZ Z y B C DD X Y x whos Name Size Bytes Class A 2x2 230 cell array B 1x1 264 struct array Bnumber 1x1 8 double array C 2x2 408 sym object D 1x2 4 char arra

29、y DD 2x2 8 char array R 33x33 8712 double array X 33x33 8712 double array XYZ 33x33x3 26136 double array Y 33x33 8712 double array Z 33x33 8712 double array x 1x33 264 double array y 33x1 264 double arrayGrand total is 7722 elements using 62434 bytes 注:who,whos指令操作对MATLAB的所有版本都使用。本例两条指令的差别仅在于获取内存变量信

30、息的简单和详细程度不同。读者运行who,whos指令后的变量列表随具体情况不同。本例的变量列表是在本书作者进行特定操作后产生的。【例1.7.2-2】在指令窗中运用clear指令可以删除内存中的变量。clear Bnumberwho Your variables are:A B C D DD R X XYZ Y Z x y 10 二 内存变量查阅和删除的现场菜单操作法图1.7-2 【例1.7.2-3】通过“工作空间浏览器”的运作,采用图形显示内存变量Z 。图1.7-3 【例1.7.2-4】通过“工作空间浏览器”删除内存变量。.7.3 Array Editor数组编辑器和大数组的输入在指令窗中输入较大规模数组的操作方

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2