matlab中的num2str,mat2str, int2str, str2num, sprintf, fprintf

it2024-12-07  13

1.num2str 函数功能: 把数值转换成字符串, 转换后可以使用fprintf或disp函数进行输出。在matlab命令窗口中键入doc num2str或help num2str即可获得该函数的帮助信息。    语法格式:   str = num2str(A)   把数组A中的数转换成字符串表示形式。   str = num2str(A, precision)   把数组A转换成字符串形式表示,precision表示精度, 比如precision为3表示保留最多3位有效数字, 例如0.5345转换后为0.534,1.2345转换后为1.23。即从左边第一个不为0的数开始保留3个数值。   str = num2str(A, format)   按format指定格式进行格式化转换,通常’%11.4g’是默认的。 eg: string=[(’ the area of circle is ',num2str(area)];

2.mat2str 函数功能:将矩阵转换为字符。

语法 chr = mat2str(X) chr = mat2str(X,n) chr = mat2str(_,‘class’)

说明 chr = mat2str(X) 将数值矩阵 X 转换为表示矩阵的字符向量,精度最多 15 位。可以使用 chr 作为 eval 函数的输入。例如,A = eval(chr) 按 chr 中指定的精度重新生成原始矩阵中的值。 chr = mat2str(X,n) 使用 n 位精度转换 X。 chr = mat2str(___,‘class’) 在 chr 中包含 X 的类名或数据类型。您可以将此语法与前面语法中的任何参数结合使用。如果使用此语法生成 chr,则 A = eval(chr) 也会重新生成原始矩阵的数据类型。

示例 1.转换矩阵 将数值矩阵转换为字符向量

chr = mat2str([3.85 2.91; 7.74 8.99]) chr = '[3.85 2.91;7.74 8.99]'

可以使用 eval 函数将 chr 转换回数值矩阵。

A = eval(chr) A = 2×2 3.8500 2.9100 7.7400 8.9900

2.指定精度 将数值矩阵转换为字符向量,精度为三位。

chr = mat2str([3.1416 2.7183],3) chr = '[3.14 2.72]'

3.转换整数 创建一个整数数组,然后将其转换为字符向量。默认情况下,mat2str 的输出表示双精度数组。要在输出中表示不同的数值类型,请使用 ‘class’ 输入参数。 创建一个由 16 位无符号整数组成的向量。

X = uint16([256 512]) X = 1x2 uint16 row vector 256 512

3.int2str 函数功能: 把数值转换成字符串, 转换后可以使用fprintf或disp函数进行输出。在matlab命令窗口中键入doc int2str或help int2str即可获得该函数的帮助信息。

语法格式: str = int2str(A) 把数组A中的整型转换成字符串表示形式。 str = int2str(A)将矩阵A中的元素x转换为整型,再把结果转换成一个字符串矩阵, 返回NaN和Inf元素分别作为字符串“不存在数”和“无穷大。还有num2str, sprintf, fprintf, mat2str等等。

最新回复(0)