数学matlab数据类型ppt课件

上传人:无*** 文档编号:148311160 上传时间:2022-09-04 格式:PPT 页数:69 大小:2.50MB
返回 下载 相关 举报
数学matlab数据类型ppt课件_第1页
第1页 / 共69页
数学matlab数据类型ppt课件_第2页
第2页 / 共69页
数学matlab数据类型ppt课件_第3页
第3页 / 共69页
点击查看更多>>
资源描述
MATLAB程序设计MATLAB程序设计第3章数据类型第3章 数据类型MATLAB程序设计第3章数据类型3.13.1数值类型3.23.2逻辑类型3.33.3字符串3.43.4日期与时间MATLAB程序设计第3章数据类型3.53.5构造3.63.6单元数组3.73.7函数句柄3.83.8MATLAB类MATLAB程序设计第3章数据类型MATLAB中共有15种根本数据类型和2种自定义类型。MATLAB数据类型关系数组逻辑类字符类数值类单元构造用户类Java类函数句柄int8,uint8int16,uint16int32,uint32int64,uint64singledoubleMATLAB程序设计第3章数据类型3.1 数值类型MATLAB的默许数据存储类型为双精度浮点类型(double),可以利用转化函数存储为其它类型,一切的数值类型数据均可作为数组的索引。一.整数MATLAB中有4种有符号整数类型,4中无符号整数类型。有符号整数类型需求用1位来表示数据的正负,因此它的取值范围小于无符号整数类型。MATLAB程序设计第3章数据类型整数类型的取值范围和类型转化函数数据类型取值范围类型转化函数有符号8位整数int8有符号16位整数int16有符号32位整数int32有符号64位整数int64无符号8位整数uint8无符号16位整数uint16无符号32位整数uint32无符号64位整数uint64772 2115152 2131312 2163632 21640 21320 21160 2180 21MATLAB程序设计第3章数据类型如,int8的取值范围:772 21128+127uint8的取值范围:80 210+255int16的取值范围:15152 2132768+32767MATLAB程序设计第3章数据类型MATLAB的默许数据存储类型为double,利用类型转化函数可将数据存储为整数类型,假设有小数部分,四舍五入处置。例:整数类型的转化。在命令窗输入:x=7.503;int8(x)运转结果:ans=8也可以根据需求利用函数对数据的小数部分进展舍入。MATLAB程序设计第3章数据类型例:转化ASCII码。在命令窗输入:str=01 Aa,int8(str)运转结果:str=01 Aaans=48 49 32 65 97MATLAB程序设计第3章数据类型某个整数类型的变量只能与该整数类型或double类型的变量进展算术运算,其结果仍为该类型的整数。例:整数类型的算术运算。在命令窗输入:x=int16(2)*pi,class(x)运转结果:x=6ans=int16MATLAB程序设计第3章数据类型整数的取值范围可经过intmax和intmin函数查看。例:查看整数类型的范围。在命令窗输入:intmax(int16),x=int8(500)运转结果:ans=32767x=127MATLAB程序设计第3章数据类型二.浮点数MATLAB的浮点数分为单精度(single)和双精度(double)。默许数据类型double需求64位存储空间,详细如下:636252510符号指数部分且有1023的偏移量小数部分Single需求32位存储空间,详细如下:313023220符号指数部分且有127的偏移量小数部分MATLAB程序设计第3章数据类型直接输入变量值创建的是double类型,创建single类型需求用输入类型转化函数。例:创建浮点数。在命令窗输入:x=35;y=single(-26);a=class(x),b=class(y)运转结果:a=doubleb=singleMATLAB程序设计第3章数据类型继续在命令窗输入:whos(x,y)运转结果:Name Size Bytes Class x 1x1 8 double array y 1x1 4 single arrayGrand total is 2 elements using 12 bytesMATLAB程序设计第3章数据类型浮点数据类型可与char、single、double、logical、int*、uint*类型的数据进展算术运算,其运算结果如下表所示:浮点类型与各种类型数据运算结果类型singledouble(u)int*charlogicaldoublesingledouble(u)int*doubledoublesinglesinglesinglesinglesingleMATLAB程序设计第3章数据类型例:浮点数与其它类型的运算。在命令窗输入:x=35;y=single(-20);z=int8(25);s=A;a=x+z,b=y+s,c1=class(a),c2=class(b)运转结果:a=60b=45c1=int8c2=singleMATLAB程序设计第3章数据类型浮点数的取值范围可经过运用以下函数查看:realmax(double)、realmax(single)、realmin(double)、realmin(single)。例:浮点数的取值范围。在命令窗输入:realmax(double),realmin(double)MATLAB程序设计第3章数据类型运转结果:ans=1.7977e+308ans=2.2251e-308在命令窗输入:realmax(single),realmin(single)运转结果:ans=3.4028e+038ans=1.1755e-038MATLAB程序设计第3章数据类型三.复数MATLAB表示复数时,可用字母i或j表示虚部。创建复数可直接输入或利用函数complex(a,b)。例:创建复数。在命令窗输入:a=2-3i运转结果:a=2.00003.0000iMATLAB程序设计第3章数据类型例:利用函数complex(a,b)创建复数。在命令窗输入:a=2,b=3,complex(a,b)运转结果:a=2b=3ans=2.00003.0000iMATLAB程序设计第3章数据类型利用函数real(z)和imag(z)可以获得复数z的实部和虚部。例:获得复数的实部和虚部。在命令窗输入:A=1 2;3 4;B=5 6;7 8;Z=complex(A,B),Zr=real(Z),Zi=imag(Z)运转结果:Z=1.0000+5.0000i 2.0000+6.0000i 3.0000+7.0000i 4.0000+8.0000iZr=1 2 3 4Zi=5 6 7 8MATLAB程序设计第3章数据类型四.无穷与非数MATLAB中分别用Inf和Inf表示正无穷和负无穷,用NAN表示非数。例:无穷。在命令窗输入:1/0运转结果:ans=InfMATLAB程序设计第3章数据类型五.判别数据类型数据类型判别命令命令操作whos x显示数据类型xtype=class(x)将x的数据类型赋给另一个变量isnumeric(x)判断x是否为数值类型isa(x,integer)判断x是否为引号中指定的数值类型(包括其它数值类型)isreal(x)判断x是否为实数isnun(x)判断x是否为非数isinf(x)判断x是否为无穷isfinine(x)判断x是否为有限数MATLAB程序设计第3章数据类型六.数据显示方式MATLAB默许数据显示方式是5位长度,可以经过参数选择对话框(FilePreferences)或者利用format函数设置数据的显示方式。例:数据显示方式。在命令窗输入:x=3.1 1e-13运转结果:x=3.1000 0.0000MATLAB程序设计第3章数据类型继续在命令窗输入:format longx运转结果:x=3.10000000000000 0.00000000000010formatMATLAB程序设计第3章数据类型例:改动进位制显示方式。在命令窗输入:format hexx=uint8(10)运转结果:x=0aMATLAB程序设计第3章数据类型3.2 逻辑类型逻辑类型的变量有两种取值,逻辑真和逻辑假,分别用“1和“0表示。一.创建逻辑数组创建逻辑数组方式有多种:经过输入“true或false直接创建逻辑数组;经过对数组进展逻辑运算创建;经过MATLAB函数产生逻辑数组;MATLAB程序设计第3章数据类型例:直接创建逻辑数组。在命令窗输入:x=true,false,true运转结果:x=1 0 1MATLAB程序设计第3章数据类型例:利用逻辑运算创建逻辑数组。在命令窗输入:y=7,2,95运转结果:y=1 0 1MATLAB程序设计第3章数据类型例:利用函数创建逻辑数组。在命令窗输入:z=isfinite(5,inf,0.3)判别能否为有限数,有限数那么为真运转结果:z=1 0 1MATLAB程序设计第3章数据类型运算产生逻辑结果的函数函数操作true、false设值为真或假logical数值类型转化为逻辑类型&(and)、|(or)、(not)、xor、any、all逻辑运算&、|与、或=、=、=关系运算is*、cellfun测试运算strcmp、strncmp、strcmpi、strncmpi字符串比较MATLAB程序设计第3章数据类型二.逻辑数组的用途逻辑数组主要用在条件语句和数组索引中。例:数组的逻辑索引。在命令窗输入:A=rand(3),A(Ac1=China;whos c1运转结果:Name Size Bytes Class c1 1x5 10 char arrayGrand total is 5 elements using 10 bytesMATLAB程序设计第3章数据类型例:串接字符串。在命令窗输入:a=Yanbian;b=University;c2=strcat(a,b)空格加在第2个字符串的开头运转结果:c2=Yanbian University MATLAB程序设计第3章数据类型假设要创建二维字符数组,那么要求每行长度一样。假设长度不同,需求用空格来补充。例:创建字符串数组。在命令窗输入:m=Yanbian ;University补3个空格,使长度相等运转结果:m=Yanbian UniversityMATLAB程序设计第3章数据类型二.字符串单元数组字符串数组要求长度一样,给编程带来不便。经过创建字符串单元数组可以存储长度可变的字符串。利用cellstr函数可将字符数组转化为字符串单元数组。例:字符数组转化为字符串单元数组。在命令窗输入:a=Yanbian ;University;b=cellstr(a)运转结果:b=Yanbian University MATLAB程序设计第3章数据类型字符串单元数组的元素操作函数函数描述cellstr将字符数组转化为字符串单元数组char将字符串单元数组转化为字符数组deblank移除字符串尾部的空格iscellstr判断是否为字符串单元数组sort元素排序strcat串接字符串strcmp比较字符串strmatch查找匹配字符串MATLAB程序设计第3章数据类型三.字符串的操作1.字符串的比较字符串的比较函数:strcmp、strncmp、strcmpi、strncmpistrcmp判别两个字符串能否相等;strncmp判别两个字符串的前n个字符能否相等;strcmpi、strncmpi功能与前两个类似,但不区分字符的大小写。MATLAB程序设计第3章数据类型例:字符串比较。在命令窗输入:a=hello;b=help;strcmp(a,b)运转结果:ans=0 继续在命令窗输入:strncmp(a,b,3)运转结果:ans=1 MATLAB程序设计第3章数据类型字符串比较还可经过关系运算来实现。例:用运算符比较字符串。在命令窗输入:str1=abc;str2=AbC;str1=str2逐个字符比较,前往逻辑数组运转结果:ans=1 0 1 MATLAB程序设计第3章数据类型2.字符串的查找和交换MATLAB提供了一些对字符串中的字符进展查找和交换的函数。如strrep函数用于交换字符串中的某个字符。例:交换字符。在命令窗输入:s=NAme;strrep(s,A,a)运转结果:ans=Name MATLAB程序设计第3章数据类型四.字符串类型与数值类型之间的转化数值类型可转化为字符串类型,字符串类型也可转化为数值类型,相关的函数见50页表3-8和表3-9。例如,将整数转化为字符。在命令窗输入:char(65)运转结果:ans=A MATLAB程序设计第3章数据类型3.4 日期与时间MATLAB中日期与时间有3种表现方式:日期字符串、日期值序列、日期向量。一.日期的表现方式日期与时间信息的字符串有多种表示方式,如:15-Oct-2021 15:35:1810/15/202115:35:1803:35:18 PMMATLAB程序设计第3章数据类型日期值序列的表示方法日期值序列1表示0000年1月1日0:00,其它日期时间在根底上按天累加。日期向量的表示方法year month day hour minute secondMATLAB程序设计第3章数据类型二.日期表现方式之间的转化日期方式的转化函数函数描述datenum转化为数值序列形式datestr转化为字符串形式datevec转化为向量形式MATLAB程序设计第3章数据类型三.当前日期与时间当前日期字符串可经过date函数获得。例:获得当前日期字符串。在命令窗输入:date运转结果:ans=23-Sep-2021 MATLAB程序设计第3章数据类型当前日期时间序列可经过now函数获得。例:获得当前日期时间数值序列。在命令窗输入:x=now运转结果:x=7.3442e+005 继续在命令窗输入:datestr(x)转换为字符串方式运转结果:ans=09-Oct-2021 09:15:00MATLAB程序设计第3章数据类型3.5 结 构构造是根据字段组合起来的不同类型的数据集合。一.创建构造数组1.利用赋值语句创建构造例:利用赋值语句创建构造。在命令窗输入:MATLAB程序设计第3章数据类型student.name=Li Ming;student.course=10 10096;student.score=87 92运转结果:student=name:Li Ming course:10 10096 score:87 92MATLAB程序设计第3章数据类型例:利用创建赋值语句继续扩展。继续在命令窗输入:student(2).name=Zhang Li;student(2).course=10 10096;student(2).score=82 76运转结果:student=1x2 struct array with fields:name course scoreMATLAB程序设计第3章数据类型2.利用构造函数创建构造struct函数可以创建构造,其调用格式为:strArray=srtuct(field1,val1,field2,val2,)field和val为字段和对应值。字段值可以是单一值或单元数组,但是必需保证它们具有一样的尺寸。MATLAB程序设计第3章数据类型例:利用构造函数创建构造。在命令窗输入:stu=struct(n,Wang Fang,c,10568 10063,s,76 82)运转结果:stu=n:Wang Fang c:10568 10063 s:76 82继续在命令窗输入:stu(2)=struct(n,Zhao Yun,c,10568 10063,s,92 87)MATLAB程序设计第3章数据类型运转结果:stu=1x2 struct array with fields:n c s继续在命令窗输入:stu(2)查看构造stu(2)的字段内容运转结果:ans=n:Zhao Yun c:10568 10063 s:92 87MATLAB程序设计第3章数据类型也可以一次建立构造数组的多个元素。继续在命令窗输入:clear stustu=struct(n,Wang Fang,Zhao Yun,c,10568 10063,10568 10063,s,76 82,96 87)省略号是续行符运转结果:stu=1x2 struct array with fields:n c sMATLAB程序设计第3章数据类型二.构造数组的操作1.访问构造数组中的数据利用构造数组索引可以对构造数组的字段值或字段元素值进展访问或赋值。也可利用逗号分隔的序列访问。例:访问某个构造的字段或字段元素。接前例继续在命令窗输入:str1=student(2).name,student(2).score(1)运转结果:str1=Zhang Lians=82MATLAB程序设计第3章数据类型2.添加和删除字段利用赋值语句可以添加字段,还可利用setfield函数添加字段或修正字段的值。例:添加和删除字段。在命令窗输入:student(1).sex=male运转结果:student=1x2 struct array with fields:name course score sexMATLAB程序设计第3章数据类型继续在命令窗输入:student(1)查看构造student(1)的字段内容运转结果:ans=name:Li Ming course:10 10096 score:87 92 sex:maleMATLAB程序设计第3章数据类型继续在命令窗输入:student(2)运转结果:ans=name:Zhang Li course:10 10096 score:82 76 sex:MATLAB程序设计第3章数据类型继续在命令窗输入:rmfield(student,sex)删除构造的字段运转结果:ans=1x2 struct array with fields:name course scoreMATLAB程序设计第3章数据类型3.6 单元数组单元数组可以将不同类型或不同尺寸的数据存储到同一个数组当中。访问单元数组的方法与矩阵索引方法根本一样,区别在于单元数组索引时,需求用将下标置于其中。一.创建单元数组创建单元数组与创建矩阵根本一样,区别在于矩阵用,单元数组用。MATLAB程序设计第3章数据类型例:创建单元数组。在命令窗输入:a=2 4 7;3 9 6;1 8 5,Li Ming,2+3i,1:2:10运转结果:a=3x3 double Li Ming 2.0000+3.0000i 1x5 doubleMATLAB程序设计第3章数据类型二.单元数组的操作1.单元数组的删除对单元数组向量下标赋空值即可删除单元数组的行或列。例:删除单元数组的列。接上例继续在命令窗输入:a(:,2)=运转结果:a=3x3 double 2.0000+3.0000i 1x5 doubleMATLAB程序设计第3章数据类型2.运用函数或运算符操作单元数组利用索引可以对单元数组进展函数或运算符操作。例:单元求和。在命令窗输入:A1,1=2 5;7 3;A1,2=rand(3,3);B=sum(A1,1)运转结果:B=9 8MATLAB程序设计第3章数据类型3.单元数组的显示直接在命令窗输入单元数组名,可显示单元数组的构成单元,显示单元内容可运用celldisp函数。例:显示单元数组。在命令窗输入:celldisp(A)运转结果:A1=2 5 7 3A2=0.4447 0.9218 0.4057 0.6154 0.7382 0.9355 0.7919 0.1763 0.9169MATLAB程序设计第3章数据类型3.7 函数句柄函数句柄函数句柄是提供间接调用函数方法的MATLAB值或数据类型。一.创建和调用函数句柄(1)在已有函数名前加符号,即可创建函数句柄;例如,存在已有函数,名为functionname,创建一个函数句柄fun1:fun1=functionname(2)可提供匿名函数创建一个函数句柄。例如,创建一个计算x平方的函数:sqr=(x)x.2MATLAB程序设计第3章数据类型二.利用句柄调用函数要执行与函数句柄相关的函数,需将函数句柄看作函数名。例如,创建一个函数句柄:fun1=functionname调用格式:fun1(arg1,arg2,argn)例:创建和调用函数句柄。在命令窗输入:sqr=(x)x.2;a=sqr(5)运转结果:a=25MATLAB程序设计第3章数据类型3.8 MATLAB类一切MATLAB数据类型都以面向对象的类执行。经过创建附加的类,可以在MATLAB的开发环境中添加自定义的数据类型。这些用户自定义的类定义了新数据类型的构造、M文件函数或方法,即由用户为每个类编写,用于定义该数据类型的行为。
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 压缩资料 > 基础医学


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!