Matlab-LEC2-Matlab数据类型课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《Matlab-LEC2-Matlab数据类型课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Matlab LEC2 数据类型 课件
- 资源描述:
-
1、MATLAB MATLAB 应用应用主讲:苏菡主讲:苏菡第2章 数据类型 常数和变量 数组和矩阵 字符串 多维数组 结构 单元数组 函数句柄常数常数常数返回值返回值ans默认变量名,保存最近的结果。如果不给表达式指定一个输出变量,默认变量名,保存最近的结果。如果不给表达式指定一个输出变量,MATLAB会自动将结果保存到会自动将结果保存到ans变量中变量中 eps浮点相对精度。是浮点相对精度。是MATLAB用于计算的容限用于计算的容限 realmax计算机可以表示的最大浮点数计算机可以表示的最大浮点数 realmin计算机可以表示的最小浮点数计算机可以表示的最小浮点数 pi圆周率圆周率 i,j虚
2、数单位虚数单位 inf无限值。类似无限值。类似n/0的表达式生成的结果为的表达式生成的结果为inf,其中,其中n为非为非0实数实数 NaN表示不合法的数值值,非数值。类似表示不合法的数值值,非数值。类似0/0和和inf/inf的表达式生成的的表达式生成的结果,与结果,与NaN有关的算术运算结果,以及有关的算术运算结果,以及n/0,n为复数时的计算结为复数时的计算结果都是果都是NaN computer计算机类型计算机类型 versionMATLAB版本字符串版本字符串 下表列出了MATLAB提供的一些内部函数。变量变量v变量名 MATLAB变量名的第变量名的第1个字符必须是字母,后面个字符必须是
3、字母,后面可以跟字母、数字和下划线的任何组合可以跟字母、数字和下划线的任何组合。注意:注意:MATLABMATLAB中变量名有大小写区分,所以中变量名有大小写区分,所以A A和和a a是不同的变量是不同的变量。v创建变量 在MATLAB中创建变量很简单,不必声明变量不必声明变量的数据类型。例如在命令窗口键入下面的命令行就可以创建一个A变量。A=9 A=9 预留关键字不允许重载预留关键字不允许重载用变量给变量赋值,等式右边变量必须有值用变量给变量赋值,等式右边变量必须有值Isvarname ddd 判断合法性判断合法性v变量的数据类型数 组逻辑型字符型数值型单元数组结构数组函数句柄Java类定制
4、类int8,uint8int16,uint16int32,uint32SingleDoubleFormat设置变量的输出格式A=1 Format long A ;format long pi single(pi)Format hex bank +数组和矩阵 MATLAB中,所有数据都用数组或矩阵形式进行保存。数组、矩阵属于数据结构而非数据类型。v 数组v 矩阵数组构造数组的方法:v直接构造法v增量法vlinspace函数法直接构造数组 在MATLAB中构造数组,只需要用空格或逗号间隔数组元素,然后用方括号括起来就行了。如 x=0 2 3 6 7 8 或 x=0,2,3,6,7,8就构造了一个有
5、6个元素的数组x。用增量法构造数组 利用MATLAB提供的冒号运算符(first:step:last)可以生成数组。数组中的元素按顺序从first一直到last,增量为step。v如果不指定增量step,则按升序生成数组,后面的数比它前面第一个数大1。v如果要求生成降序排列的数组,指定一个负的增量。v增量可以是整数,也可以是小数。vfirst:step:last)等间隔vA=1:2:20vB=-7:0.2:-3vC=9:1:0用linspace函数构造数组 用linspace函数构造数组,需要指定首尾值和元素总个数。基本形式是:x=linspace(first,last,num)其中,firs
6、t,last和num分别为x数组的首尾元素和首尾元素和元素个数元素个数。如 x=linspace(0,10,5)x=0 2.5000 5.0000 7.5000 10.0000 矩阵矩阵构造矩阵的方法:构造矩阵的方法:v简单的创建方法简单的创建方法v构造特殊矩阵构造特殊矩阵v聚合矩阵聚合矩阵v组合不同类型的数据组合不同类型的数据用简单方法构造矩阵 MATLAB中创建矩阵最简单的方法是使用符号。在方括号内输入多个元素可以创建矩阵的一个行。用逗号或空格把用逗号或空格把每个元素间隔开。如果想开始一个新行,每个元素间隔开。如果想开始一个新行,用分号终止当前行用分号终止当前行:A=row1;row2;.
7、;rown 下面创建一个3行5列的数值矩阵。A=12 62 93-8 22;16 2 87 43 91;-4 17-72 95 6 A=12 62 93 -8 22 16 2 87 43 91 -4 17 -72 95 6构造特殊矩阵 MATLAB提供了多个创建不同矩阵的函数,如下表所示。函 数功 能ones创建一个所有元素都为1的矩阵 zeros创建一个所有元素都为0的矩阵 eye创建对角线元素为1,其他元素为0的矩阵 accumarray将输入矩阵的元素分配到输出矩阵中的指定位置 diag根据矢量创建对角矩阵 magic创建一个方形矩阵,其中行、列和对角线上元素的和相等 rand创建一个矩
8、阵或数组,其中的元素为服从均匀分布的随机数 randn创建一个矩阵或数组,其中的元素为服从正态分布的随机数 randperm创建一个矢量(1n的矩阵)聚合矩阵聚合矩阵 矩阵聚合是通过连接一个或多个矩阵来形成新的矩阵。符矩阵聚合是通过连接一个或多个矩阵来形成新的矩阵。符号号 不仅是矩阵构造符,它还是不仅是矩阵构造符,它还是MATLAB聚合运算符。聚合运算符。表达式表达式C=A B在水平方向上聚合矩阵在水平方向上聚合矩阵A和和B,表达式,表达式C=A;B在垂向上聚合它们。在垂向上聚合它们。本例通过在垂向上聚合矩阵本例通过在垂向上聚合矩阵A和和B来构造新矩阵来构造新矩阵C:A=ones(2,5)*6
9、;%25的矩阵,元素为的矩阵,元素为6 B=rand(3,5);%35的矩阵,元素为随机数的矩阵,元素为随机数 C=A;B%垂向聚合垂向聚合A和和B 组合不同类型的数据 构造矩阵时,如果矩阵的数据类型不同,则MATLAB会自动对某些元素进行类型转换会自动对某些元素进行类型转换,然后生成的矩阵具有相同的类型。用一个高精度的矩阵和一个低精度的矩阵构造新矩阵时,新矩阵是低精度型的。例如,聚合double型和single型的矩阵时,总是生成single型的矩阵。MATLAB会先将double型元素转换为single型。空矩阵被忽略A=5.36;7.01;9.44vA=v 5.3600000000000
10、0v 7.01000000000000v 9.44000000000000vX=single(4.6)single(-2)pi 5.73*1020vClass(x)vP16聚合矩阵的特殊函数下表列出了聚合矩阵的一些特殊函数。函 数描 述cat沿指定的维聚合矩阵 cat(dim,A,B)horzcat 水平聚合矩阵 horzcat(A,B)vertcat垂向聚合矩阵 repmat通过复制和叠置矩阵来创建新矩阵 repmat(M,v,h)M行上重复 v次,列重复 hblkdiag用已有矩阵创建块对角矩阵 C=A BC=A;B默认水平方向聚合,要求每个子矩阵具有相同的行数;垂直聚合要默认水平方向聚合
11、,要求每个子矩阵具有相同的行数;垂直聚合要求子矩阵列数相同求子矩阵列数相同X=blkdiag(A,B,C,.)A=magic(5);B=ones(3);C=zeros(2);x=blkdiag(A,B,C)获取矩阵的元素v使用编号索引v使用线性索引v使用冒号v使用end关键字使用编号索引获取矩阵的元素 利用编号和索引,可以获取MATLAB矩阵的元素。要引用矩阵中的特殊元素,用下面的语法指定它的行号和列号,其中A是矩阵变量。按先行后列的顺序指定。A(row,column)使用线性索引获取矩阵的元素 MATLAB保存矩阵中的数据时是作为一个元素列保存作为一个元素列保存。这个元素列又是由矩阵中的所有
12、列组成的,后一列元素按先后顺序添加到前一列元素的最后。所以,矩阵A A=2 6 9;4 2 8;3 0 1 A=2 6 9 4 2 8 3 5 1 在内存中是按下面的序列保存的:2,4,3,6,2,5,9,8,1 矩阵A第3行第2列的元素可以看作实际保存序列中的第6个元素。要获取这个元素,可以使用标准语法A(3,2)或使用A(6)。使用冒号获取矩阵的元素 利用冒号本身可以引用矩阵某行或列的所有元素。使用下面的语法,可以计算44的魔方矩阵A中所有元素的和。sum(A(:,2)ans=34 将冒号进行索引,可以引用整个矩阵中的所有元素。本例显示矩阵A中的所有元素,按列序返回按列序返回它们:A(:)
展开阅读全文