MATLAB数据类型_第1页
MATLAB数据类型_第2页
MATLAB数据类型_第3页
MATLAB数据类型_第4页
MATLAB数据类型_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

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

文档简介

1、matlab数据类型数据类型v 变量与常量变量与常量q 变量变量 变量是任何程序设计语言的基本元素之一。变量是任何程序设计语言的基本元素之一。 matlab matlab并不要求对所使用的变量进行事先声明,并不要求对所使用的变量进行事先声明,也不需要指定变量类型,也不需要指定变量类型,matlabmatlab会自动根据所赋予变会自动根据所赋予变量的值或对变量所进行的操作来确定变量的类型。量的值或对变量所进行的操作来确定变量的类型。 在赋值过程中,如果变量已经存在,在赋值过程中,如果变量已经存在,matlabmatlab会用新会用新值代替旧值,并以新的变量类型代替旧的变量类型。值代替旧值,并以新

2、的变量类型代替旧的变量类型。 matlab变量的命名规则变量的命名规则 变量名变量名区分大小写区分大小写; 变量名长度变量名长度不超过不超过65个个(matlab6.5.1版本以上);版本以上); 变量名必须以字母开头,可包含字母(大小写)、变量名必须以字母开头,可包含字母(大小写)、数字和下划线;数字和下划线;matlab数据类型数据类型q matlab常量常量 matlab中有一些预定义的变量,这些特殊变量称为常量。中有一些预定义的变量,这些特殊变量称为常量。常量名常量名 常量值常量值常量名常量名常量值常量值i,ji,j虚数单位虚数单位realminrealmin 最小的正浮点数最小的正浮

3、点数pipi圆周率圆周率realmaxrealmax 最大的正浮点数最大的正浮点数epseps浮点运算相对精度浮点运算相对精度infinf无穷大无穷大nannan不定值不定值matlabmatlab中经常使用的一些常量中经常使用的一些常量1matlab数据类型数据类型matlab数据类型数据类型v matlab 数据类型的最大特点是每一种类型都是以数据类型的最大特点是每一种类型都是以数组为基础,数组为基础,matlab事实上把每种类型的数据都作为事实上把每种类型的数据都作为数组来处理。数组来处理。v matlab 常用的数据类型有:常用的数据类型有: numeric(数值型)(数值型) cha

4、r(字符型)(字符型) logical(逻辑型)(逻辑型) cell(单元型)(单元型) struct(结构)(结构)matlab数据类型数据类型数组数组matlab7.1中的数据类型中的数据类型表表逻辑型逻辑型字符型字符型单元型单元型函函数数句句柄柄v 数值(数值(numeric)q 数值型数据包括整数(带符号和无符号)和浮点数数值型数据包括整数(带符号和无符号)和浮点数(单精度和双精度)。(单精度和双精度)。q 在缺省(默认)状态下,在缺省(默认)状态下,matlab将所有的数都看作将所有的数都看作是双精度的浮点数。是双精度的浮点数。matlab数据类型数据类型q 使用整型变量和单精度变量

5、可以节约内存空间。使用整型变量和单精度变量可以节约内存空间。q 整数整数matlab提供四种带符号整型和四种无符号整型数据类型。提供四种带符号整型和四种无符号整型数据类型。matlab数据类型数据类型数据类型数据类型取值范围取值范围转换函数转换函数signed 8-bit integer-27 to 27 1int8signed 16-bit integer-215 to 215 1int16signed 32-bit integer-231 to 231 1int32signed 64-bit integer-263 to 263 1int64unsigned 8-bit integer0

6、to 28 1uint80 to 216 1 例:例:x1=int8(11)x1=int8(11);x2=int8(15.49)x2=int8(15.49);x3=int8(15.5)x3=int8(15.5);x4=int8(130)x4=int8(130);x5=uint8(255)x5=uint8(255);x6=uint8(256)x6=uint8(256);x7=uint8(-1)x7=uint8(-1);whoswhosmatlab数据类型数据类型x1=11x1=11x2=15x2=15x3=16x3=16x4=127x4=127x5=255x5=255x6=255x6=255x7

7、=0 x7=0matlab数据类型数据类型 整型数据的运算整型数据的运算 整型数据可以参与的运算有下面两种:整型数据可以参与的运算有下面两种:matlab数据类型数据类型 相同的整型数据之间的运算,结果为同类型的整数。相同的整型数据之间的运算,结果为同类型的整数。不同的整数型数据之间不能进行运算不同的整数型数据之间不能进行运算。 例:例:int8(12)*int16(3)x 整型数据可以和双精度整型数据可以和双精度标量标量进行数值运算,结果为进行数值运算,结果为整数整数。在运算过程中保持浮点运算精度,最后将结果。在运算过程中保持浮点运算精度,最后将结果转换成整型。转换成整型。注:整型数据不能与

8、注:整型数据不能与不是标量的双精度数组不是标量的双精度数组进行运算进行运算q 浮点数浮点数 浮点数包括单精度(浮点数包括单精度(4个字节)和双精度(个字节)和双精度(8个字节),个字节),默认为双精度。默认为双精度。matlab数据类型数据类型 single :将其它类型的数据转换成单精度浮点数。:将其它类型的数据转换成单精度浮点数。 double :将其它类型的数据转换成双精度浮点数。:将其它类型的数据转换成双精度浮点数。operandoperandsinglesingle doubledouble int/uintint/uint charcharlogicallogicalsingles

9、inglesinglesingle singlesinglexsinglesinglesinglesingledoubledoublesinglesingle doubledouble int/uintint/uint doubledoubledoubledouble浮点数与其它类型数据运算表浮点数与其它类型数据运算表 最大和最小浮点数:最大和最小浮点数:realmax 和和 realmin例:例:matlab数据类型数据类型 realmax realmax realmin realminrealmax(double)realmax(double)realmin(double)realmin(

10、double)q 复数复数 可以通过以下方式定义复数:可以通过以下方式定义复数:matlab数据类型数据类型 直接输入:直接输入:z = 3+4iz = 3+4i 或或 z=3+4z=3+4* *i i complex 函数:函数:z = complex(3,4)z = complex(3,4)z = complex(3) z = complex(3) z=complex(3,0) z=complex(3,0) 相关函数(一)相关函数(一) 相关函数(二)相关函数(二) 相关函数(三)相关函数(三) 相关函数(四)相关函数(四) 相关函数(五)相关函数(五)v 字符与字符串字符与字符串q 字符

11、与字符串运算是各种高级语言不可缺少的部分,字符与字符串运算是各种高级语言不可缺少的部分,matlab具有强大的字符处理能力。具有强大的字符处理能力。q 关于字符串的约定:关于字符串的约定: 所有字符串必须用单引号括起来;所有字符串必须用单引号括起来; 在在matlab中,字符串和字符数组(矩阵)基本上是中,字符串和字符数组(矩阵)基本上是等价的;等价的;matlab数据类型数据类型例:例:matlab数据类型数据类型 字符串的每个字符(包括空格)都是字符串的一个元字符串的每个字符(包括空格)都是字符串的一个元素;素; 字符串中的字符以字符串中的字符以ascii码存储,因而大小写是有码存储,因而

12、大小写是有区别的,可用区别的,可用abs函数查看一个字符的函数查看一个字符的ascii码。码。sizesize函数可用来查函数可用来查看字符数组的维数看字符数组的维数matlab数据类型数据类型q 字符串的生成字符串的生成 直接用单引号赋值,例:直接用单引号赋值,例: s3=matlab 使用使用 char 函数函数把数字按照把数字按照asciiascii码转换为字符串。码转换为字符串。matlab数据类型数据类型q 字符串与数组之间的转换字符串与数组之间的转换 字符串转换为数值代码:字符串转换为数值代码:abs,double 数值数组转换为字符串:数值数组转换为字符串:char,num2st

13、r, int2str,mat2str,把数字把数字直接转换直接转换为字符为字符串,每个数字为一个独串,每个数字为一个独立的字符串。立的字符串。把数字把数字取整后转换取整后转换为字为字符串,注意和符串,注意和 num2strnum2str的区别。的区别。把矩阵转换为把矩阵转换为一个字符一个字符串串,方括号、分号和空,方括号、分号和空格都是其元素。格都是其元素。matlab数据类型数据类型例:例:q数值数组转换为字符数组后,表面上看形式相同,数值数组转换为字符数组后,表面上看形式相同,但此时的元素是字符而不是数字!但此时的元素是字符而不是数字!q若要使字符数组能够进行数值计算,需先将其转若要使字符

14、数组能够进行数值计算,需先将其转换为数值数组!换为数值数组!matlab数据类型数据类型 str2num:将字符数组转换为数值数组将字符数组转换为数值数组q abs,double,char abs,double,char按照按照 asciiascii码码 转换;转换;q num2str,int2str,mat2str,str2num num2str,int2str,mat2str,str2num 直接转换直接转换。matlab数据类型数据类型q 字符串的连接字符串的连接 水平连接:水平连接:strcat 或或 中括号中用逗号连接中括号中用逗号连接在中括号中直接水平连在中括号中直接水平连接,结果

15、中包括原字符接,结果中包括原字符串结尾处的空格。串结尾处的空格。用用 strcat strcat 连接,结果连接,结果中中忽略原字符串结尾处忽略原字符串结尾处的空格的空格。水平连接得到的是一个更长的字符串。水平连接得到的是一个更长的字符串。matlab数据类型数据类型q 字符串的连接字符串的连接 垂直连接:垂直连接:strvcat 或或 中括号中用分号连接中括号中用分号连接在中括号中用分号实现垂直在中括号中用分号实现垂直连接,必须保证每个被连接连接,必须保证每个被连接的字符串长度相等,否则需的字符串长度相等,否则需用空格补齐。用空格补齐。用用 strvcat strvcat 连接,自动为较连接

16、,自动为较短的字符串补足空格。短的字符串补足空格。垂直连接得到的是一个字符串数组。垂直连接得到的是一个字符串数组。matlab数据类型数据类型q 执行字符串:执行字符串:evalmatlab数据类型数据类型q 字符串的其它相关常用函数字符串的其它相关常用函数注:可参见注:可参见c c语言中字符串操作的相关函数语言中字符串操作的相关函数函函 数数功功 能能函函 数数功功 能能strcmpstrcmp比较字符串比较字符串strrepstrrep替换字符串替换字符串strcmpistrcmpi忽略大小写比较字符串忽略大小写比较字符串upperupper转换为大写转换为大写strncmpstrncmp

17、比较字符串的前比较字符串的前n n个字符个字符lowerlower转换为小写转换为小写findstrfindstr在一个字符串中查找另在一个字符串中查找另一个字符串一个字符串strtokstrtok返回字符串中第一个返回字符串中第一个分隔符(空格,回车分隔符(空格,回车和和tabtab键)前的部分键)前的部分strjuststrjust对齐字符数组,包括左对齐字符数组,包括左对齐,右对齐和居中对齐,右对齐和居中blanksblanks产生空字符串产生空字符串strmatchstrmatch查找匹配的字符串查找匹配的字符串deblankdeblank删除字符串中的空格删除字符串中的空格matla

18、b数据类型数据类型v 细胞变量(细胞数组)细胞变量(细胞数组)cell matlab matlab从从5.05.0版开始引入了一种新的数据类型版开始引入了一种新的数据类型 -细胞细胞(cell)(cell),该结构把不同属性的数据纳入到一个变,该结构把不同属性的数据纳入到一个变量中。量中。 细胞变量的表示方法类似于带有下标的数组,但这细胞变量的表示方法类似于带有下标的数组,但这些下标不是用圆括号括起来,而是用些下标不是用圆括号括起来,而是用大括号大括号括起来。括起来。matlab数据类型数据类型 普通数组中的每个元素都必须具有相同的属性,而普通数组中的每个元素都必须具有相同的属性,而细胞则没有此要求。细胞则没有此要求。例:例:matlab数据类型数据类型q 细胞变量的定义细胞变量的定义可以通过以下两种方式定义一个细胞变量:可以通过以下两种方式定义一个细胞变量: 用赋值语句直接定义;用赋值语句直接定义; 由由 cellcell 函数预先分配存储空间,然后对细胞的函数预先分配存储空间,然后对细胞的每个元素逐个赋值。每个元素逐个赋值。mat

温馨提示

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

评论

0/150

提交评论