数据和字符串类型转换
在 MATLAB 中,支持不同数据类型与字符串类型之间的转换,这需要使用不同的函数来实现。此外,相同的数据,特别是整数,可以用多种格式表示,例如十进制、二进制或十六进制。在 C 语言中,printf 函数通过相应的格式字符串来输出不同格式的数据;而在 MATLAB 中,则直接提供了相应的函数来完成数制转换。表 1 和表 2 分别列出了这些函数。
函数 | 说明 |
---|---|
num2str | 将数字转换为字符串 |
str2num | 将字符串转换为数字 |
int2str | 将整数转换为字符串 |
mat2str | 将矩阵转换为eval函数可以使用的字符串 |
str2double | 将字符串转换为双精度类型的数据 |
Sprintf | 格式化输出数据到命令行窗口 |
Sscanf | 读取格式化字符串 |
函数 | 说明 |
---|---|
hex2num | 将十六进制整数字符串转换为双精度数据 |
hex2dec | 将十六进制整数字符串转换为十进制数据 |
dec2hex | 将十进制数据转换为十六进制整数字符串 |
bin2dec | 将二进制整数字符串转换为十进制整数 |
dec2bin | 将十进制整数转换为二进制整数字符串 |
base2dec | 将指定数制类型的数字字符串转换为十进制整数 |
dec2base | 将十进制整数转换为指定数制类型的数字字符串 |
在表 1 中列出的数字与字符串之间的转换函数中,常用的有 num2str
和 str2num
。
【例1】 num2str 和 str2num函数用法实例。
clc;clear;close
a = ['1 2'; '3 4']
b = str2num(a)
c = str2num('1+2i')
d = str2num('1 +2i')
e = num2str(rand(3,3),6)
whos
运行结果:
简单示例,详细信息可以查阅MATLAB的help文档。
END
2024年9月8日