自第二章研究生仿真课MATLAB编程基础课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《自第二章研究生仿真课MATLAB编程基础课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第二 研究生 仿真 MATLAB 编程 基础 课件
- 资源描述:
-
1、MATLAB教程 基础准备及入门基础准备及入门 -电气工程系研究生总体内容:1、安装、启动(略)2、MATLAB指令窗口操作及规则(适用于各种版本)3、MATLAB最常用的五个交互界面:历史指令窗、当前 目录浏览器、工作空间浏览器、变量编辑器、M文件编辑器4、MATLAB的帮助体系和求助方法MATLAB教程 基础准备及入门之基础准备及入门之窗口操作及规则 -电气工程系研究生 一、窗口MATLAB教程 基础准备及入门基础准备及入门 -电气工程系研究生帮助系统及其使用帮助系统及其使用常用帮助指令常用帮助指令 1、函数搜索指令(知道具体函数名,不知如何使用)、函数搜索指令(知道具体函数名,不知如何使
2、用)指令窗口帮助系统(在指令窗口显示帮助信息)help 列出所有函数分组名列出所有函数分组名 help TopicName 列出指定名称函数组中的所有函数列出指定名称函数组中的所有函数 help FunName 给出指定名称函数的使用方法给出指定名称函数的使用方法打开帮助系统显示帮助信息 helpwin 列出所有函数分组名列出所有函数分组名 helpwin TopicName 列出指定名称函数组中的所有函数列出指定名称函数组中的所有函数 helpwin FunName 给出指定名称函数的使用方法给出指定名称函数的使用方法更详尽的帮助信息 doc ToolboxName 列出指定名称工具包中的所
3、有函数名列出指定名称工具包中的所有函数名 doc FunName 给出指定名称函数的使用方法给出指定名称函数的使用方法 操作举例操作举例:barMATLAB教程 基础准备及入门基础准备及入门窗口操作及规则 -电气工程系研究生、二、运行最简单的计算器使用方法最简单的计算器使用方法【例一】在指令窗做如下操作 MATLAB运算符是各种计算程序中常见的习惯符号 一条指令结束后,必须按回车键,该指令才会执行 不含赋值号的表达式的结果赋给MATLAB的一个默认变量ansMATLAB教程 基础准备及入门基础准备及入门窗口操作及规则 -电气工程系研究生、二、运行【例二】指令续行 3个或3个以上的连续黑点表示续
4、行 包含赋值号=指令执行后,变量S被保存到MATLAB的工作空间(Workspace)中备用。如果不用clear指令清除或重新赋值,则会一直保存在空间中,直到本MATLAB指令窗口关闭为止。MATLAB教程 基础准备及入门基础准备及入门窗口操作及规则 -电气工程系研究生 二、运行【例三】逗号,分号;的使用 以上两种情况都是合法的,左边使用逗号将两个表达式分开,回车后xy的结果都显示,右边使用分号,表示x的结果不显示,只显示y的结果MATLAB教程 基础准备及入门基础准备及入门窗口操作及规则 -电气工程系研究生 二、运行常用标点的意义 空格空格 输入量之间的分隔符(命令窗口会忽略变量之间的这些空
5、格),输入数组元素之间的分隔符 ,逗号逗号 要显示计算结果与其他命令之间的分隔;输入量之间的分隔符或数组元素之间的分隔符 .点点 在数值计算中,可以作为小数点来使用;在数组运算过程中,可作为元素运算的标示 ;分号分号 在命令行末尾表示在计算结束后不显示计算结果;或在输入数组时,作为数组之间的分隔符 :冒号冒号 在生成一维数组时,可作为分隔符;用作单下标引用时的全部元素构成的全部数列;循环运算 过程中的分隔符%百分号百分号 位于命令行的开头,表示该行为注释行 单引号对单引号对 用于定义字符串 ()圆括号圆括号 改变运算过程中的优先级次序;在函数调用时使用;作为数组的索引 方括号方括号 定义矩阵
6、花括号花括号 定义单元数组;图形中被控特殊字符括号 -下划线下划线 定义变量、函数或文件时使用的连字符;图形中被控下脚标的签到符号 续行号续行号 当输入命令窗口的命令较长时,可在一行中未完成的命令后输入三个以上的点号,在下一行继 续输入该命令的剩余部分,完成较长命令的输入与执行。“at”号号 放在函数名称前,形成函数句柄;作为匿名函数的前导符 !感叹号感叹号 调用操作系统运算MATLAB教程 基础准备及入门基础准备及入门窗口操作及规则 -电气工程系研究生、二、运行【例四】控制键方向键的使用 在命令出现错误或需要修改时,可点击或调出以前输入的命令,进行修改并回车,回车时可在该行任何位置,不必将光
7、标移至句末。还可以只输入命令行的少数几个字符,然后使用可以将最后一个以这几个字符开头的命令行调出。MATLAB教程 基础准备及入门基础准备及入门窗口操作及规则 -电气工程系研究生、二、运行常用的命令行控制键:PgUp PgDn Home End Del删左 Backspace 删右 Esc删整行MATLAB教程 基础准备及入门基础准备及入门窗口操作及规则 -电气工程系研究生、二、运行数值、变量和表达式数值、变量和表达式合法的数值表达:合法的数值表达:3 -99 0.001 1.3e-3 4.5e33范围:范围:10-30810308变量名规则:变量名规则:*区分大小写区分大小写 *第一个为英文
8、字母,最多包含第一个为英文字母,最多包含6363个字符个字符 *不得包含空格、标点、运算符,可包含下连符如不得包含空格、标点、运算符,可包含下连符如my_var_2011my_var_2011是合法的是合法的 *禁忌:不与禁忌:不与MATLABMATLAB关键词(关键词(for,if/else,endfor,if/else,end等等)同名,尽量不与同名,尽量不与MATLABMATLAB自自用的变量名(如用的变量名(如eps,pieps,pi等)、函数名(如等)、函数名(如sin,eigsin,eig等)、文件夹名(如等)、文件夹名(如rtw,toolboxrtw,toolbox等)相同等)相
9、同 *MATLABMATLAB提供两个判断指令用于判断所用变量名是否犯忌提供两个判断指令用于判断所用变量名是否犯忌 iskeyword UserNameiskeyword UserName 运行结果为运行结果为0 0表示不同于关键字表示不同于关键字 exist UserNameexist UserName 运行结果为运行结果为0 0表示不同于自用变量名、函数名、文件夹名表示不同于自用变量名、函数名、文件夹名MATLAB教程 基础准备及入门基础准备及入门窗口操作及规则 -电气工程系研究生、二、运行默认的数学常数默认的数学常数 eps:浮点相对精度 exp:自然对数的底数e i 或 j:基本虚数单
10、位 inf 或 Inf:无限大,例如1/0 nan或NaN:非数值(Not a number),例如0/0 pi:圆周率 p(=3.1415926.)realmax:系统所能表示的最大数值 realmin:系统所能表示的最小数值 nargin:函数的输入引数个数 nargout:函数的输出引数个数 lasterr:存放最新的错误信息 lastwarn:存放最新的警告信息MATLAB教程 基础准备及入门基础准备及入门 -电气工程系研究生MATLAB教程 基础准备及入门基础准备及入门 -电气工程系研究生MATLAB教程 基础准备基础准备 运行 -电气工程系研究生 向量运算向量运算向量的构造 在MA
11、TLAB中“:”是一个重要的字符,如x1:4即产生一个1-4单位增量的行向量MATLAB教程 基础准备基础准备 运行 -电气工程系研究生 也可以产生单位增量小于1的行向量,方法是把增量放在起始和结尾量的中间,并用冒号分割开来。如:MATLAB教程 基础准备基础准备 运行 -电气工程系研究生 也可以产生单位增量为负数的行向量,如MATLAB教程 基础准备基础准备 运行 -电气工程系研究生 符号“:”也可以用来产生简易的表格。为了产生纵向表格形式,首先要用它产生行向量,然后进行转置再利用所得的列向量计算出另一列向量,即可合成有两列的矩阵。例如:MATLAB教程 基础准备基础准备 运行 -电气工程系
12、研究生下标下标n MATLAB的下标具有很重要的功能,可以在对矩阵的行、列子矩阵处理时使用,也可以用来产生向量。使用下标和向量,会使运算更为清晰和方便。单个的矩阵元素可在括号中用下标来表达。例如,已知n其中元素A(3,3)9,A(1,3)=4,A(3,1)3等等。若用语句A(3,3)A(1,3)+A(3,1),利用原矩阵的元素产生新元素(即为A(3,1)+A(1,3)7)替代A矩阵中第三行第三列的元素A(3,3),则产生的新的A矩阵为MATLAB教程 基础准备基础准备 运行 -电气工程系研究生MATLAB教程 基础准备基础准备 运行 -电气工程系研究生n如果v2:2:n;W3 1 4 1 6,
13、此时A(v,w)是合法的,但并不排除出问题的可能性。n进一步分析,A(:)在赋值语句的右边,表示将A的所有元素在一个长的列向量中展成串,如 A1 2;3 4;5 6,bA(:)则结果为MATLAB教程 基础准备基础准备 运行 -电气工程系研究生n 在赋值语句左边A(:)可以重新组成与刚才的A具有相同阶数的矩阵,这相当于在原来的A没有被清除的情况下,用新的元素置换,实际上起着一种提供格式的作用。例如在上例的基础上n(a在前面例子中的规格已经为3*2的矩阵)体会以下语句体会以下语句:B1=(1:2:end,:)%提取A矩阵全部的奇数行、所有列 B2=A(3,2,1,2,3,4)%提取A矩阵3,2,
14、1行、2,3,4列构成子矩阵 B3=A(:,end:-1:1)%将A矩阵左右翻转,即最后一列排在最前MATLAB教程 基础准备基础准备 三、基本数学运算 -电气工程系研究生矩阵的运算矩阵的运算 1、矩阵的代数运算、矩阵的代数运算 B=A 转置 X=AB(AX=B)左除 X=B/A(XA=B)右除 C=A+B C=A-B C=A*B B=fliplr(A)左右翻转(flip left right)C=flipud(A)上下翻转(flip up down)D=rot90(A)逆时针旋转90度 F=Ax 乘方 C=A.*B 点运算(矩阵相应元素之间直接进行乘法Cij=AijBij)X.5 x中每个元
15、素取5次方 A.A 每个元素取aijaij MATLAB教程 基础准备基础准备 三、三、基本数学运算 -电气工程系研究生 2、逻辑运算、逻辑运算 A&B 与 如果两矩阵相应元素均非0则给结果元素为1,否则为0 A|B 或 如果两矩阵相应元素均为0则给结果元素为0,否则为1 A 非 若相应元素为0,则结果为1,否则为0 xor(A,B)异或 如果相应两元素一个为0,一个非0,则结果为0,否则为1可在MATLAB中进行试用 MATLAB教程 基础准备基础准备 三、三、基本数学运算 -电气工程系研究生矩阵的比较运算矩阵的比较运算 C=AB 当A和B矩阵满足aijbij时,cij=1,否则为0 =(不
16、等于)MATLAB还提供了一些特殊函数:find()查询出满足某关系的数组下标数组下标(MATLAB以逐列顺序安排数组下标,即先构成列向量,再分配数组下标)如:find(isnan(a)查找a中为nan的各元素下标。MATLAB教程 基础准备基础准备 三、三、基本数学运算 -电气工程系研究生 查询函数 all()如all(a=5)当a中的某列元素全大于等于5时,结果元素为1,否则为0 any()如any(a=5)当某列中含有大于等于5的元素时,结果为1,否则为0 若想判定一个矩阵的所有元素是否都大于等于5时,则可写成all(a(:)=5)MATLAB教程 基础准备基础准备 基本数学运算 -电气
17、工程系研究生解析结果的化简与变换解析结果的化简与变换 符号运算工具箱可用于推导数学公式,但结果有时不是最简形式,或不是用户期望的形式。MATLAB提供了一些化简函数:simple()得出各中方法中自动选择最简格式 collect()函数合并同类项 numden()提取多项式的分子和分母 sincos()进行三角函数的化简 另外还有一个很有用的变量替换函数sub()MATLAB教程 基础准备基础准备 基本数学运算 -电气工程系研究生例:MATLAB教程 基础准备基础准备 基本数学运算 -电气工程系研究生n基本数据变换和数论函数基本数据变换和数论函数 floor()n=floor(x)将x中元素按
18、-方向取整 ceil()n=ceil(x)将x中元素按+方向取整 round()n=round(x)将x中元素按最近的整数取整 fix()n=fix(x)将x中元素按离0近的方向取整 rat()n,d=rat(x)将x中元素变换成最简有理数,n和d分别为分子和分母矩阵 rem()B=rem(A,C)A中元素对C中元素求模得出的余数 gcd()k=gcd(n,m)求取两个整数n和m的最大公约数 lcm()k=lcm(n,m)求取两个整数n和m的最小公倍数 factor()factor(n)对n进行质因数分解 isprime()v1=isprime(v)判定向量v中的各个整数值是否为质数,若是则v
19、1向量相 应的值置1,否则为0MATLAB教程 基础准备基础准备 基本数学运算 -电气工程系研究生例MATLAB教程 基础准备基础准备 基本数学运算 -电气工程系研究生例 求pq的最小公倍数和最大公约数%定义符号变量sMATLAB教程 程序设计程序设计 M文件文件 -电气工程系研究生 MATLAB命令执行方式:1)交互式命令执行方式(逐条解释)2)M文件的程序执行方式(扩展名文件的程序执行方式(扩展名.m的以的以 matlab语言编写的文件)语言编写的文件)n掌握建立和执行M文件的方法n掌握利用if语句、switch语句实现选择结构的方法n掌握利用for语句while语句实现循环结构的方法n熟
20、悉利用向量运算来代替循环操作的方法n掌握定义和调用MATLAB函数的方法MATLAB教程 程序设计程序设计 M文件文件 -电气工程系研究生 M文件是文本文件,可以用任何编辑程序来建立和编辑,默认用MATLAB提供的文本编辑器打开进行编辑。一、M文件的建立和打开(三种方法)建立:命令按钮操作:点击MATLAB“新建”(New M-file)菜单操作:FileNew M-file 命令操作:命令窗口键入edit M文件保存位置一般是MATLAB默认的工作目录work,如果要存到其它目录,则应该将该目录设定为当前目录或将其加到搜索路径中。打开M文件:命令按钮操作 菜单操作 命令操作(命令窗口键入:e
21、dit 文件名)在当前目录窗口左键双击文件名打开MATLAB教程 程序设计程序设计 M文件文件 -电气工程系研究生二、二、M文件的分类文件的分类 根据调用方式的不同分为两类:命令命令(脚本)文件脚本)文件(Script File)函数文件函数文件(Function File),扩展名均为.mScript Filen命令(脚本)文件没有输入参数,也不返回输出参数,而函数文件可以带输入参数,也可返回输出函数n命令(脚本)文件对MATLAB工作空间中的变量进行操作,文件中所有命令的执行结果也完全返回到工作空间中,而函数文件中定义的变量为局部变量,当函数文件执行完毕时,这些变量被清除n命令(脚本)文件
22、可以直接运行,在MATLAB命令窗口输入命令文件的名字就会顺序执行命令文件中的命令,而函数文件不能直接运行,需要要以函数调用的方式来调用它MATLAB教程 程序设计程序设计 M文件文件 -电气工程系研究生【例一】建立一个M文件,其功能是:用两个实变量R、M生成复变量RM。做法:首先建立命令文件并以文件名setcomp.m保存在当前目录下 clear R=1,2,3;4,5,6;M=11,12,13;14,15,16;RMR+i*M 然后在MATLAB命令窗口中输人setcomp,则会执行该m文件,结果为 RM=1.0000+11.0000i 2.0000+12.0000i 3.0000+13.
23、0000i 4.0000+14.0000i 5.0000+15.0000i 6.0000+16.0000i 调用该命令文件时,不用输入参数,也没有输出参数,文件自身建立需要的变量。当文件执行完毕后,可以用命令whos查看工作空间中的变量,R、M、RM仍保留在空间中。MATLAB教程 程序设计程序设计 M文件文件 -电气工程系研究生【例二】建立一个函数文件fsetcomp.m function RM=fsetcomp(R,M)RM=R+i*M;然后在MATLAB的命令窗口调用该函数文件:clear;a=1,2,3;4,5,6;b=11,12,13,14;15,16,1,18;c=fsetcomp
24、(a,b)输出结果为:c=1.0000+11.0000i 2.0000+12.0000i 3.0000+13.0000i 4.0000+14.0000i 5.0000+15.0000i 6.0000+16.0000i 调用该函数文件时,既有输入参数,又有输出参数。当函数调用完毕后,可以用命令whos查看工作空间中的变量,这时会发现函数参数R、M、RM未被保留在空间中,而a、b、c保留在空间中。MATLAB教程 程序设计程序设计 M文件文件 -电气工程系研究生例三 编制M函数文件mean1.m,计算1-99的平均数 第一步:第二步:保存为mean1.m第三步:在命令窗口输入MATLAB教程 程序
25、设计程序设计 程序控制结构程序控制结构 -电气工程系研究生任何程序都由三种基本控制结构三种基本控制结构组成:顺序结构、选择结构、循环结构顺序结构、选择结构、循环结构。一、顺序结构一、顺序结构(一般涉及数据的输入、数据的计算或处理、数据的输出等)1、数据的输入 input函数(用于从键盘输入数据),该函数调用格式:h=input(提示信息,选项);提示信息:字符串,提示用户输入什么样的数据。例如,从键盘输入A矩阵,可以采用下面的命令完成:h=input(输入A矩阵:);执行语句时,屏幕上显示提示信息”输入A矩阵:”,然后等待用户键入按MATLAB规定格式输入A矩阵的值。如果在该函数中采用“s”选
展开阅读全文