本文主要是介绍【matlab】数据类型一(整型、浮点、逻辑、字符),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
matlab数据类型主要有:整型、浮点、逻辑、字符、结构数组、单元变量、用户类型、函数句柄。
数据在内存中的存储形式:内存中最小的存储单位是“位(bite)”,又称二进制位,8个二进制位组成一个“字节(byte)”,若干字节组成一个“字(word)”,数据就存放在字中。
注意:只有同类别的数据类型之间才能进行运算,或者与双精度标量数值进行运算。
1.整型(int):整型数据只用来表示整数,以二进制形式存储。代表数值的范围是2^n(n是整型的位数)
包括int8(八位整型,代表数值范围是-128-127);uint8(八位整型,代表数值范围是0-255);int16;uint16;int32;uint32;int64;uint64。使用int8(x)创建八位整型变量,其它类推。
2.浮点:包括single和double,它表示的是带小数的实数.单精度型能精确到7位,占4个字节、32位,而双精度能精确到15位,占8个字节、64位.用户在选用这些数据类型时,要注意变量所取值的范围.并且数值为整数时,为了运算速度,不用把变量硬定义为浮点型。单精度变量与双精度变量的四则运算结果为单精度型(这与其他计算机语言不同,其他计算机语言产生双精度结果)。一般使用双精度变量,只有当数据量巨大时才考虑转换为单精度。
使用single(x)函数生成单精度变量。
3.逻辑(logical)
4.字符(char):字符串中的每个字符占2个字节,当定义一个字符串时,matlab自动生成一个字符变量,如:
- 1
- 2
- 3
- 4
- 5
- 1
- 2
- 3
- 4
- 5
注意,空格也算进字符串的长度。用函数ischar判断变量是否为字符串类型,若是则输出1,否则输出0.
创建二维字符数组:使用char函数解决多个字符串长度不等的问题:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
使用deblank函数消除字符串中多余的空格及其占用的内存:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
横向连接多个字符串:strcat函数:
- 1
- 2
- 3
- 4
- 5
- 6
- 1
- 2
- 3
- 4
- 5
- 6
垂直连接多个字符串:strvcat和char的区别:主要在于空字符的显示区别,strvcat会忽略空字符,而char不会忽略空字符:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
字符串的比较:
一、比较字符串是否相同
(1)strcmp:两个字符是否相同
(2)strcmpi:两个字符是否相同,忽略字母大小写
(3)strncmp:比较两个字符串的前n个字符是否相同
(4)strncmpi:比较两个字符串的前n个字符是否相同,忽略字母大小写
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
二、比较字符串中对应字符是否相同
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 1
- 2
- 3
- 4
- 5
- 6
- 7
还可以进行>、<、>=、<=、~=的比较,实质都是在比较对应字符的ASCII码。
三、对字符串中的字符进行分类:函数isstrprop(替代了isletter和isspace)
isstrprop(‘str’, ‘category’):判断字符是否是制表符、换行符、回车、大小写等,category的位置可以有alpha、alphanum、cntrl、digit、lower、wspace、upper、xdigit,分别判断不同的字符类型。
四、对字符串中的字符进行查找和替换
1.函数findstr:返回目标字符所在的开始位置
- 1
- 2
- 3
- 4
- 5
- 6
- 1
- 2
- 3
- 4
- 5
- 6
2.函数strmatch:针对二维字符数组,返回以目标字符开头的字符串所在的行
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 1
- 2
- 3
- 4
- 5
- 6
- 7
3.函数strrep:使用特定的字符替换目标字符并生成新字符串
strrep(str,’srch’,’rep’):str是被查找的字符串,srch是要查找的字符,rep是替换字符
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 1
- 2
- 3
- 4
- 5
- 6
- 7
五、字符大小写的转换:函数upper和lower
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
六、去掉字符串中多余的空格:
函数deblank:去掉字符串尾部的空格
函数strtrim:去掉字符串开头和尾部的空格(占用更小内存)
七、把数值数组转换成输入形态字符串数组:mat2str
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
八、将字符串转为数值:
函数eval,字符串表达式中可以包含任何函数、变量、符号;
函数str2double,将字符串表达式转换为双精度数值型;
函数sscanf(str,format),可以自定义转换结果的格式,如:‘%d’,’%g’。
九、ischar和isstr:都是判断字符矩阵是不是字符类型的,isstr是老写法,建议使用ischar
这篇关于【matlab】数据类型一(整型、浮点、逻辑、字符)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!