matlab的数据类型2

mac2024-04-19  6

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接: https://blog.csdn.net/qq_33254870/article/details/82689907

MATLAB基本数值类型有整型与浮点型,此外,还有字符型、逻辑型、函数句柄、Java对象等类型,与数组有关的类型有结构体和细胞数组。

1. 整型

整型从字节数、有无符号两个方面可以分为int8、uint8、int16、uint16、int32、uint32、int64、uint64。整型数之间的运算是封闭的,整型数相除,结果四舍五入为新的整型数。不同细分类型的整型数之间不能直接运算。

2. 浮点型

浮点数包括单精度浮点数(single)与双精度浮点数(double)。realmax('double')和realmax('single')分别返回两者能表示的最大值。

3. 字符型

字符在MATLAB中用一对单引号分隔,字符串存储为字符数组。如s=‘I Love MATLAB’,s即为1行13列的字符向量。多个字符串可以形成矩阵,但每个字符串长度必须相等,否则系统将会报错。解决方法是认为加入空格,使矩阵的各行对齐,如a=['MATLAB';'C++   '],也可以使用char函数:a=char('MATLAB', 'C++')。

字符串常用函数:

1)strfind(s1, s2):在s1中寻找s2,返回s2第一个字符所在的位置索引;

2)strcat(s1, s2,……,sn):连接各字符串;

3)strcmp(s1, s2):按字典顺序比较两个字符串;

4)strncmp(s1, s2, n):比较字符串中的前n个字符;

5)strrep(s1, s2, s3):s1中的s2部分用s3替换。

4. 逻辑型

逻辑型变量只能取true(1)或false(0),在访问矩阵元素时可以使用逻辑型变量,取出符合某种条件的元素。

5. 函数句柄

函数句柄可以方便函数名称的管理,也可以加快程序运行的速度。注:使用函数句柄为什么可以提高运行速度?提示:无需重新搜索一遍路径。

函数句柄中包含函数的路径、函数名、类型及可能存在的重载方法等信息,可以用functions(function_handle)来显示函数句柄所包含的函数信息。

句柄的声明可以用如下方法:

1)变量名=@函数名;

2)变量名=str2func('函数名');

3)声明匿名函数句柄:变量名=@(输入参数列表)函数表达式。

这里使用的函数可以是预定义函数,也可以是用户自定义的函数。声明函数句柄以后,就可以像使用函数名一样使用该函数句柄了,如声明h=@sin,就可以使用h(pi)代替sin(pi)。

函数句柄中的函数可以是自定义函数。举个栗子:

匿名句柄的栗子:

6. Java对象

Java对象用在MATLAB中使用Java语言。查看当前Java虚拟机(JVM)版本:

7. 结构体与细胞数组

普通的矩阵只能包含同一种数据类型的数据,且矩阵的行、列必须对齐。结构体包含若干字段,字段的值可以是任意数据类型和任意维度的变量,也可以是另一个结构数组。细胞数组的元素也可以是任意数据类型和任意维度的数据。与矩阵不同,细胞数组引用元素时使用“{}”操作符,此时得到的数据的类型是元素本身的类型,而使用“[]”操作符引用元素时,得到的是一个小一些的细胞数组。细胞数组的内存空间是动态分配的,因此更加灵活,但运行效率欠佳。

创建细胞数组:

创建结构体:

 

最新回复(0)