第二章matlab基础知识_第1页
第二章matlab基础知识_第2页
第二章matlab基础知识_第3页
第二章matlab基础知识_第4页
第二章matlab基础知识_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第二章MATLAB基础知识

2.1MATLAB界面2.2MATLAB语言的基本使用环境2.3MATLAB语言数据结构;启动MATLAB开机执行程序c:\matlab\bin\matlab.exe用鼠标双击matlab图标)即可打开matlab命令平台工作窗出现以后,即可进行各种操作命令窗口(CommandWindow)——该窗是进行各种MATLAB操作的最主要窗口。在该窗内可键入各种送给MATLAB运作的指令、函数、表达式,并显示除图形外的所有运算结果。工作空间窗口(Workspace)——是MATLAB用于存储各种变量和结果的内存空间。通过窗口可以观察数据名称、尺寸和数据类型等信息。当前路径窗口(CurrentDirectory)——用于显示及设置当前工作目录,同时显示当前工作目录下的文件名、文件类型及目录的修改时间等信息。

命令历史窗口(CommandHistory)——为记录已运行过的MATLAB命令而设计的,该窗口记录已运行过的命令、函数、表达式等信息;可以进行命令历史的查找、检查等工作;也可以在该窗口对命令历史进行复制及重运行。启动平台(LaunchPad)——可以帮助用户方便地打开和调用MATLAB的各种程序、函数和帮助文件。可进行当前目录设置,展示、复制、编辑和运行相应目录下的M文件。MATLAB界面与Windows的窗口界面类似,有菜单项File、Edit、Option、Windows、Help等项可以选择。MATLAB联机帮助Matlab命令窗口中的help菜单下的Matlabhelp命令。MATLAB联机帮助命令help功能提供matlab大部分主题的在线帮助信息。help显示help主题一览表。helpplotxyz显示有关三维作图指令帮助信息。虽然help可随时提供帮助,但必须知道准确的函数名称。当不能确定函数名称时,help就无能为力了。Lookfor函数—它可提供通过一般的关键词,搜索出一组与之相关的命令。Lookforfourier寻找含有傅立叶变换的相关指令。help、lookfor两个指令构成了matlab语言相当完善的在线帮助查询系统。1.MATLAB的数值计算(1)数值的表示采用十进制,可以带小数点或负号。例如:0-1000.081.6e-8ans=4.2000例如:计算算术式

>>(3*(6-2)+2)/2^3MATLAB可以识别一般常用的加“+”,减“-”,乘“*”,除“/”或“\”的运算符号,以及幂次运算符号“^”。(2)基本运算符(3)表达式(4)基本运算表达式由变量名、运算符和函数名组成,将按常规相同的优先级自左至右执行运算。优先级的规定:指数、乘除、加减,括号可改变运算的次序。在MATLAB下进行基本数学运算,只需将运算式直接在命令窗口中提示号">>"后键入,并按Enter键即可。例如:>>(5*2+1.3-0.8)*10/25ans=4.20002.2MATLAB语言数据结构:双精度浮点数型数据,double()整型数据表示:int8(),int16(),int32()无符号整型数据表示:uint8(),uint16(),uint32()除了一般的实数数据之外,MATLAB还支持复数向量、矩阵和字符串型矩阵,从MATLAB5.0版本开始,还允许其他更高级的数据类型,如多维数组、数据结构体、单元数据、类和对象等,2.2.1常量、变量与赋值语句1.MATLAB变量命名的规则如:MAN12,A_12,WE_正确变量名12a,_WE不正确变量名注:MATLAB语言的变量名区分大小写,如AERaeR1)第一个字母必须是英文字母,后面可以跟字母、数字、下划线;2)字母间不可有空格和标点符号;3)长度不能超过31位,超出的部分将被忽略;

4)某些常量也可作为变量使用,如:i。2.MATLAB的默认常量名称说明Pi圆周率INF(或inf)无穷大NaN(或nan)代表不定值(即0/0)Realmax最大的正实数Realmin最小的正实数Eps浮点数的相对误差i(或j)虚数单位Nargin函数实际输入参数个数Nargout函数实际输出参数个数ANS(或ans)默认变量名,以应答最近一次操作运算结果3.赋值语句变量=表达式()

在命令窗口中表达式的结果值赋给保留变量ans;4.函数调用语句[返回变量列表]=函数名(输入变量列表)

函数名命名规则与变量名相同,而且对应某一文件。[u,v,w]=fun(x,y,z)[uvw]=fun(xyz)返回或输入的各变量列表间以逗号或空格分开。eps一机器的浮点运算误差限。PC机上eps的默认值为2.22xl0-16,若某个量的绝对值小于esp:,则可以认为这个量为o。i和j-若i和j不被改写,则它们表示纯虚数量i。Inf一无穷大量+∞的MATLAB表示,也可以写成inf,同样地-∞可以表示为—Inf。NaN一不定式(NotaNumber),通常由0/0运算、Inf/Inf及其他可能的运算得出。NaN是个很奇特的量,如NaN与Inf的乘积仍为NaN。Pi一圆周率π的双精度浮点表示MATLAB是一个基于矩阵运算的工具。矩阵的表示。[]1、一行输入;(空格、逗号)

2、多行输入;(逗号、分号)逗号和分号的作用:逗号和分号可作为指令间的分隔符,matlab允许多条语句在同一行出现。分号如果出现在指令后,屏幕上将不显示结果。符号的作用冒号的作用:用于生成等间隔的向量,默认间隔为1。用于选出矩阵指定行、列及元素。循环语句数学上的矩阵:2.2.2MATLAB的矩阵表示

%语句后无分号得下面结果矩阵行向量的表示矩阵列向量的表示矩阵元素的访问例:c=141232545636111213单个元素的访问:c(3,5)%13,访问了第3行和第5列交叉的元素整列元素的访问:c(:,5)%[3;6;13],访问了第5列中的所有元素整行元素的访问:c(1,:)%[1,4,1,2,3],访问了第1行中的所有元素整块元素的访问:c(2:3,3:5)%[4,5,6;11,12,13]访问了一个2×3的子块矩阵。用冒号表达式给行向量赋值,其格式为:a=s1:s2:s3(当s2>0时s1<s3,s2相反或省略情况)复数矩阵的表示:2.2.3多维数组的定义练习:给实数和复数数组赋值及定义以外的矩阵赋值A=[1234;4321;2341;3241];B=[1+4j,2+3j,3+2j,4+1j;4+1j,3+2j,2+3j,1+4j;2+3j,3+2j,4+1j,1+4j;3+2j,2+3j,4+1j,1+4j];>>A(5,6)=5A=123400432100234100324100000005特殊矩阵生成函数功能说明zeros()生成元素全为0的矩阵ones()生成元素全为1的矩阵rand()生成均匀分布随机矩阵magic()生成魔方矩阵diag()生成对角矩阵triu()生成上三角矩阵tril()生成下三角矩阵eye()生成单位矩阵company()生成伴随矩阵Matlab常用特殊矩阵生成函数注意:matlab严格区分大小写字母,因此a与A是两个不同的变量。matlab函数名必须小写。Matlab语言数据结构:数据结构体和单元结构例:考虑建立学生档案结构体,应包含下列信息:编号(用number表示,在结构体下number又称为其成员变量或域):数值型。姓名(name):字符串型。身高(height):数值型。考试成绩(test):矩阵,其第i行为第i次考试的成绩,而第j列为第j门考试的成绩。可建立起结构体student_rec:2.2.4数据结构体:数据结构体将某一类相关的信息纳入一个统一的变量名字下进行管理。(数据库)>>student_rec.number=1;student_rec.name=’张三’;student_rec.height=180;student_rec.test=[100,80,75;77,60,92;67,28,90;100,89,78];student_rec%显示结构体的内容student_rec=number:1name:’张三’height:180test:[4×3double]>>student_rec.testans=100807577609267289010089782.2.5单元结构单元结构是把不同属性的数据都纳入到一个变量之下,这个变量称为单元。单元结构和结构体的关系:(1)结构体下的各个子项称为成员变量,而每个成员变量都有自己的名字;(2)单元变量类似于带有下标的矩阵和多维数组,且用大括弧括起来(3)在矩阵和多维数组中每个矩阵元素都应该具有相同的属性,而单元结构可把不同属性的数据归并起来。考虑建立学生档案采用单元结构,应包含下列信息:其中…为续行符号,表示下一行的内容紧跟上行>>B{4}%显示第4单元内容>>B(4)(×)方法2:>>celldisp(B)%显示整个单元变量采用函数方法实现。B{1}=1B{2}=张三B{3}=180B{4}=10080757760926728901008978>>B(3)=[]%删除B单元变量的第3个单元元素>>B{3}=[]%将第3个单元置成空矩阵。

如果A矩阵含有复数元素,则对之进行转置时,其转置矩阵B的元素定义为bji=aij*,i=1,……,n,j=1,…m,亦即首先对各个元素进行转置,然后再逐项求取其共轭复数值。这种转置方式又称为Hermit转置,其数学记号为b=A*1.矩阵转置2.3Matlab下矩阵的运算2.3.1矩阵的代数运算复数矩阵的常规转置AT则可由函数transponse()>>B=transponse(A)%直接转置B=B=A’%可表示复数矩阵也可表示实数矩阵的转置transponse(A)可以实现hermit转置2.矩阵的加减法运算C=A+BC=A-B

(1)矩阵A、B维数相同,它会自动将其对应元素相加减;(2)若其中之一为标量,则变加(减)于另一个矩阵;

函数实现:plus(A,B)minus(A,B)3.矩阵乘法矩阵相乘的条件:A、B矩阵相容;如:C=A*B由Matlab编程得C=mtimes(A,B)4.矩阵的左除(\)“\”运算符号表示两个矩阵的左除既A\B为方程AX=B的解X,(A、B尽可能为方阵)函数实现:mldivide(A,B)求解线性方程组:>>A=[57651;710872;681093;579104;12345];>>B=[2496;34136;36144;35140;1560];>>X=A\B5.矩阵的右除(/)“/”运算符号表示两个矩阵的右除既B/A为方程XA=B的解X,(A、B尽可能为方阵)A为非奇异方阵,函数实现:mrdivide(A,B)6.矩阵翻转7.矩阵乘方Ax(A矩阵为方阵)若x为正整数,将A矩阵自乘X次;若X为负整数,则将A矩阵自乘X次后对结果进行求逆运算;若x=n/m,其中n和m均为整数,先将A矩阵自乘n次,然后对结果再开m次方。函数实现:mpower(A,x)8.点运算

两个矩阵之间的点运算是他们对应元素的直接运算(又称Hadamard运算)C=A.*B(cij=aij*bij)函数实现:times(A,B)注:点乘的矩阵应具有相同的维数例:给定的矩阵A和B2.3.2矩阵的逻辑运算在Matlab中,如果一个数的值为0,则可以认为它为逻辑0(假),否则为逻辑1(真)。1.矩阵与运算(&)

C=A&BA和B必须满足的条件:(1)A和B的维数应该相同或其中之一为标量(2)A和B矩阵的对应元素进行“与”运算,如果两个数均非0,则该结果元素的值为1,否则为0

矩阵A和B的与运算还可表示为and(A,B)2.矩阵或运算(|)

C=A|B条件:(1)A和B的维数应该相同或其中之一为标量(2)A和B矩阵的对应元素进行“或”运算,如果两个数均为0,则该结果元素的值为0,否则为1

矩阵A和B的或运算还可表示为or(A,B)3.矩阵非运算(~)

C=~A条件:A矩阵进行“非”运算时,若矩阵对应元素为0,则结果为1,否则为0

矩阵A的非运算还可表示为not(A)4.矩阵的异或运算(xor)C=xor(A,B)条件:(1)A和B的维数应该相同或其中之一为标量(2)A和B矩阵的对应元素进行“异或”运算,如果两个数一个为0,一个非0,则结果元为1,否则为0

矩阵A的异或运算还可表示为xor(A)两矩阵A和B>>A=[0234;1350];B=[1053;1505];A&B%与运算ans=00111100A|B%或运算ans=11111111>>A=[0234;1350];B=[1053;1505];~A%非运算ans=10000001xor(A,B)%异或运算ans=11000011

2.3.3矩阵的比较关系这些关系针对矩阵对应元素而言的,所以在使用关系运算时,应该保证两个矩阵的维数是一致的或其一为标量。关系运算对两个矩阵的对应运算进行比较,若关系满足,则将结果矩阵中该位置的元素置为1,不满足则置0。>>A=[0234;1350];B=[1053;1505];A==B%判定相等关系ans=00001000>>A>=B%判定大于、等于关系ans=01011010>>A~=B%判定不等于关系ans=111

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论