MATLAB数据类型课件

上传人:29 文档编号:240619611 上传时间:2024-04-25 格式:PPT 页数:49 大小:289KB
返回 下载 相关 举报
MATLAB数据类型课件_第1页
第1页 / 共49页
MATLAB数据类型课件_第2页
第2页 / 共49页
MATLAB数据类型课件_第3页
第3页 / 共49页
点击查看更多>>
资源描述
数据类型数学软件MATLAB1标题添加点击此处输入相关文本内容点击此处输入相关文本内容总体概述点击此处输入相关文本内容标题添加点击此处输入相关文本内容2常数和变量数组和矩阵字符串和多维数组结构和单元数组数据类型3q 变量u 变量是任何程序设计语言的基本元素之一。u Matlab 并不要求对所使用的变量进行事先声明,也不需要指定变量类型,Matlab 会自动根据所赋予变量的值或对变量所进行的操作来确定变量的类型。u 在赋值过程中,如果变量已经存在,Matlab 会用新值代替旧值,并以新的变量类型代替旧的变量类型。变量与常量4变量命名规则变量名的第一个字符必须是一个英文字母,最多可包括31个字符;x1,x2,x3,alpha,变量名可由英文字母、数字和下划线混合组成;变量名不得包含空格和标点,但可以有下连字符变量名和函数名对字母的大小写敏感;X,x,Z,z 是不同变量5常量名 常量值常量名常量值i,j虚数单位realmin 最小的正浮点数pi圆周率realmax 最大的正浮点数eps浮点运算相对精度NaN不定值Inf无穷大Matlab中经常使用的一些常量Matlab 常量q Matlab 中有一些预定义的变量,这些特殊变量称为常量。6常 数返 回 值ans默认变量名,保存最近的结果eps浮点相对精度realmax最大浮点数realmin最小浮点数pi圆周率i,j虚数单位inf无限值NaN不合法的数值值,非数值computer计算机类型versionMATLAB版本字符串7例2.a=abs(3+4i)a=5huge=exp(log(realmax)huge=1.7977e+308toobig=pi*hugeToobig=inf例1 1.计算有理数 2000/21 ans=95.23818数据类型l numeric:数值l char:字符l logical:逻辑l cell:单元、细胞、元胞l struct:结构q Matlab 数据类型的最大特点是每一种类型都是以数组为基础,Matlab 事实上把每种类型的数据都作为数组来处理。q Matlab 常用的数据类型有:9Matlab7.1 中的数据类型表逻辑字符细胞函数句柄10数据类型举 例描 述逻辑型数组Magic(4)10包含1、0或true、false字符型数组Hello长度16位,即为字符串Int8、unit8int16、unit16Uint8(magic(3)长度为8位、16位的有符号和无符号整型数组single3*1038 单精度数值型数组double3*103005+6i双精度数值型数组单元数组17helloeye(2)包含其他数组。将不同大小有关系的数据集中到一起结构数组a.day=12;a.color=red;a.mat=magic(3);具有字段名。包含其他数组。与单元数组类似11MATLAB用format命令来控制输出格式,format short 短格式 3.146format long 长格式 3.14159265358979format short e 短格式e 3.1416e+000format long e 长格式e 3.141592653589793e+000format rat 分数格式 355/113format bank 银行格式 3.14计算机浮点数记法5.11108 5.11e+80.0000015=1.510-6 1.5e-6,2.4560000=2.456107 2.456e+712q 在缺省(默认)状态下,Matlab 将所有的数都看作是双精度的浮点数。q 使用整型变量和单精度变量可以节约内存空间。数值型(numeric)q 数值型数据包括l 整数:带符号和无符号l 浮点数:单精度和双精度13数据类型取值范围转换函数带符号 8 位整型-27,27 1int8带符号 16 位整型-215,215 1int16带符号 32 位整型-231,231 1int32带符号 64 位整型-263,263 1int64无符号 8 位整型0,28 1uint8无符号 16 位整型0,216 1uint16无符号 32 位整型0,232 1uint32无符号 64 位整型0,264 1uint64整数q Matlab 提供四种带符号整型和四种无符号整型14x1=11x2=15x3=16x4=127x5=255x6=255x7=0举例x1=int8(11);x2=int8(15.49);x3=int8(15.5);x4=int8(130);x5=uint8(255);x6=uint8(256);x7=uint8(-1);15u 相同整型数据之间的运算,结果为同类型的整数。例:int8(12)*int16(3)Xu 整型数据可以和双精度标量进行数值运算,结果为整数。在运算过程中保持浮点运算精度,最后将结果转换成整型。整型数据不能与不是标量的双精度数组进行运算整型数据的运算q 整型数据可以参与的运算有下面两种:不同的整型数据之间不能进行运算16q 可以用 intmax 和 intmin 函数来查询不同整型所能表示的最大整数和最小整数。例:最大整数与最小整数intmax(int8);intmin(int8);intmax(uint8);intmin(uint8);intmax;intmin;intmax(int32);intmin(int32);17l single:将数据转换成单精度浮点数l double:将数据转换成双精度浮点数operandsingledouble int/uintcharlogicalsinglesinglesinglesinglesingledoublesingledouble int/uintdoubledouble浮点数与其它类型数据运算表浮点数q 浮点数包括单精度(占 4 个字节)和双精度(占 8 个字节),缺省为双精度。q 浮点数转换函数X18最大和最小浮点数q 可以用 realmax 和 realmin 函数来查询单精度和双精度所能表示的最大浮点数和最小浮点数。例:realmax(single);realmin(single);realmax(double);realmin(double);realmax;realmin;realmax(double);realmin(double);19u 直接输入:u 使用 complex 函数复数q 可以通过以下方式定义复数z=3+4iz=complex(3,4)z=complex(3)z=complex(3,0)虚部与虚数单位之间不能留空格20整型数据相关函数21浮点数相关函数22复数相关函数23其它相关函数24判断数据类型相关函数25创建数组向量的三种常用方法:1.增量法(利用冒号生成向量)利用冒号生成向量)x=i:j 如果如果 ij,生成以生成以i为初值为初值,j为终值为终值,1为步为步长的有限等差数列长的有限等差数列;x=i:j:k 如果如果 ik,生成以生成以i为初值为初值,k为终值为终值,-,-j为步长的有限等差数列为步长的有限等差数列;只需要用空格或逗号间隔数组元素,再用方括号括起来。如:X=0 2 3 6 7 826x=linspace(2,8)将生成将生成100100个数个数,以以2 2开始开始,以以8 8结束。结束。y=linspace(2,8,10)y=linspace(2,8,10)将生成将生成1010个数个数,以以2 2开始开始,以以8 8结束。结束。3.利用利用logspace(a,b)生成等比向量生成等比向量例3.3.用dot()、cross()进行向量点积运算a=1:4;b=3:6;c=dot(a,b)c=50a=1:3;b=2:4;cross(a,b)ans=-1 2 -12.利用linspace(a,b)生成等差向量如:A=10:15 A=10 11 12 13 14 15272/18创建矩阵的常用方法:1.1.直接输入法直接输入法;2.;2.函数法函数法;3.3.矩阵编辑器矩阵编辑器;4.4.数据文件数据文件法法直接输入法三条规则:矩阵元素必须在方括号 之内;同一行相邻元素间用逗号或空格分隔;矩阵的行与行之间必须用分号分隔.例4.三阶Hilbert矩阵 A=1 1/2 1/3;1/2 1/3 1/4;1/3 1/4 1/5A=1.0000 0.5000 0.3333 0.5000 0.3333 0.2500 0.3333 0.2500 0.2000286/18C=产生空阵r=rand 产生随机数R=rand(3,4)产生3 4阶随机矩阵E=eye(3)产生3阶单位矩阵B=zeros(3,4)产生3 4阶全“0”矩阵D=ones(3,4)产生3 4阶全“1”的矩阵X=magic(3)产生3阶幻方Y=vander(4)产生4阶范德蒙矩阵函数法构造特殊矩阵29索引生成A=5 7 8;0 1 9;4 3 6;/创建一个二维数组A(:,:2)=1 0 4;3 5 6;9 8 7;/为A添加第三维MATLAB函数生成B=randn(4,3,2);/创建正态分布随机数的432的数组类似的函数有ones(),zeros()等cat函数生成B=cat(dim,A1,A2)/按指定的维数将多个数组聚合30q 字符串和字符数组n 字符串必须用单引号括起来n 字符串是由多个字符组成的字符行向量字符与字符串(char)q 字符与字符串运算是各种高级语言不可缺少的部分,Matlab具有强大的字符处理能力。str1=Matrix Laboratorystr2=M,a,t,r,i,xn 字符数组必须是方的,即每行的字符个数必须相等str3=M,a,t;r,i,x31q 字符串中的每个字符(包括空格)都是字符串的一个元素字符与字符串str=Matrix;str(3)size(str)str=Matrix;double(str(3);double(str);q Matlab中字符是以 ASCII 码存储的,因而区分大小写,可用 double 函数查看一个字符的 ASCII 码32q 使用 char 函数ASCII 码 字符串字符串的生成q 直接赋值str1=Matrix;str2=Laboratory;str=str1,str2;str=char(77,97,116,108,97,98)str=char(str1,str2)l 生成一个字符数组,第一行为 str1,第二行为 str233l 数值矩阵到字符数组:num2str、int2str、mat2strl 字符数组到数值数组:str2num字符串与数值数组q 字符串、字符数组与数值数组之间的转换u 按 ASCII 码转换l 字符数组到数值数组:doublel 数值数组到字符串:charu 直接转换34举例a=97,97.3;97.8,98;str1=char(a);str2=num2str(a);str3=int2str(a);str4=mat2str(a);l char 的输入参数范围为 0,65535,当输入参数中有小数时,直接将小数部分舍去。l num2str 直接将每个数字转换成字符l mat2str 把整个矩阵转换成字符行向量,包括矩阵中的方括号、空格 和 分号(逗号自动去除)35举例str5=mat2str(97,97.3;97.8,98);l 数值数组转换为字符数组后,表面上看象一个数值数组,但此时的元素是字符而不是数字!a=1,2,3b=num2str(a)c=2*ad=2*be=2*str2num(b)36字符串的合并q 水平合并u 直接使用中括号u 使用 strcat 函数 str1=hello,world!str2=strcat(hello,world!)l 使用 strcat 时,自动去除原字符串结尾处的空格l 水平合并得到的是一个更长的字符串 37字符串的合并q 垂直合并u 直接使用中括号u 使用 strvcat 函数 str3=Matrix ;Laboratorystr4=strvcat(Matrix,Laboratory)l 在中括号中用分号实现垂直合并,必须保证每个字符串的长度相等,否则需用空格补齐l 用 strvcat 合并,自动为较短的字符串补充空格l 垂直合并得到的是一个字符数组 38运行字符串q 运行字符串所表示的表达式或命令:evalstr=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)39函 数功 能函 数功 能strcmp比较字符串strrep替换字符串strcmpi忽略大小写比较字符串strncmp 比较字符串的前n个字符upper转换为大写lower转换为小写blanks产生空字符串deblank 删除字符串中的空格strmatch 查找匹配的字符串findstr在一个字符串中查找另一字符串strjust对齐字符数组,包括左对齐,右对齐和居中strtok返回字符串中第一个分隔符(空格,回车和Tab键)前的部分字符串相关函数40q 细胞变量的表示方法类似于带有下标的数组,但这些下标不是用圆括号括起来,而是使用大括号。q 普通数组中的每个元素都必须具有相同的数据类型,而细胞则没有此要求。细胞数组(cell)q Matlab 从 5.0 版开始引入了一种新的数据类型 细胞(cell),该结构可以把不同类型的数据纳入到一个变量中。41细胞数组举例42u 用赋值语句直接定义 u 用 cell 函数预先分配存储空间,然后对细胞的每个元素逐个赋值。细胞变量的定义A=1 2;3 4;str=Matlab;M=1:4,A,str;celldisp(M)cell(m,n)l 生成一个 m 行 n 列 的细胞数组。q 可以通过以下两种方式定义一个细胞变量43举例A=1 2;3 4;str=Matlab;M=1:4,A,str;N=hello,M;celldisp(N);A=1 2;3 4;str=Matlab;M=cell(1,3);M1,1=1:4;M1,2=A;M1,3=str;celldisp(M)44细胞变量元素的引用A=1 2;3 4;str=Matlab;M=1:4,A,str;N=hello,M;eye(2),magic(3);N1,1N1,2N1,21,2N1,21,2(2,1)l 细胞变量的引用必须使用大括号。45相关函数celldispl 输出细胞变量的内容。cellplotl 用图形方式显示细胞变量的内容。iscelll 判别一个变量是否为细胞变量。46问题提问与解答问答HERE COMES THE QUESTION AND ANSWER SESSION47添加标题添加标题添加标题添加标题此处结束语点击此处添加段落文本.您的内容打在这里,或通过复制您的文本后在此框中选择粘贴并选择只保留文字48谢谢您的观看与聆听Thankyouforwatchingandlistening49
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学培训


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

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


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