matlab 数字转化为文字,将数值转换为文本 - MATLAB & Simulink - MathWorks 中国
转换为字符串在 R2016b 之前,使用num2str转换为字符向量。要将数字转换为表示该数字的字符串,请使用 string 函数。str = string(pi)str ="3.1416"string 函数将数值数组转换为大小相同的字符串数组。A = [256 pi 8.9e-3];str = string(A)str = 1x3 string"256""3.141593""0....
转换为字符串
在 R2016b 之前,使用num2str转换为字符向量。
要将数字转换为表示该数字的字符串,请使用 string 函数。
str = string(pi)
str =
"3.1416"
string 函数将数值数组转换为大小相同的字符串数组。
A = [256 pi 8.9e-3];
str = string(A)
str = 1x3 string
"256" "3.141593" "0.0089"
您可以使用 compose 函数指定输出文本的格式,该函数接受精度、字段宽度和指数记数法的格式设定符。
str = compose("%9.7f",pi)
str =
"3.1415927"
如果输入是数值数组,则 compose 返回字符串数组。返回用指数记数法表示数字的字符串数组。
A = [256 pi 8.9e-3];
str = compose("%5.2e",A)
str = 1x3 string
"2.56e+02" "3.14e+00" "8.90e-03"
将数值添加到字符串
在 R2016b 之前,将数字转换为字符向量,并用括号[]将字符串联起来。
组合文本和数值的最简单方法是使用 plus 运算符 (+)。当其他操作数为字符串时,此运算符自动将数值转换为字符串。
例如,绘制一个正弦波。计算该波的频率,并在绘图的标题中添加表示该值的字符串。
X = linspace(0,2*pi);
Y = sin(X);
plot(X,Y)
freq = 1/(2*pi);
str = "Sine Wave, Frequency = " + freq + " Hz"
str =
"Sine Wave, Frequency = 0.15915 Hz"
title(str)

有时现有文本存储在字符向量或字符向量元胞数组中。但是,当另一项操作数是字符串时,plus 运算符还会自动将这些类型的数据转换为字符串。要将数值与这些类型的数据进行组合,需要先将数值转换为字符串,然后使用 plus 组合文本。
str = 'Sine Wave, Frequency = ' + string(freq) + {' Hz'}
str =
"Sine Wave, Frequency = 0.15915 Hz"
字符代码
如果您的数据包含表示 Unicode® 值的整数,请使用 char 函数将这些值转换为对应的字符。输出是字符向量或数组。
u = [77 65 84 76 65 66];
c = char(u)
c =
'MATLAB'
转换 Unicode 值还允许您在文本中包含特殊字符。例如,度符号的 Unicode 值是 176。要将 char(176) 添加到字符串,请使用 plus。
deg = char(176);
temp = 21;
str = "Temperature: " + temp + deg + "C"
str =
"Temperature: 21°C"
在 R2016b 之前,使用num2str将数值转换为字符向量,然后串联。
str = ['Temperature: ' num2str(temp) deg 'C']
str =
'Temperature: 21°C'
十六进制和二进制值
自 R2019b 开始提供
您可以使用文本或字面值在代码中表示十六进制和二进制值。推荐的表示方法是将它们写为字面值。您可以分别使用 0x 和 0b 前缀来编写十六进制和二进制字面值。但是,使用 dec2hex 或 dec2bin 函数将这些值表示为文本有时会很有用。
例如,在二进制值中设置一个位。如果您使用字面值指定二进制值,则它将存储为整数。设置其中一个位后,可使用 dec2bin 函数将新的二进制值显示为文本。
register = 0b10010110
register = uint8
150
register = bitset(register,5,0)
register = uint8
134
binStr = dec2bin(register)
binStr =
'10000110'
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)