资源描述
,单击此处编辑母版标题样式,*,MALAB 7.X程序设计,*,/59,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,第,2,章,MATLAB,运算基础,(1),单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,MALAB 7.X程序设计,*,第,2,章,MATLAB,运算基础,(1),第2章 MATLAB 运算基础(1),主要内容:,变量的定义及赋值;,数值数组、字符串数组、元胞数组和构架数组等数据类型;,矩阵运算的定义和规则;,数组运算的定义和规则。,主要内容:,1,),矩阵:,由,mn,个数组成的排成,m,行,n,列的一个矩形的数表,其中,00,矩阵为空矩阵,(),。数表中第,i(1,i,m),行第,j(1,j,n),列的数据称为矩阵元素,2,),标量,:,11,的矩阵,即为只含一个数的矩阵。,3,),向量:,1n,或,n1,的矩阵,即只有一行的或者一列的矩阵。只有一行的矩阵称为行向量,只有一列的矩阵称为列向量。,数表中第,i(1in),个数据称为,向量,元素,。,4,),数组:,矩阵的延伸,一般指多维数组,其中标量、向量和矩阵都是数组的特例。,2.1,概述,2.1.1,数据术语,1)矩阵:由mn个数组成的排成m行n列的一个矩形的数表,,2.1.2,数据类型,数据类型包括,数值型、字符串型、元胞型、构架型,等。数值型有单精度型、双精度型和整数型。整数型有,uint8,uint16,uint32,和,uint64,等无符号型和,int8,,,int16,,,int32,和,int64,等符号型整数。,数值型数据可以用带小数点的形式和科学计数法表示,数值的表示范围是,1,0-309,10,+309,。,-20,、,1.25,、,2.88e-56(,表示,2.88,10,-56,),、,7.68e204(,表示,7.68,10,204,),都是合法的数据表示。,。,一般在计算时,采用双精度型,在输出时有多种数值显示格式可供选择。,2.1.2 数据类型数据类型包括数值型、字符串型、元胞型、构,数值显示格式的设置通过,format,命令,格式如下:,format short,默认设置,以,5,位数字形式输出,format long,以,15,位十进制数形式输出,format short e,以,5,位十进制数加指数形式输出,format long e,以,16,位十进制数加指数形式输出,format short g,从,format short,和,format short e,中自动选择最佳输出形式,数值显示格式的设置通过format 命令,格式如下:fo,format long g,从,format long,和,format long e,中自动选择最佳输出形式,format hex,以,16,位十六进制数形式输出,format+,以正号、负号和零形式输出,format bank,以两位小数形式输出,format rat,以近似分数形式输出,format loose,以稀疏格式(变量与执行结果之,间有空行)输出,format compact,以紧凑格式(变量与执行结果之,间无空行)输出,format long g 从format long和fo,2.2,变量,变量的命名规则为,:,1,变量名必须以字母开头,变量名的组成可以是任意字母、数字或者下划线,但不能含有空格和标点符号。,2,关键字和函数名不能作为变量名。,3,变量名不能超过,63,个字符。,4,变量名区分字母的大小写,即大小写敏感。,大小写是否区分可以通过命令,casesen on/off,进行切换(如果不区分大小写,为,casesen off,否则为,casesen on,)。,2.2.1,变量的命名,2.2 变量 变量的命名规则为:2.2.1变量的命名,2.2.2,变量的赋值,变量的赋值通常有,两种形式,:,1,变量,=,表达式,2,表达式,其中表达式是用运算符将有关运算量连接起来的式子,其结果是一个数组。,形式,1,中,,=,代表的是赋值操作,将表达式的值赋给,MATLAB,的变量;形式,2,中,将表达式的值赋给,MATLAB,的临时变量,ans,。,2.2.2变量的赋值变量的赋值通常有两种形式:,例,2-1,在命令窗口输入下述语句,并按回车键执行,分别给变量,a,、,b,、,c,赋值:,a=1%a,为标量,b=0 1%b,为行向量,c=1 2;3 4;5 6%c,为矩阵即二维数组,例2-1 在命令窗口输入下述语句,并按回车键执行,分别给变量,2.2.3,特殊变量,eps MATLAB,定义的正的极小值,2.2204e-16,Realmax,最大的正实数,1.7977e+308,Realmin,最小的正实数,2.2251e-308,Pi,内建的,值,i,j,虚数单位,i=j=-1,Inf ,NaN,无法定义一个数目,Nargin,函数输入参数个数,Nargout,函数输出参数个数,Flops,浮点运算次数,2.2.3 特殊变量eps MATLAB定义的正,2.2.4,内存变量的管理,1,内存变量的显示与删除,1,),who,用于显示在,MATLAB,工作空间中已,经驻留的变量名清单。,2,),whos,在给出变量名的同时,还给出它们,的大小、所占字节数及数据类型等,信息。,3,),clear,删除,MATLAB,工作空间中的变量。注,意,特殊变量不能被删除。,2.2.4内存变量的管理1 内存变量的显示与删除,例,2-2,查询,例,2-1,中语句执行后,工作空间中 的变量情况。,Name Size Bytes Class,a 1x1 8 double array,b 1x2 16 double array,c 3x2 48 double array,Grand total is 10 elements using 72 bytes,在命令窗口输入,执行结果为:,Your variables are:,a b c,在命令窗口输入,执行结果为:,who,whos,例2-2 查询例2-1中语句执行后工作空间中,2,工作空间浏览器,工作空间浏览器窗口用于,显示所有,MATLAB,工作空间中的变量名、数据结构、类型、大小和字节数,也可以对变量进行观察、编辑、提取和保存。,2 工作空间浏览器工作空间浏览器窗口用于显示所有MATLAB,3,内存变量文件,利用,MAT,文件可以把,MATLAB,工作空间中的一些有用变量长久地保留下来。,MAT,文件的生成和调入由,save,和,load,命令来完成,1)save,的格式为:,save,文件名,变量名表,-append-ascii,功能:把工作空间中的变量存入磁盘。其中变量名表指出需存储的变量,,append,为数据填加方式,,ascii,为数据形式。,2)load,的格式为:,load,文件名,变量名表,-ascii,功能:磁盘上存储的,mat,数据文件取回到,MATLAB,工作空间中。参数含义同,save,。,3 内存变量文件 利用MAT文件可以把MATLAB工作空间,例,2-3:,例,2-1,中语句执行后,在命令窗口 依次输入下述命令:,save%,变量,a,,,b,和,c,保存在,matlab.mat,Save mydata1.mat%,变量,a,,,b,和,c,保存在,mydata1.mat,save mydata2.mat a%,变量,a,保存在,mydata2.mat,save mydata3.mat a b%,变量,a,和,b,保存在,mydata3.mat,save mydata4.mat a b c%,变量,a,,,b,和,c,保存在,mydata4.mat,例2-3:例2-1中语句执行后,在命令窗口,2.3,数值数组,2.3.1,数值数组的建立,1,赋值语句建立数组,矩阵的建立可以通过赋值语句实现,赋值符号左边为变量名,右边为矩阵元素。矩阵元素应用方括号,(),括住,元素可以是数值或表达式元素,表达式可以由数字、变量、运算符和函数等组成。,矩阵同行内的元素间用逗号或空格隔开,行与行之间用分号或回车键隔开。,2.3 数值数组 2.3.1数值数组的建立1 赋值语句建立,例,2-4,在命令窗口输入语句:,a=1,2,3;4,5,6;7,8,9,按回车键,命令就被执行,在,MATLAB,命令窗中显示以下结果:,a=,1 2 3,4 5 6,7 8 9,如果在上述输入语句末尾加上分号,则在命令窗口不显示结果。,同理可以通过赋值语句建立向量。,例2-4 在命令窗口输入语句:a=1,例,2-5,在命令窗口输入语句:,x=-1.3 1+2+3 sqrt(5),%sqrt,是求平方根函数,按回车键,指令被执行,,MATLAB,命令窗中显示以下结果:,x=,-1.3000 6.0000 2.2361,例2-5 在命令窗口输入语句:x=-1.3,2,简捷表达式,等间隔向量赋值可以通过简捷表达式实现。下面介绍两种为等间隔向量赋值的方法:,1,)两个冒号组成等增量语句,格式:,t=,初值:增量:终值,说明:,初值、增量和终值,分别表示开始值、步长和结束值。当增量可为负值,省略时则默认为增量为,1,;当增量省略或增量,0,而初值,0,时为空向量,当增量,0,而初值终值时也为空向量。,2 简捷表达式等间隔向量赋值可以通过简捷表达式实现。下面介绍,例,2-7,简捷表达式建立向量和矩阵,t1=0:0.02:1,%,产生,0t11,之间的行向量,间隔为,0.02,t2=5:-1:2,%,产生,5t12,之间的行向量,间隔为,-1,。,t4=2:-1:3,%,建立空矩阵,t5=1:2:5;1:3:7,%,建立矩阵,例2-7 简捷表达式建立向量和矩阵t1=0:0.02:1,2,)使用,linspace,和,logspace,函数生成向量,linspace,函数的格式:,linspace(a,b,n),功能:,生成从,a,到,b,之间线性分布的,n,个元素的行向量。,logspace(a,b,n),功能:,生成从,10,a,到,10,b,之间按对数等分的,n,个元素的行向量。,logspace,函数的格式:,2)使用linspace和logspace函数生成向量 l,例,2-8,用,linspace,和,logspace,函数生成向量,t1=linspace(0,2*pi,5),%,从,0,到,2*pi,等分,成,5,个点,linspace(1,8,8),linspace(1,8,1),t2=logspace(0,2,3),%,从,1,到,100,(即,10,0,到,10,2,)按对数等分成,3,个点,例 2-8 用linspace和logspace函数生成向量,3,内建函数,1,)通用特殊矩阵,常用的通用特殊矩阵生成函数:,zeros,ones,eye,rand,3 内建函数1)通用特殊矩阵常用的通用特殊矩阵生成函数,2.3.2,数组元素的标识,1,向量的标识,向量是由多个元素组成的,每个元素通过序号来标识。,例,2-16,演示向量的标志和重新赋值。,x=1:2:7;y=x;,y3=y(3),%,引用,y,的第三个元素,5,y5=y(end),%,用,end,函数引用,y,的最后,一个元素,7,y(3)=10,%,对,y,的第三个元素重新赋值,2.3.2数组元素的标识1 向量的标识例2-16 演示向量的,例,2-17,演示矩阵元素的标识和扩充矩阵的 方法,a=1 2;3 4;5 6;,a12=a(1,2),a(3,3),a(3,3)=9,例2-17 演示矩阵元素的标识和扩充矩阵的,2.3.3,子数组,子数组是从数组中取出一部分元素所构成的数组,通常可用全下标和单下标方式取子数组。,1,向量的一般情况如下:,A(i),数组,A,的第,i,个元素,A(i:L:i+m),数组,A,的第,i,个,-,第,i+m,个(下标增量为,L,)元素,2.3.3 子数组 子数组是从数组中取出一部分元素所
展开阅读全文