第3章Matlab数据类型课件.ppt

上传人(卖家):晟晟文业 文档编号:5199593 上传时间:2023-02-16 格式:PPT 页数:31 大小:633KB
下载 相关 举报
第3章Matlab数据类型课件.ppt_第1页
第1页 / 共31页
第3章Matlab数据类型课件.ppt_第2页
第2页 / 共31页
第3章Matlab数据类型课件.ppt_第3页
第3页 / 共31页
第3章Matlab数据类型课件.ppt_第4页
第4页 / 共31页
第3章Matlab数据类型课件.ppt_第5页
第5页 / 共31页
点击查看更多>>
资源描述

1、12/2/2022Application of MATLAB1第3章 Matlab 数据类型u主要内容n常量与变量常量与变量n数值类型数值类型n逻辑类型逻辑类型n字符和字符串字符和字符串n元胞数组元胞数组n结构体结构体n函数句柄函数句柄12/2/2022Application of MATLAB23.1.1 MATLAB系统的特殊变量和常数系统的特殊变量和常数特殊变量意 义 ans默认变量名,如果用户未定义变量名,matlab自动将结果保存到ans中 pi圆周率(=3.1415926.)inf无穷大值,如1/0 eps浮点运算的相对精度2(-52)realmax最大的正浮点数,2(1024)-

2、1realmin最小的正浮点数,2(-1022)NaN或nan不定量,如0/0或inf/inf i或j虚数单位nargin函数输入参数个数nargout函数输出参数个数lasterr存放最新的错误信息lastwarn存放最新的警告信息3.1 常数与变量12/2/2022Application of MATLAB33.1 常数与变量p变量名由字母、数字和下划线组成;变量名由字母、数字和下划线组成;p变量名中英文字母大小写是有区别的;变量名中英文字母大小写是有区别的;p变量名的最大长度是有规定的变量名的最大长度是有规定的p不同版本的系统规定不同:不同版本的系统规定不同:19个字符、个字符、31或或

3、63个字符等个字符等pnamelengthmax函数:函数:系统规定长度系统规定长度pisvarname函数:函数:变量名的合法性变量名的合法性N=namelengthmaxisvarname 8th_column3.1.2 变量名变量名Matlab用字符i和j表示虚数单位,如果涉及到复数计算,应避免把i和j用作变量名12/2/2022Application of MATLAB43.1 常数与变量p在MATLAB中创建变量不必声明变量的数据类型例创建一个A变量 A=9 p将变量的值赋给另一个变量前,必须确定该变量有值,否则会返回错误。例如 A=a?Undefined function or v

4、ariable a.p如果变量已经存在,给它赋值会替换它的当前值3.1.3 创建变量创建变量12/2/2022Application of MATLAB53.1 常数与变量3.1.4 变量的数据类型变量的数据类型pMatlab支持多种数据类型p所有类型数据都被存储在矩阵或数组中进行操作变量数据类型logical逻辑型逻辑型char字符字符/字字符串符串numeric数值型数值型cell元胞数组元胞数组structure结构体结构体function handle 函数句柄函数句柄Java classesJava类类int8,unit8,int16,uint16,int32,uint32,int6

5、4,uint64,整数类型整数类型single单精度单精度浮点型浮点型double双精度双精度浮点型浮点型12/2/2022Application of MATLAB63.1 常数与变量数据类型数据类型示例示例说明说明int8,uint8,int16,uint16,int32,uint32uint16(7500)有符号和无符号的整数类型有符号和无符号的整数类型大部分整数类型占用比浮点类型更少的内存空间大部分整数类型占用比浮点类型更少的内存空间singlesingle(383.21)单精度浮点类型单精度浮点类型和双精度浮点类型相比,占用内存空间更小,精度和和双精度浮点类型相比,占用内存空间更小,

6、精度和数值范围都比双精度浮点类型小数值范围都比双精度浮点类型小double383.21,4+5.2i双精度浮点类型双精度浮点类型Matlab中默认的数值类型中默认的数值类型logicalrandn(3,4)0.5逻辑类型数据逻辑类型数据1代表逻辑真,代表逻辑真,0代表逻辑假代表逻辑假charwelcome!字符串类型字符串类型cell arraya1,1=hello;a1,2=325;a1,3=ones(3,2);元胞数组类型元胞数组类型数组元素可以是不同的数据类型数组元素可以是不同的数据类型注:存储多个字符串最好用元胞数组类型注:存储多个字符串最好用元胞数组类型structurea.name

7、=join;a.age=13;a.mat=rand(2,3);结构体类型结构体类型类似于类似于C语言,通过结构体中多个成员可以存储多种语言,通过结构体中多个成员可以存储多种类型的数据类型的数据函数句柄函数句柄sin函数句柄,相当于一个指针函数句柄,相当于一个指针变量的数据类型变量的数据类型12/2/2022Application of MATLAB73.2 数值类型数据!数值类型包括有符号整数类型、无符号整数类型、单精度浮点类型和双精度浮点类型数值类型浮点类型整数类型有符号、无符号8位有符号、无符号32位有符号、无符号16位有符号、无符号64位单精度双精度(包括复数、inf和NaN等)12/2

8、/2022Application of MATLAB83.2 数值类型数据整型数据类型及其取值范围整数类型整数类型数值范围数值范围转换函数转换函数有符号有符号8位整数位整数-128127int8无符号无符号8位整数位整数0255uint8有符号有符号16位整数位整数-215215-1int16无符号无符号16位整数位整数0216-1uint16有符号有符号32位整数位整数-231231-1int32无符号无符号32位整数位整数0232-1uint323.2.1 整型数据类型整型数据类型12/2/2022Application of MATLAB93.2 数值类型数据pint8:将值或变量指定为

9、整型:将值或变量指定为整型pclass函数函数:变量数据类型:变量数据类型p把数值转换为一种整型数据类型时,把数值转换为一种整型数据类型时,matlab会将结果圆整会将结果圆整到最近的整型值到最近的整型值 对于小数位取对于小数位取5的情况,如果数值为正,则向上圆整,否则向下圆的情况,如果数值为正,则向上圆整,否则向下圆整整 将大于整型数据类型最大值的数据转换为该整型时,将大于整型数据类型最大值的数据转换为该整型时,matlab返回最返回最大值。如果数据值小于数据类型的最小值,则返回最小值大值。如果数据值小于数据类型的最小值,则返回最小值3.2.1 整型数据类型整型数据类型12/2/2022Ap

10、plication of MATLAB103.2 数值类型数据p两个相同类型的数据相加,结果仍为该整型 例如x=int16(5)+int16(9)返回结果为x=14class(x)返回结果为ans=int16p如果结果大于数据类型的最大值或小于最小值,会返回最大值或最小值 例如intwarning(on)int16(50000)Warning:Out of range vonverted to intmin(int16)or intmax(int16)ans=327673.2.1 整型数据类型整型数据类型12/2/2022Application of MATLAB113.2 数值类型数据3.2

11、.2 单精度浮点型数据类型单精度浮点型数据类型usingle命令将数值或变量指定为命令将数值或变量指定为single型型usingle型数据所占内存为型数据所占内存为double型的一半型的一半u将将double型数据转换为型数据转换为single型时,型时,matlab将该数据圆整将该数据圆整到最近的单精度浮点值到最近的单精度浮点值u函数函数eps返回浮点数的精度。所谓精度,是指该浮点数与返回浮点数的精度。所谓精度,是指该浮点数与下一个浮点数之间的差值。下一个浮点数之间的差值。eps(x)的值与的值与x的大小有关,的大小有关,x越大,越大,eps(x)越大越大u双浮点数的精度比单浮点数的精度

12、高一些双浮点数的精度比单浮点数的精度高一些12/2/2022Application of MATLAB123.2 数值类型数据对于数值变量,默认时对于数值变量,默认时matlab指定数据为指定数据为double型型对于大部分数值计算任务而言,推荐使用对于大部分数值计算任务而言,推荐使用double型型复数属于双精度浮点数的一种特殊类型,复数作为一个整体进行复数属于双精度浮点数的一种特殊类型,复数作为一个整体进行处理。处理。“-Inf”和和“Inf”表示表示“负无穷负无穷”和和“正无穷正无穷”,一旦运算结果超,一旦运算结果超出浮点数的表示范围,系统会用出浮点数的表示范围,系统会用“-Inf”和和

13、“Inf”表示计算结果表示计算结果非数(非数(NaN),是),是“Not a Number”的缩写,是一个既不是实数也的缩写,是一个既不是实数也不是复数的数值,不是复数的数值,matlab提供这样一个数值的目的是扩大运算范提供这样一个数值的目的是扩大运算范围,对于围,对于0/0、Inf/Inf的运算结果可以有合理的解释的运算结果可以有合理的解释3.2.3 双精度浮点型数据类型双精度浮点型数据类型12/2/2022Application of MATLAB133.3 逻辑类型数据FMatlab用“0”和“1”分别代表“逻辑假”和“逻辑真”。F逻辑类型数据常以标量的形式出现,但有时也可以是逻辑数组

14、。F在关系和逻辑运算表达式中所有输入非0的数都为“逻辑真”,只有0才为“逻辑假”;计算结果,如果值为1,表示“真”,如果值为0,表示“假”。12/2/2022Application of MATLAB14 字符串又称为字符数组,由多个字符连接而成。字符串又称为字符数组,由多个字符连接而成。字符串一般用单引号括起来。例如,字符串一般用单引号括起来。例如,Central South University。字符串是以字符串是以ASCII码形式存储的。码形式存储的。abs和和double函数都可函数都可以用来获取字符串矩阵所对应的以用来获取字符串矩阵所对应的ASCII码数值矩阵。相码数值矩阵。相反,反

15、,char函数可以把函数可以把ASCII码数值矩阵转换为字符串矩码数值矩阵转换为字符串矩阵。阵。在字符串里的每个字符是数组里的一个元素,字符串的在字符串里的每个字符是数组里的一个元素,字符串的存储要求每个字符存储要求每个字符2个字节。个字节。3.4 字符和字符串12/2/2022Application of MATLAB15Y利用单引号创建字符串 例如创建字符串China country=China 在命令窗口中输入whos命令,输出显示 Name Size Bytes Class Country 1x5 10 char arrayYclass和ischar函数测试变量数据类型 class(c

16、ountry)返回结果为ans=char ischar(country)返回结果为ans=13.4.1 创建字符串创建字符串3.4 字符和字符串12/2/2022Application of MATLAB16Y创建二维字符串时,确定每行具有相同的长度。例如 name=Li Yi;Hu XuY根据不同长度的字符串创建二维字符串时,将短的那些字符串后面用空格对齐,使所有字符串的长度相同。例如 name=Liu Ying;Hu Xu Y用char函数创建字符串数组,char函数自动以最长字符串的长度为标准,进行空格补齐。例如name=char(Liu Ying;Hu Xu)Y从数组中提取字符串时,用

17、deblank函数删除后面的空格。trimname=deblank(name(2,:)size(trimname)3.4 字符和字符串3.4.1 创建字符串创建字符串12/2/2022Application of MATLAB173.4.2 类型转换类型转换Yabs(str)返回一个向量,其元素是字符串中字符的ASCII值Ychar(x)根据指定的字符集将向量x中的整数转化成字符。这个命令是命令abs的逆操作。Ynum2str(f)将数值f转换成字符串Ystr2num(str)将字符串str转换为数字Ylower(str)将字符串中所有字母转换为小写字母Yupper(str)将字符串中所有字符

18、转化为大写字母3.4 字符和字符串12/2/2022Application of MATLAB183.4.3 比较字符串比较字符串Y strcmp函数比较字符串Y strncmp函数可以比较字符串的前n+1个字符Y 对于字符串结构数组,这两个函数一个单元一个单元地进行比较Y 对于字符串,可使用关系运算符 str1=hello;str2=help;C1=strcmp(str1,str2);C2=strncmp(str1,str2,2);因为str1和str2不相等,调用strcmp函数时返回0,而str1和str2前3个字符相同,调用strncmp函数时返回1 A=book;pen;rule;B

19、=pencil;pen;pencilbox;strcmp(A,B)返回结果为ans=0 1 0 A=face;B=cake;A=B;ans=0 1 0 13.4 字符和字符串12/2/2022Application of MATLAB19Y字符的聚合方法:使用聚合运算符 或sprintf函数 num_chars=28;s=There are int2str(num_chars)characters here s=sprintf(There are%d characters heren,num-chars)Y用strcat函数也可以把两个或更多字符串组合在一起 country=China;pro

20、vince=Sichuan strcat(country,province)3.4.4 聚合字符串聚合字符串用聚合方法创建字符串时,用用聚合方法创建字符串时,用sprintf函数比使用函数比使用 好,特别是在组成复杂表达好,特别是在组成复杂表达式的时候,该函数对输出格式可以有更多的控制,而且一般运行得更快。也可式的时候,该函数对输出格式可以有更多的控制,而且一般运行得更快。也可用用strcat函数聚合字符串,但对于简单的聚合,使用函数聚合字符串,但对于简单的聚合,使用sprintf和和 更快。更快。3.4 字符和字符串12/2/2022Application of MATLAB203.4 字符

21、和字符串Yisletter函数确定字符是否为字母;Yisspace函数确定字符是否为空区(空格、空表间隔或空行)例如创建一个名为mystring的字符串,使用函isletter函数:mystring=Room 401;A=isletter(mystring);A=1 1 1 1 0 0 0前四个字符是字母,所以返回值为1。3.4.5 字符分类字符分类12/2/2022Application of MATLAB213.4 字符和字符串Ystrrep函数进行标准的搜索和替代操作Yfindstr函数Ystrmatch函数在字符串或字符串单元数组的整个行中进行查找,看有没有以给定字符序列打头的字符串,

22、它返回以该字符打头的行的行号。label=Sample 1,04/28/03;newlabel=strrep(label,28,30)%把28改为30position=findstr(amp,label)%字符串amp在label中出现的起始位置为label中第2个字符的位置。maxstrings=strvcat(max;minimax;maximum);%strvcat沿垂直方向连接字符串,strcat沿水平方向连接字符串strmatch(max,maxstrings)3.4.6 搜索和替换搜索和替换12/2/2022Application of MATLAB22 元胞数组(单元数组)是一种

23、特殊的数组,这种数组的元素是单元,能包含其他matlab数组。例如,单元数组的一个单元可能包含一个实型矩阵,另一个单元又包含文本字符串数组,而第三个单元又包含值为复数的矢量,可以生成任意大小和形状的单元数组。结构体和元胞数组为不同类型的数据提供了一种系统存储机制,它们主要在组织数据的方式上有所不同。在结构体中,从命名字段访问数据;在元胞数组中,通过矩阵索引操作访问数据。3.5 元胞数组12/2/2022Application of MATLAB233.5 元胞数组 通过赋值语句创建元胞数组 单元索引:按标准数组方式把单元索引号放到小括号中间,把单元地内容放在赋值语句的右端,用大括号括起来。内容

24、索引:以标准数组标注方式把单元索引号以大括号括起来放在左侧,在赋值语句的右侧指定内容。例利用单元索引方式和内容索引方式创建2x2的单元数组AA(1,1)=1 4 3;0 5 8;7 2 9;A(1,2)=Liu Zhong;A(2,1)=3+7i;A(2,2)=-pi:pi/10:pi;%单元索引方式A1,1=1 4 3;0 5 8;7 2 9;A1,2=Liu Zhong;A2,1=3+7i;A2,2=-pi:pi/10:pi;%内容索引方式创建元胞数组创建元胞数组12/2/2022Application of MATLAB243.6 结构体 使用赋值语句例如创建一个student结构数组,

25、student.name=Liu Dan;student.ID=02;student.test=79 75 73;80 78 77.5;80 85 85;student(2).name=Han Xu;student.ID=10;student.test=68 70 68;78 88 81;92 90 93;使用struct函数可以使用struct函数预分配一个结构数组,其基本形式为:str_array=student(field1,val1,field2,val2,)其中,变量为字段名和它们的对应值。创建结构体创建结构体12/2/2022Application of MATLAB252.7 函

26、数句柄P 函数句柄是一种matlab数据类型,保存函数的路径、视野、函数名及重载方式等。P 使用函数句柄的好处主要有:q 把函数获取的信息传给其它函数;q 掌握重载函数的方法;q 允许更广泛地获取子函数和私有函数;q 保证函数计算的可靠性;q 减小定义函数的字段个数;q 改进重复操作;q 在数组、结构体和元胞数组中操作句柄;q 可以在调用中将函数句柄作为变量传递给另一个函数12/2/2022Application of MATLAB263.7 函数句柄P在Matlab中,在函数名前用符号创建一个函数句柄。P用于句柄的函数名最多只能有N个字符P 函数句柄的内容通过functions显示f_h=p

27、lotfunctions(f_h)ans=function:plot type:overloaded file:MATLAB built-in function methods:1x1 struct函数句柄的创建与显示函数句柄的创建与显示12/2/2022Application of MATLAB27&MATLAB用十进制数表示一个常数,可采用日常记数法用十进制数表示一个常数,可采用日常记数法和科学记数法两种表示方法和科学记数法两种表示方法&一般情况下,一般情况下,MATLAB内部每一个数据元素都是用双精内部每一个数据元素都是用双精度数来表示和存储的。数据输出时用户可以用度数来表示和存储的。数

28、据输出时用户可以用format命命令设置或改变数据输出格式令设置或改变数据输出格式&format命令的格式为:命令的格式为:format 格式符格式符其中格式符决定数据的输出格式,如其中格式符决定数据的输出格式,如long、short、hex、rat(输出有理数)(输出有理数)3.8 数据输出格式12/2/2022Application of MATLAB283.8 数据输出格式12/2/2022Application of MATLAB293.8 数据输出格式12/2/2022Application of MATLAB30关于format命令的几点说明:pformat命令只影响数据的输出格式,而不影响数据的存储和计算p默认的输出格式是shortp注意rat格式。如果在进行运算前执行format rat命令,则可以用分数形式显示运算结果,这样便于核对手算结果的正确性p在改变了输出格式后,为了以后还按默认的格式输出,应当再执行format short命令3.8 数据输出格式12/2/2022Application of MATLAB31数据输出格式(续)p即使在默认格式下,0也仅仅是输出0p显示格式是非常重要的,要熟悉几种重要的格式3.8 数据输出格式

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(第3章Matlab数据类型课件.ppt)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|