matlab中不同数据类型的转换(代码)

字符串与字符数组转换

MATLAB中字符串(string类型)和字符数组(char类型)的处理有所不同,但也可以互相转换。

string - 创建一个字符串数组

str = string('Hello, World!');

char - 转换为字符数组(从R2016b开始,char函数也用于将数值转换为字符表示)

strArray = ['Hello', ' ', 'World!']; % 字符数组  
str = char(strArray); % 在这种情况下是多余的,因为strArray已经是字符数组  
numChar = char(65); % 将ASCII码转换为对应字符

string(charArray) - 将字符数组转换为字符串数组

charArray = ['Hello', ' ', 'World!'];  
str = string(charArray);

逻辑与数值转换

logical - 将数值转换为逻辑值(非零为true,零为false

A = [0, 1, 2, 3];  
B = logical(A); % [0, 1, 1, 1]

doublesingle - 将逻辑值转换为数值(true为1,false为0)

L = logical([0, 1, 1, 0]);  
D = double(L); % [0, 1, 1, 0]

类别型(Categorical)

MATLAB中的类别型数据是一种特殊的数据类型,用于存储字符串数组中的唯一值。

categorical - 创建一个类别数组

C = categorical({'apple', 'banana', 'apple'});

stringcell - 将类别数组转换为字符串数组或单元数组

C = categorical({'apple', 'banana'});  
S = string(C); % 转换为字符串数组  
Cell = cell(C); % 转换为单元数组

数值类型转换

double - 将数组转换为双精度浮点数

A = uint8([1, 2, 3]);  
B = double(A); % 将uint8转换为double

single - 将数组转换为单精度浮点数

A = double([1, 2, 3]);  
B = single(A); % 将double转换为single

int8int16int32int64 - 转换为有符号整数

A = 12345;  
B = int32(A); % 将数值转换为32位有符号整数

uint8uint16uint32uint64 - 转换为无符号整数

A = 255;  
B = uint8(A); % 将数值转换为8位无符号整数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值