1。获得数据类型列表可用命令 doc datatypes
整型数据
2.Matlab默认将所有数值存为双精度浮点数(double型)
,Matlab提供的整型数据有八种类型,分别为(8,16,32,64位)*(有符号数,无符号数)。
3.不同的整型数据之间不能进行运算
。即8位的整型数据不能和32位的整型数据进行运算。
4.整型数据可以和双精度标量进行数值运算,结果为整数
,在运算过程中保持浮点运算精度,最后将结果转换为整型(按四舍五入转换)。但整型数据不能与非双精度数组进行运算。
5.整型数据溢出后保持该整型数据类型的最值
,上溢保持最大值,下溢保持最小值。
6.四种取整函数 ceil, fix, floor, round(上,中,下,四舍五入)。
7.mod 是求模数,rem是求余数
,调用格式为mod(x,y)和rem(x,y)。两者虽然在很多数值计算上有很多相同,但是两者的本质概念是不一样的
,所以两者在一些小地方出现差异。
a.y = 0时,mod(x,y)=x, rem(x,y)=NaN
b.当y!=0且x!=y时,mod(x,y)和y是同号的,而rem(x,y)和x是同号的。
浮点型数据
8.浮点型数据包括单精度(single 32 阶码8位)和双精度(double 64 阶码11位),默认为double格式
,两种格式之间可以进行强制转换
。
9.浮点型数据操作函数:isfloat, double, single, eps, format, realmax, realmin
10.eps
eps(a)是|a|
与大于|a|的最小的浮点数
之间的距离
,距离越小表示精度越高
。默认a=1。eps=eps(1),是1的精度。也就是说matlab无法表示介于1和1+eps之间的数,这些数将被四舍五入到1或1+eps。
我们知道浮点数其实是离散的,有限的,而且间隔是不均匀的。我们可以说一个数旁边的数是什么,而它们之间的距离就反应了其精度。越靠近0,数和数之间就越密集,精度就越高。
对浮点数而言,越靠近0,精度就越高。因此2的精度就比1的精度要低。`0的精度是最高的,也就是说eps(0)才是matlab所能表示的最小的正数
。搜索它和eps相比相差了300多个数量级,eps和它相比大的简直是个天文数字。
复数
11.复数是Matlab的基本运算单位
,i是基本虚数单位,在Matlab中也可以用j表示基本虚数单位
。
12.在Matlab中构造复数的方法主要有两种:直接生成和用函数complex生成。
利用直接生成法不能生成虚部为0的复数,要生成虚部为0的复数只能采用complex函数生成。
13.复数的函数:isreal, real, imag, abs, angle, conj。
字符串
14.Matlab中,每个字符都用ASCII码存储表示,采用16位的Unicode编码,占用两个字节的内存。多个字符串可以构成字符串数组,但每一个字符串的长度都必须相同,不同用空格补足。
15.Matlab主要提供了三种方法来创建字符串。
a.直接在一对单引号内输入需要的内容
,单引号必须在英文状态下输入。当所要创建的字符串中包含英文状态下的单引号时,则每个单引号符要用“连续的2个单引号符”表示。
b.利用char函数
,无需考虑字符串长度不一致的问题,char函数会自动补足。
c.利用字符数组生成字符串
16.sprintf 生成格式化字符串。
元胞数组
17.元胞数组能够将不同类型的数据保存在同一矩阵中
(暂称为广义矩阵)。元胞数组由一系列元胞
构成的。每个元胞作为一个独立的存储单元存储数据,它们可以存放不同类型的数据。这给用户的编程提供了很大的方便性和灵活性。
18.元胞数组的两种创建方法:
a.用赋值语句直接定义
b.先由cell函数预先分配存储空间,然后为元胞的每个元素逐一赋值。
19.用户可以采用“()”和“{}”两种方式来访问元胞数组中元素,两种方法返回的结果是不同。
C(m,n)返回的是元胞数组C中在(m,n)位置上的元胞
,不能修改
元胞的值;而C{m,n}返回的是元胞数组C在(m,n)位置上的元胞中的数据
,可以修改
元胞的值。
20.元胞数组相关操作函数:iscell, celldisp, cellstr, cellplot
21.cellplot 显示元胞数组的图形描述
。根据数据类型填充颜色,数据类型分别为双精度浮点型(红),字符型(橙),稀疏矩阵(黄),结构数组(绿色),其他(蓝色)
结构数组
22.结构数组的创建方法有两种:
a.使用(.)运算符创建,
b.利用struct函数创建结构体数组
可以利用以上方法创建高维结构数组
23.结构数组函数:isstruct, deal, isfield, getfield, setfield, rmfield, orderfields, fieldnames
结构体和元胞之间可以相互转换
函数句柄
24.函数句柄是一种特殊的数据类型,它提供了间接调用函数的方法,类似于C语言的函数指针
。
函数句柄包含了函数的路径,函数名,类型及可能存在的重载方法,必须通过专门的定义创建
语法格式为fhandle = @functionname
functionname是函数名或M文件名,fhandle是函数句柄
25.通过函数functions来获取函数句柄的信息。
不同数据类型之间的转换
26.str2double将字符串(是一个数的字符串
,式子不可以)转换为一个数(标量),str2num将字符串数组转换为矩阵。