matlab中num2str控制空格数及其他用法

在matlab中用  num2str把矩阵转换为字符串时,默认是在矩阵元素之间加2个空格,对特定数据来讲,2个空格已经改变了字符串的长度,比如,想把矩阵[1,2,3]转换为‘1 2 3’,即转换成的字符串要求各矩阵元素相隔一个空格,如果直接运行  num2str([1,2,3]),结果为:
K>> num2str([1,2,3])
ans =
1  2  3
K>> length( num2str([1,2,3]))
ans =
     7
这种结果表明该函数在矩阵元素之间加了2个空格,如果只需要一个空格,需要输入一个特殊参数:空格+矩阵元素的数据类型,比如上述例子,可以输入“ ”+%d,即  num2str([1,2,3],'% d'),结果为:

K>> num2str([1,2,3],'% d')
ans =
1 2 3
K>> length(num2str([1,2,3],'% d'))
ans =
     5

除此之外,还可以指定数组的有效数字,有效数字不足的,用0,填充,比如

K>>  num2str([1,2,3],'d')
ans =
000100020003

还可以用空格分割上述有效数字的情形:注意:空格符号一定要在“%”之前。
K>> num2str([1,2,3],' d')
ans =
0001 0002 0003

K>> num2str([1.1,2.1,3.1],' M')
ans =
1.100000e+00 2.100000e+00 3.100000e+00

>> num2str([1.1,2.1,3.1],' %0.1f')
ans =
1.1 2.1 3.1

>> num2str([1.1,2.1,3.1],' %0.0f')

ans =

1 2 3

>> 

你可能感兴趣的:(数据隐写分析,图像处理)