【matlab】数据类型一(整型、浮点、逻辑、字符)

2024-09-05 00:48

本文主要是介绍【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自动生成一个字符变量,如:

>> s='this is a test';
>> whos sName      Size            Bytes  Class    Attributess         1x14               28  char 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5

注意,空格也算进字符串的长度。用函数ischar判断变量是否为字符串类型,若是则输出1,否则输出0.

创建二维字符数组:使用char函数解决多个字符串长度不等的问题:

>> name=['stephen';'senior']
错误使用 vertcat
串联的矩阵的维度不一致。>> name=char('stephen','senior')name =stephen
senior 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

使用deblank函数消除字符串中多余的空格及其占用的内存:

>> s1=name(2,:)s1 =senior >> s2=deblank(name(2,:))s2 =senior
>> whos s1Name      Size            Bytes  Class    Attributess1        1x7                14  char               >> whos s2Name      Size            Bytes  Class    Attributess2        1x6                12  char        
  • 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函数:

a=strcat('apple','pear','banana')a =applepearbanana
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

垂直连接多个字符串:strvcat和char的区别:主要在于空字符的显示区别,strvcat会忽略空字符,而char不会忽略空字符:

>> a=strvcat('ab','cd','','efg')a =ab 
cd 
efg>>  b=char('ab','cd','','efg')b =ab 
cd efg
>> whos aName      Size            Bytes  Class    Attributesa         3x3                18  char               >> whos bName      Size            Bytes  Class    Attributesb         4x3                24  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个字符是否相同,忽略字母大小写

>> s1='hello';
>> s2='Hello';
>> s3='help';
>> strcmp(s1,s2)ans =0>> strcmpi(s1,s2)ans =1>> strncmp(s1,s2,3)ans =0>> strncmpi(s1,s2,3)ans =1
  • 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

二、比较字符串中对应字符是否相同

>> a='call';
>> b='tool';
>> s=a==bs =0     0     0     1
  • 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:返回目标字符所在的开始位置

>> test='this is a test';
>> findstr(test,'is')ans =3     6
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

2.函数strmatch:针对二维字符数组,返回以目标字符开头的字符串所在的行

>> s=strvcat('max value','min value','max digit');
>> strmatch('max',s)ans =13
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

3.函数strrep:使用特定的字符替换目标字符并生成新字符串 
strrep(str,’srch’,’rep’):str是被查找的字符串,srch是要查找的字符,rep是替换字符

>> test='this is a test';
>> b=strrep(test,'test','pest')b =this is a pest
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

五、字符大小写的转换:函数upper和lower

>> upper('this')ans =THIS
>> lower('THIS')ans =this
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

六、去掉字符串中多余的空格: 
函数deblank:去掉字符串尾部的空格 
函数strtrim:去掉字符串开头和尾部的空格(占用更小内存) 
七、把数值数组转换成输入形态字符串数组:mat2str

>> a=[1 2 3;4 5 6];
>> b=mat2str(a)b =[1 2 3;4 5 6]
>> class(a)ans =double
>> class(b)ans =char
  • 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】数据类型一(整型、浮点、逻辑、字符)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/1137505

相关文章

C语言中的数据类型强制转换

《C语言中的数据类型强制转换》:本文主要介绍C语言中的数据类型强制转换方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录C语言数据类型强制转换自动转换强制转换类型总结C语言数据类型强制转换强制类型转换:是通过类型转换运算来实现的,主要的数据类型转换分为自动转换

Redis中的常用的五种数据类型详解

《Redis中的常用的五种数据类型详解》:本文主要介绍Redis中的常用的五种数据类型详解,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Redis常用的五种数据类型一、字符串(String)简介常用命令应用场景二、哈希(Hash)简介常用命令应用场景三、列表(L

最新Spring Security实战教程之表单登录定制到处理逻辑的深度改造(最新推荐)

《最新SpringSecurity实战教程之表单登录定制到处理逻辑的深度改造(最新推荐)》本章节介绍了如何通过SpringSecurity实现从配置自定义登录页面、表单登录处理逻辑的配置,并简单模拟... 目录前言改造准备开始登录页改造自定义用户名密码登陆成功失败跳转问题自定义登出前后端分离适配方案结语前言

C语言字符函数和字符串函数示例详解

《C语言字符函数和字符串函数示例详解》本文详细介绍了C语言中字符分类函数、字符转换函数及字符串操作函数的使用方法,并通过示例代码展示了如何实现这些功能,通过这些内容,读者可以深入理解并掌握C语言中的字... 目录一、字符分类函数二、字符转换函数三、strlen的使用和模拟实现3.1strlen函数3.2st

python多种数据类型输出为Excel文件

《python多种数据类型输出为Excel文件》本文主要介绍了将Python中的列表、元组、字典和集合等数据类型输出到Excel文件中,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参... 目录一.列表List二.字典dict三.集合set四.元组tuplepython中的列表、元组、字典

Java逻辑运算符之&&、|| 与&、 |的区别及应用

《Java逻辑运算符之&&、||与&、|的区别及应用》:本文主要介绍Java逻辑运算符之&&、||与&、|的区别及应用的相关资料,分别是&&、||与&、|,并探讨了它们在不同应用场景中... 目录前言一、基本概念与运算符介绍二、短路与与非短路与:&& 与 & 的区别1. &&:短路与(AND)2. &:非短

C# string转unicode字符的实现

《C#string转unicode字符的实现》本文主要介绍了C#string转unicode字符的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随... 目录1. 获取字符串中每个字符的 Unicode 值示例代码:输出:2. 将 Unicode 值格式化

Java 字符数组转字符串的常用方法

《Java字符数组转字符串的常用方法》文章总结了在Java中将字符数组转换为字符串的几种常用方法,包括使用String构造函数、String.valueOf()方法、StringBuilder以及A... 目录1. 使用String构造函数1.1 基本转换方法1.2 注意事项2. 使用String.valu

Rust 数据类型详解

《Rust数据类型详解》本文介绍了Rust编程语言中的标量类型和复合类型,标量类型包括整数、浮点数、布尔和字符,而复合类型则包括元组和数组,标量类型用于表示单个值,具有不同的表示和范围,本文介绍的非... 目录一、标量类型(Scalar Types)1. 整数类型(Integer Types)1.1 整数字

Go语言使用Buffer实现高性能处理字节和字符

《Go语言使用Buffer实现高性能处理字节和字符》在Go中,bytes.Buffer是一个非常高效的类型,用于处理字节数据的读写操作,本文将详细介绍一下如何使用Buffer实现高性能处理字节和... 目录1. bytes.Buffer 的基本用法1.1. 创建和初始化 Buffer1.2. 使用 Writ