Matlab---数据类型

本文详细介绍了MATLAB中的数据类型,包括整型、浮点型、复数、字符串、元胞数组和结构数组,并阐述了每种类型的特点、操作函数以及不同数据类型之间的转换方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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将字符串数组转换为矩阵。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值