第2章 MATLAB数据及其运算(许).ppt
《第2章 MATLAB数据及其运算(许).ppt》由会员分享,可在线阅读,更多相关《第2章 MATLAB数据及其运算(许).ppt(46页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第2章章 MATLAB数据及其运算数据及其运算2.1 数据类型数据类型2.2 矩阵描述矩阵描述2.3 数据运算数据运算2.4 字符串字符串2.5 单元数组单元数组2.6 结构型变量结构型变量1 矩阵是矩阵是MATLAB最基本、最重要的数据对象,大部最基本、最重要的数据对象,大部分运算或命令都是在矩阵运算的意义下执行的。向量分运算或命令都是在矩阵运算的意义下执行的。向量和单个数据都可以作为矩阵的特例来处理。和单个数据都可以作为矩阵的特例来处理。l常量和变量常量和变量l浮点数和复数浮点数和复数l字符串字符串l数组数组l结构体结构体(Structure)和单元和单元(Cell)数据类型。数据类型。
2、l逻辑型数据。在逻辑型数据。在MATLAB中,以数值中,以数值1(非零非零)表示表示“真真”,以数值,以数值0表示表示“假假”。2.1 MATLAB数据类型数据类型2.1.1 常量常量o在在MATLAB中有一些特定的变量,已经被预定义了某个特中有一些特定的变量,已经被预定义了某个特定的值,这些变量被称为常量。定的值,这些变量被称为常量。MATLAB 7中的常量主要中的常量主要有有pi、inf和和eps等。等。在使用时,应尽量避免对这些变量重在使用时,应尽量避免对这些变量重新赋值。新赋值。常常 量量常量的功能常量的功能常常 量量常量的功能常量的功能ansans用作结果的默认变量名用作结果的默认变
3、量名narginnargin函数的输入参数个数函数的输入参数个数beepbeep使计算机发出使计算机发出“嘟嘟嘟嘟”声声nargoutnargout函数的输出参数个数函数的输出参数个数pipi圆周率圆周率varaginvaragin可变的函数输入参数可变的函数输入参数个数个数epseps浮点数相对误差浮点数相对误差varagoutvaragout可变的函数输出参数可变的函数输出参数个数个数infinf无穷大无穷大realminrealmin最小的正浮点数最小的正浮点数NaNNaN或或nannan不定数不定数realmaxrealmax最大的正浮点数最大的正浮点数i i或或j j复数单位复数单位
4、bitmaxbitmax最大的正整数最大的正整数2.1.2 变量变量o变量是变量是MATLAB 7的基本元素之一,的基本元素之一,MATLAB 7语言不要求对所使用的变量进行事先说明,而且语言不要求对所使用的变量进行事先说明,而且无需指定变量的类型,系统会根据该变量被赋予无需指定变量的类型,系统会根据该变量被赋予的值或对该变量所进行的操作来自动确定变量的的值或对该变量所进行的操作来自动确定变量的类型。类型。o变量名是以字母开头,后接字母、数字或下划线变量名是以字母开头,后接字母、数字或下划线的字符序列,但不允许出现标点符号,最多的字符序列,但不允许出现标点符号,最多63个个字符字符o变量名区分
5、大小写变量名区分大小写2.1.3 浮点数浮点数o几乎在所有的情况下,几乎在所有的情况下,MATLAB 7的数据都是以双精度数值来的数据都是以双精度数值来表示的,这些双精度数在系统内部用二进制来表示。表示的,这些双精度数在系统内部用二进制来表示。o有很多实数不能被精确地表示,对能够表示的值也有一个限制,有很多实数不能被精确地表示,对能够表示的值也有一个限制,并且还存在一个浮点相对误差限并且还存在一个浮点相对误差限o所谓相对误差限是指所谓相对误差限是指MATLAB 7语言能够区分两个不同大小的语言能够区分两个不同大小的数时,这两个数之间的最小差值。数时,这两个数之间的最小差值。数据数据类类型型存存
6、储储空空间间表示范表示范围围类类型型转换转换函数函数单单精度型精度型singlesingle4 4字字节节3.402823.4028210103838 +3.40282+3.4028210103838single()single()双精度型双精度型doubledouble8 8字字节节1.797691.797691010308308 +1.79769+1.797691010308308double()double()浮点数举例浮点数举例n例例2-1 下边下边3个式子的计算结果是相同的,但是由个式子的计算结果是相同的,但是由于这些数字都是使用二进制存储的,在使用双精于这些数字都是使用二进制存储的
7、,在使用双精度数来表达这些数时,往往就会出现一些误差度数来表达这些数时,往往就会出现一些误差 o a=0.33-0.5+0.17oa=o 2.7756e-017o b=0.33+0.17-0.5ob=o 0o c=0.17-0.5+0.33oc=o 5.5511e-0172.1.4 复数复数oMATLAB 7语言对复数的处理也是十分简便的,语言对复数的处理也是十分简便的,在处理复数问题时,不需要进行其他任何的附加在处理复数问题时,不需要进行其他任何的附加操作。操作。o a2=pi+3.14joa2=o 3.1416+3.1400ioo b=4*(1+3/sqrt(-1)ob=o 4.0000-
8、12.0000io 复数举例复数举例o a=1+2*ioa=o 1.0000+2.0000io b=3-4iob=o 3.0000-4.0000io c=pi+sin(pi/2)*ioc=o 3.1416+1.0000io d=a+bod=o 4.0000-2.0000i2.2 矩阵描述矩阵描述o将矩阵的元素用方括号括起来,按矩阵行的顺序将矩阵的元素用方括号括起来,按矩阵行的顺序输入各元素,同一行的各元素之间用空格或逗号输入各元素,同一行的各元素之间用空格或逗号分隔,不同行的元素之间用分号分隔。分隔,不同行的元素之间用分号分隔。A=1 2 3;4 5 6;7 8 9;C=A,eye(size(
9、A);ones(size(A),A 1 2 3 1 0 0 4 5 6 0 1 0 7 8 9 0 0 1 1 1 1 1 2 3 1 1 1 4 5 6 1 1 1 7 8 9o冒号表达式冒号表达式 冒号表达式可以产生一个行向量,一般格式冒号表达式可以产生一个行向量,一般格式是:是:e1:e2:e3其中其中:e1为初始值,为初始值,e2为步长,为步长,e3为终止值。为终止值。在在MATLAB中,还可以用中,还可以用linspace函数产生行函数产生行向量。其调用格式为:向量。其调用格式为:linspace(a,b,n)其中其中a和和b是生成向量的第一个和最后一个元素,是生成向量的第一个和最后
10、一个元素,n是元素总数。是元素总数。显然,显然,linspace(a,b,n)与与a:(b-a)/(n-1):b等价。等价。矩阵的表示矩阵的表示o通过下标引用矩阵的元素,例如通过下标引用矩阵的元素,例如:A(3,2)=200:A(3,2)=200采用矩阵元素的序号来引用矩阵元素。矩阵元采用矩阵元素的序号来引用矩阵元素。矩阵元素的序号就是相应元素在内存中的排列顺序。素的序号就是相应元素在内存中的排列顺序。在在MATLABMATLAB中,矩阵元素按列存储,先第一列,中,矩阵元素按列存储,先第一列,再第二列,依次类推。例如再第二列,依次类推。例如:A=1,2,3;4,5,6;A=1,2,3;4,5,
11、6;A(3)A(3)ansans=2=2矩阵元素矩阵元素序号序号(Index)与下标与下标(Subscript)是一是一一对应一对应的,以的,以mn矩阵矩阵A为例,矩阵元素为例,矩阵元素A(i,j)的的序号为序号为(j-1)*m+i。其相互转换关系也可。其相互转换关系也可利用利用sub2ind和和ind2sub函数求得。函数求得。(1)(1)利用冒号表达式获得子矩阵利用冒号表达式获得子矩阵 A(:,jA(:,j)表示取表示取A A矩阵的第矩阵的第j j列全部元素;列全部元素;A(iA(i,:),:)表示表示A A矩阵第矩阵第i i行的全部元素;行的全部元素;A(i,jA(i,j)表示表示取取A
12、 A矩阵第矩阵第i i行、第行、第j j列的元素。列的元素。A(i:i+mA(i:i+m,:),:)表示取表示取A A矩阵第矩阵第i ii+mi+m行的全部行的全部元素;元素;A(:,k:k+mA(:,k:k+m)表示取表示取A A矩阵第矩阵第k kk+mk+m列的全列的全部元素,部元素,A(i:i+m,k:k+mA(i:i+m,k:k+m)表示取表示取A A矩阵第矩阵第i ii+mi+m行内,并在第行内,并在第k kk+mk+m列中的所有元素。列中的所有元素。矩阵的拆分矩阵的拆分矩阵的拆分矩阵的拆分 (2)(2)利用空矩阵删除矩阵的元素利用空矩阵删除矩阵的元素 在在MATLABMATLAB中
13、,定义中,定义为空矩阵。给变量为空矩阵。给变量X X赋赋空矩阵的语句为空矩阵的语句为X=X=。注意,。注意,X=X=与与clear clear X X不同,不同,clearclear是将是将X X从工作空间中删除,而从工作空间中删除,而空矩阵则存在于工作空间中,只是维数为空矩阵则存在于工作空间中,只是维数为0 0。o1基本算术运算基本算术运算 MATLABMATLAB的基本算术运算有:的基本算术运算有:(加加)、(减减)、*(乘乘)、/(/(右除右除)、(左除左除)、(乘方乘方)。3/5=0.6000 35=1.66672点运算点运算 在在MATLABMATLAB中,有一种特殊的运算,因为其运
14、算符是在中,有一种特殊的运算,因为其运算符是在有关算术运算符前面加点,所以叫点运算。点运算符有有关算术运算符前面加点,所以叫点运算。点运算符有.*.*、././、.和和.。两矩阵进行点运算是指它们的对应元两矩阵进行点运算是指它们的对应元素进行相关运算,要求两矩阵的维参数相同。素进行相关运算,要求两矩阵的维参数相同。2.3 数据运算数据运算3.关系运算关系运算 6 6种关系运算符:种关系运算符:(小于小于)、=(大于大于)、=(=(大于或等于大于或等于)、=(=(等于等于)、=(=(不等于不等于)。两个维数相同的矩阵比较,是对两矩阵两个维数相同的矩阵比较,是对两矩阵相同位置相同位置的元的元素按标
15、量关系运算规则逐个进行,运算的结果是一个维数素按标量关系运算规则逐个进行,运算的结果是一个维数与原矩阵相同的矩阵,它的元素由与原矩阵相同的矩阵,它的元素由0 0或或1 1组成。组成。标量与矩阵比较时,把标量与矩阵比较时,把标量与矩阵的每一个元素标量与矩阵的每一个元素按标按标量关系运算规则逐个比较,运算的结果是一个维数与原矩量关系运算规则逐个比较,运算的结果是一个维数与原矩阵相同的矩阵,它的元素由阵相同的矩阵,它的元素由0 0或或1 1组成。组成。4.逻辑运算逻辑运算&(&(与与)、|(|(或或)和和(非非)。在算术、关系、逻辑运算中,在算术、关系、逻辑运算中,算术运算优先级最高,逻辑运算算术运
16、算优先级最高,逻辑运算优先级最低。优先级最低。5.MATLAB常用数学函数常用数学函数 数学函数使用说明:数学函数使用说明:(1)(1)三角函数以三角函数以弧度弧度为单位计算。为单位计算。(2)abs(2)abs函数可以求实数的绝对值、复数的模、字符串的函数可以求实数的绝对值、复数的模、字符串的ASCIIASCII码值。码值。(3)(3)用于取整的函数有用于取整的函数有fixfix、floorfloor、ceilceil、round round (4)(4)求余的函数求余的函数remrem与与modmod函数。函数。rem(x,yrem(x,y)和和mod(x,ymod(x,y)要求要求x,y
17、x,y必须为相同大小的实矩阵或标量。必须为相同大小的实矩阵或标量。mod(23,-3)=-1,rem(23,-3)=2mod(23,-3)=-1,rem(23,-3)=2mod(23,3)=rem(23,3)=2mod(23,3)=rem(23,3)=2例例2-2 建立建立5阶方阵阶方阵A,判断,判断A的元素是否能被的元素是否能被3整除。整除。A=24,35,13,22,63;23,39,47,80,80;.90,41,80,29,10;45,57,85,62,21;37,19,31,88,76 P=rem(A,3)=0 其中,其中,rem(A,3)是矩阵是矩阵A的每个元素除以的每个元素除以3
18、的余的余数矩阵。此时,数矩阵。此时,0被扩展为与被扩展为与A同维数的零矩同维数的零矩阵,阵,P是进行等于是进行等于(=)比较的结果矩阵。比较的结果矩阵。例例2-32-3 在在0,30,3区间,求区间,求y=y=sin(xsin(x)的值。要求:的值。要求:(1)(1)消去负半波,即(消去负半波,即(,2,2)区间内的函数值置)区间内的函数值置0 0。(2)(2)(/3,2/3/3,2/3)和()和(7/3,8/3 7/3,8/3)区间内)区间内取值均为取值均为sin/3 sin/3。先根据自变量向量先根据自变量向量x x产生函数值向量产生函数值向量y y,然后按要,然后按要求对求对y y进行处
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第2章 MATLAB数据及其运算许 MATLAB 数据 及其 运算
限制150内