Matlab数据类型.ppt

上传人:牧羊曲112 文档编号:6511942 上传时间:2023-11-08 格式:PPT 页数:31 大小:625.50KB
返回 下载 相关 举报
Matlab数据类型.ppt_第1页
第1页 / 共31页
Matlab数据类型.ppt_第2页
第2页 / 共31页
Matlab数据类型.ppt_第3页
第3页 / 共31页
Matlab数据类型.ppt_第4页
第4页 / 共31页
Matlab数据类型.ppt_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《Matlab数据类型.ppt》由会员分享,可在线阅读,更多相关《Matlab数据类型.ppt(31页珍藏版)》请在三一办公上搜索。

1、2023/11/8,1,第3章 Matlab 数据类型,主要内容常量与变量数值类型逻辑类型字符和字符串元胞数组结构体函数句柄,2023/11/8,2,3.1.1 MATLAB系统的特殊变量和常数,3.1 常数与变量,2023/11/8,3,3.1 常数与变量,变量名由字母、数字和下划线组成;变量名中英文字母大小写是有区别的;变量名的最大长度是有规定的不同版本的系统规定不同:19个字符、31或63个字符等namelengthmax函数:系统规定长度isvarname函数:变量名的合法性N=namelengthmaxisvarname 8th_column,3.1.2 变量名,Matlab用字符i

2、和j表示虚数单位,如果涉及到复数计算,应避免把i和j用作变量名,2023/11/8,4,3.1 常数与变量,在MATLAB中创建变量不必声明变量的数据类型例创建一个A变量 A=9 将变量的值赋给另一个变量前,必须确定该变量有值,否则会返回错误。例如 A=a?Undefined function or variable a.如果变量已经存在,给它赋值会替换它的当前值,3.1.3 创建变量,2023/11/8,5,3.1 常数与变量,3.1.4 变量的数据类型,Matlab支持多种数据类型所有类型数据都被存储在矩阵或数组中进行操作,变量数据类型,logical逻辑型,char字符/字符串,nume

3、ric数值型,cell元胞数组,structure结构体,function handle 函数句柄,Java classesJava类,int8,unit8,int16,uint16,int32,uint32,int64,uint64,整数类型,single单精度浮点型,double双精度浮点型,2023/11/8,6,3.1 常数与变量,变量的数据类型,2023/11/8,7,3.2 数值类型数据,数值类型包括有符号整数类型、无符号整数类型、单精度浮点类型和双精度浮点类型,2023/11/8,8,3.2 数值类型数据,整型数据类型及其取值范围,3.2.1 整型数据类型,2023/11/8,9

4、,3.2 数值类型数据,int8:将值或变量指定为整型class函数:变量数据类型把数值转换为一种整型数据类型时,matlab会将结果圆整到最近的整型值对于小数位取5的情况,如果数值为正,则向上圆整,否则向下圆整将大于整型数据类型最大值的数据转换为该整型时,matlab返回最大值。如果数据值小于数据类型的最小值,则返回最小值,3.2.1 整型数据类型,2023/11/8,10,3.2 数值类型数据,两个相同类型的数据相加,结果仍为该整型 例如x=int16(5)+int16(9)返回结果为x=14class(x)返回结果为ans=int16如果结果大于数据类型的最大值或小于最小值,会返回最大值

5、或最小值 例如intwarning(on)int16(50000)Warning:Out of range vonverted to intmin(int16)or intmax(int16)ans=32767,3.2.1 整型数据类型,2023/11/8,11,3.2 数值类型数据,3.2.2 单精度浮点型数据类型,single命令将数值或变量指定为single型single型数据所占内存为double型的一半将double型数据转换为single型时,matlab将该数据圆整到最近的单精度浮点值函数eps返回浮点数的精度。所谓精度,是指该浮点数与下一个浮点数之间的差值。eps(x)的值与x

6、的大小有关,x越大,eps(x)越大双浮点数的精度比单浮点数的精度高一些,2023/11/8,12,3.2 数值类型数据,对于数值变量,默认时matlab指定数据为double型对于大部分数值计算任务而言,推荐使用double型复数属于双精度浮点数的一种特殊类型,复数作为一个整体进行处理。“-Inf”和“Inf”表示“负无穷”和“正无穷”,一旦运算结果超出浮点数的表示范围,系统会用“-Inf”和“Inf”表示计算结果非数(NaN),是“Not a Number”的缩写,是一个既不是实数也不是复数的数值,matlab提供这样一个数值的目的是扩大运算范围,对于0/0、Inf/Inf的运算结果可以有

7、合理的解释,3.2.3 双精度浮点型数据类型,2023/11/8,13,3.3 逻辑类型数据,Matlab用“0”和“1”分别代表“逻辑假”和“逻辑真”。逻辑类型数据常以标量的形式出现,但有时也可以是逻辑数组。在关系和逻辑运算表达式中所有输入非0的数都为“逻辑真”,只有0才为“逻辑假”;计算结果,如果值为1,表示“真”,如果值为0,表示“假”。,2023/11/8,14,字符串又称为字符数组,由多个字符连接而成。字符串一般用单引号括起来。例如,Central South University。字符串是以ASCII码形式存储的。abs和double函数都可以用来获取字符串矩阵所对应的ASCII码

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

9、符串,2023/11/8,16,创建二维字符串时,确定每行具有相同的长度。例如 name=Li Yi;Hu Xu根据不同长度的字符串创建二维字符串时,将短的那些字符串后面用空格对齐,使所有字符串的长度相同。例如 name=Liu Ying;Hu Xu 用char函数创建字符串数组,char函数自动以最长字符串的长度为标准,进行空格补齐。例如name=char(Liu Ying;Hu Xu)从数组中提取字符串时,用deblank函数删除后面的空格。trimname=deblank(name(2,:)size(trimname),3.4 字符和字符串,3.4.1 创建字符串,2023/11/8,1

10、7,3.4.2 类型转换,abs(str)返回一个向量,其元素是字符串中字符的ASCII值char(x)根据指定的字符集将向量x中的整数转化成字符。这个命令是命令abs的逆操作。num2str(f)将数值f转换成字符串str2num(str)将字符串str转换为数字lower(str)将字符串中所有字母转换为小写字母upper(str)将字符串中所有字符转化为大写字母,3.4 字符和字符串,2023/11/8,18,3.4.3 比较字符串,strcmp函数比较字符串strncmp函数可以比较字符串的前n+1个字符对于字符串结构数组,这两个函数一个单元一个单元地进行比较对于字符串,可使用关系运算

11、符 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=pencil;pen;pencilbox;strcmp(A,B)返回结果为ans=0 1 0 A=face;B=cake;A=B;ans=0 1 0 1,3.4 字符和字符串,2023/11/8,19,字符的聚合方法:使用聚合运算符 或sprintf函数 num_chars=28;s=There a

12、re int2str(num_chars)characters here s=sprintf(There are%d characters heren,num-chars)用strcat函数也可以把两个或更多字符串组合在一起 country=China;province=Sichuan strcat(country,province),3.4.4 聚合字符串,用聚合方法创建字符串时,用sprintf函数比使用 好,特别是在组成复杂表达式的时候,该函数对输出格式可以有更多的控制,而且一般运行得更快。也可用strcat函数聚合字符串,但对于简单的聚合,使用sprintf和 更快。,3.4 字符和字

13、符串,2023/11/8,20,3.4 字符和字符串,isletter函数确定字符是否为字母;isspace函数确定字符是否为空区(空格、空表间隔或空行)例如创建一个名为mystring的字符串,使用函isletter函数:mystring=Room 401;A=isletter(mystring);A=1 1 1 1 0 0 0前四个字符是字母,所以返回值为1。,3.4.5 字符分类,2023/11/8,21,3.4 字符和字符串,strrep函数进行标准的搜索和替代操作findstr函数strmatch函数在字符串或字符串单元数组的整个行中进行查找,看有没有以给定字符序列打头的字符串,它返

14、回以该字符打头的行的行号。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 搜索和替换,2023/11/8,22,元胞数组(单元数组)是一种特殊的数组,这种数组的元素是单元,能包含其他mat

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

16、例利用单元索引方式和内容索引方式创建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;%内容索引方式,创建元胞数组,2023/11/8,24,3.6 结构体,使用赋值语句例如创建一个student结构数组,student.name=Liu Dan;student.ID=02;student.test=79 75 73;80 78 77.

17、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,)其中,变量为字段名和它们的对应值。,创建结构体,2023/11/8,25,2.7 函数句柄,函数句柄是一种matlab数据类型,保存函数的路径、视野、函数名及重载方式等。使用函数句柄的好处主要有:把函数获取的信息传给其它函数;掌握重载函数的方法;允许更广泛地获

18、取子函数和私有函数;保证函数计算的可靠性;减小定义函数的字段个数;改进重复操作;在数组、结构体和元胞数组中操作句柄;可以在调用中将函数句柄作为变量传递给另一个函数,2023/11/8,26,3.7 函数句柄,在Matlab中,在函数名前用符号创建一个函数句柄。用于句柄的函数名最多只能有N个字符 函数句柄的内容通过functions显示f_h=plotfunctions(f_h)ans=function:plot type:overloaded file:MATLAB built-in function methods:1x1 struct,函数句柄的创建与显示,2023/11/8,27,MAT

19、LAB用十进制数表示一个常数,可采用日常记数法和科学记数法两种表示方法一般情况下,MATLAB内部每一个数据元素都是用双精度数来表示和存储的。数据输出时用户可以用format命令设置或改变数据输出格式format命令的格式为:format 格式符其中格式符决定数据的输出格式,如long、short、hex、rat(输出有理数),3.8 数据输出格式,2023/11/8,28,3.8 数据输出格式,2023/11/8,29,3.8 数据输出格式,2023/11/8,30,关于format命令的几点说明:format命令只影响数据的输出格式,而不影响数据的存储和计算默认的输出格式是short注意rat格式。如果在进行运算前执行format rat命令,则可以用分数形式显示运算结果,这样便于核对手算结果的正确性在改变了输出格式后,为了以后还按默认的格式输出,应当再执行format short命令,3.8 数据输出格式,2023/11/8,31,数据输出格式(续),即使在默认格式下,0也仅仅是输出0显示格式是非常重要的,要熟悉几种重要的格式,3.8 数据输出格式,

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号