数学软件Matlab

上传人:gb****c 文档编号:242946985 上传时间:2024-09-12 格式:PPT 页数:34 大小:176.50KB
返回 下载 相关 举报
数学软件Matlab_第1页
第1页 / 共34页
数学软件Matlab_第2页
第2页 / 共34页
数学软件Matlab_第3页
第3页 / 共34页
点击查看更多>>
资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,*,数学软件,Matlab,数据类型,1,变量与常量,数值型数据,逻辑型数据,字符与字符串,细胞(,cell,),结构型数据,句柄,主要内容,2,变量,变量是任何程序设计语言的,基本元素,之一。,Matlab,变量的特点:,变量,不要求事先声明(也无法声明),不需要指定变量类型: 根据所赋的值或对变量所进行的操作来确定变量的类型,变量的类型可以随时改变: 在赋值过程中,如果变量已经存在,,Matlab,会用新值代替旧值,并以,新的数据的类型代替旧的变量类型,如果能够事先给数组分配空间,则可以提高程序的执行效率,3,必须,以字母开头,,含字母(大小写)、数字和下划线,变量名长度,不超过 65,( Matlab6.5.1,版本以上,),区分大小写,变量,变量命名要求,Matlab,预定义常量,4,Matlab 数据类型,numeric,:数值,char,:字符,logical,:逻辑,cell,:单元、细胞、元胞,struct,:结构,Matlab,常用的数据类型有:,5,Matlab,数据类型,MatlabR2011b,中的数据类型,6,为了提高数值计算的精度,若没有指定数据类型,则所有的数都被看作是双精度的浮点数,使用整型数据或单精度数据可以节约内存空间,数值型,数值型数据,整数,浮点数,带符号,无符号,单精度,双精度,7,数据类型,取值范围,转换函数,带符号,8,位整型,-2,7,2,7,1,int8,带符号,16,位整型,-2,15, 2,15,1,int16,带符号,32,位整型,-2,31, 2,31,1,int32,带符号,64,位整型,-2,63, 2,63,1,int64,无符号,8,位整型,0, 2,8,1,uint8,无符号,16,位整型,0 , 2,16,1,uint16,无符号,32,位整型,0 , 2,32,1,uint32,无符号,64,位整型,0 , 2,64,1,uint64,整型数据,Matlab,提供四种带符号整型和四种无符号整型,8,x1=11,x2=15,x3=16,x4=127,x5=255,x6=255,x7=0,举例,x1=,int8,(11);,x2=,int8,(15.49);,x3=,int8,(15.5);,x4=,int8,(130);,x5=,uint8,(255);,x6=,uint8,(256);,x7=,uint8,(-1);,9,相同整型数据之间的运算,结果为同类型的整数,不同整型数据之间不能进行运算!,整型数据可以和,双精度标量,进行数值运算,,结果为整数,。在运算过程中,保持浮点运算精度,,最后将结果转换成整型。,整型数据不能与,双精度数组,进行运算,整型数据运算规则,整型数据运算规则:,x=int8(11); y=int8(5); z=x*y,% OK,x=int8(11); y=int16(5); z=x*y,% ERROR!,x=int8(11); y=1,2; z=x*y,% ERROR!,10,例:,最大整数与最小整数,intmax(int8);,intmin(int8);,intmax(uint8);,intmin(uint8);,intmax;,intmin;,intmax(int32);,intmin(int32);,intmax,和,intmin,函数:查询不同整型数据所能表示的最大整数和最小整数,11,single,:,将数据转换成单精度浮点数,double,:将数据转换成双精度浮点数,浮点数与其它类型数据运算表,浮点数,浮点数:,单精度,(占 4 个字节)和,双精度,(占 8 个字节),X,12,最大和最小浮点数,例:,realmax(single);,realmin(single);,realmax(double);,realmin(double);,realmax;,realmin;,realmax(double);,realmin(double);,realmax,和,realmin,:查询单精度和双精度所能表示的最大浮点数和最小浮点数,13,直接输入:,使用,complex,函数,复数,复数的输入方法,z=3+4i,z=complex(3,4),z=complex(3),z=complex(3,0),虚部与虚数单位之间不能留空格,14,整型数据相关函数,15,浮点数相关函数,16,复数相关函数,17,其它相关函数,18,判断数据类型相关函数,19,字符串和字符数组,字符串必须用,单引号,括起来,字符串是由多个字符组成的,字符行向量,字符串,字符与字符串运算是各种高级语言不可缺少的部分,,Matlab,具有强大的字符处理能力。,str1=Matrix Laboratory,str2=M,a,t,r,i,x,字符数组必须是方的,即每行的字符个数必须相等,str3=M,a,t; r,i,x,20,字符串中的每个字符(包括空格)都是字符串的一个元素,字符串,str=Matrix;,str(3),size(str),str=Matrix;,double(str(3);,int16(str);,Matlab,中字符是以,ASCII,码存储的,因而,区分大小写,,可用,double,等函数查看一个字符的,ASCII,码,21,使用,char,函数,ASCII,码,字符串,字符串的输入,直接输入,str1=Matrix; str2=Laboratory;,str=str1, str2;,str=str1; str2;,/ ERROR!,str=char(77,97,116,108,97,98),str=char(str1,str2),生成一个字符数组,第一行为,str1,,第二行为,str2,数组的列数,=max(length(str1), length(str2),22,字符与数的转换,字符串、字符数组与数值数组之间的转换,按,ASCII,码转换,字符,数:,double,、,int8,、,int16,、,.,数,字符:,char,直接将数转换成字符,字符,数:,str2num,(仅限于字符串由数字构成),数,字符:,num2str,、,int2str,、,mat2str,a=97, 97.3; 97.8, 98;,str1=char(a);,str2=num2str(a);,str3=int2str(a);,str4=mat2str(a);,23,举例,char,的输入参数范围为,0,65535,,当输入参数中有小数时,直接将小数部分舍去。,num2str,直接将每个数字转换成字符,mat2str,把整个矩阵转换成字符,行向量,,包括矩阵中的,方括号,、,空格,和,分号,(逗号自动去除),a=1,2,3;,b=num2str(a);,c=2*a;,% c=?,d=2*b;,% d=?,数值数组转换为字符数组后,表面上看,象一个数值数组,,但此时的元素是,字符,而不是,数,!,24,char,、,double,、,int8,、,int16,等是按,ASCII,码 进行转换,str2num,、,num2str,、,int2str,、,mat2str,是直接进行转换,25,字符串的合并,水平,合并,直接使用中括号,使用,strcat,函数,str1=hello , world!,str2=strcat(hello ,world!),使用,strcat,时,系统会自动去除,原字符串,结尾处的空格,水平,合并,得到的是一个更长的字符串,26,字符串的合并,垂直,合并,直接使用中括号,使用,strvcat,函数,str3=Matrix ; Laboratory,str4=strvcat(Matrix,Laboratory),在中括号中用,分号,实现垂直,合并,,必须保证每个字符串,的,长度相等,否则需用空格补齐,用,strvcat,合并,,,系统会,自动为较短的字符串,补充,空格,垂直合并,得到的是一个字符,数组,27,字符串的执行,执行字符串所表示的表达式或命令:,eval,str=1+2;,a=eval(str),str=A=magic(3);,eval(str),str1=figure(1); mesh(peaks(60);,str2=figure(2); waterfall(peaks(60);,eval(str1),eval(str2),28,函 数,功 能,函 数,功 能,strcmp,字符串比较,strrep,字符串替换,strcmpi,字符串比较:,忽略大小写,strncmp,比较字符串的前,n,个字符,upper,转换为大写,lower,转换为小写,blanks,产生空字符串,deblank,删除字符串中的空格,strmatch,查找匹配字符串,findstr,在一个字符串中查找另一字符串,strjust,对齐字符数组,包括左对齐,右对齐和居中,strtok,返回字符串中第一个分隔符,(,空格,回车和,Tab,键,),前的部分,字符串相关函数,29,细胞变量的表示方法类似于带有下标的数组,但这些下标不是用圆括号括起来,而是使用,大括号,。,普通数组中的每个元素都必须具有相同的数据类型,而细胞则没有此要求。,细胞数组,/,单元,/,元胞,Matlab,从 5.0 版开始引入了一种新的数据类型,细胞,(,cell,),,该结构可以,把不同类型的数据纳入到一个变量,中。,30,细胞数组举例,31,用赋值语句直接定义,用,cell,函数预先分配空间,然后对细胞的每个元素逐个赋值,细胞变量的定义,A=1 2; 3 4;,str=Matlab;,M=1:4, A, str; cellplot(M),M=cell(2,3);,M1,1=1; M1,2=rand(2); M1,3=hello;,M2,1=1:3; M2,2=Matrix; M2,3=5;,cellplot(M),可以通过以下两种方式定义一个细胞变量,M=cell(m,n);,%,生成一个,m,行,n,列 的细胞数组,32,细胞变量元素的引用,A=1 2; 3 4;,str=Matlab;,M=1:4, A, str;,N=hello, M; eye(2),magic(3);,N1,1,N1,2,N1,21,2,N1,21,2(2,1),要引用细胞中的单个元素,必须使用,大括号,33,相关函数,celldisp,%,列出细胞变量的内容,cellplot,%,用图形方式显示细胞变量的内容,iscell,%,判别一个变量是否为细胞变量,A=1 2; 3 4;,str=Matlab;,M=1:4, A, str;,celldisp(M);,cellplot(M);,iscell(A),iscell(M),34,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 大学资料


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

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


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