数字转化为字符串 MATLAB中有许多的字符串/数字转换函数把数字转化为相应的字符串。我们在这里只看两个函数num2str和int2str。考虑标量x x = 5317; 在默认的情况下,MATLAB把数x作为一个1×1的double数组,它的值为5317。函数int2str(integer to string)所这个标量转化为1×4的字符数组,包含有字符串“5317”。 >> x = 5317; >> y = int2str(x); >> whos Name Size Bytes Class x 1x1 8 double array y 1x4 8 char array Grand total is 5 elements using 16 bytes 函数num2str为输出字符串的格式提供更多的控制。第二个可选择的参数可以对输出字符串的数字个数进行设置或指定一个实际格式。例如 >> p = num2str(pi,7) p = 3.141593 >> p = num2str(pi,'%10.5e') p = 3.14159e+000 函数int2str和num2str对作图标签是非常有用的。
例如,下面的语句用num2str生成图象的标签。
function plotlabel(x,y) plot(x,y) str1 = num2str(min(x)); str2 = num2str(max(x)); out = ['Value of f from ' str1 ' to ' str2]; xlabel(out);
还有一些转换函数,用于把数字值从十进制转化另一种数制,例如二进制或十六进制。 例如函数dec2hex把一个十进制数转化为相应的十六进制字符串。此类的函数还有hex2num,hex2dec,bin2dec,dec2bin,base2dec,你可以通过MATLAB网上帮助来获取这些函数的作用和使用方法。 MATLAB函数mat2str可以把一个数组转化为相应的MATLAB能运算字符串。这个字符串可以是eval函数的输入,函数eval对这个字符串的运算和直接在命令窗口键入效果是一样的。例如,我们定义一个数组如下 >> a = [1 2 3; 4 5 6] a = 1 2 3 4 5 6 函数mat2str运行得到的结果为 >> b = mat2str(a) b = [1 2 3;4 5 6] 最后,MATLAB中有一个专门的函数sprintf等价于函数fprintf,唯一不同的是它的输出是一个字符串。这个函数对字符串的格式化操作的完全支持。 例如, >> str = sprintf('The value of pi = %8.6f',pi) str = The value of pi = 3.141593 在图象中,用这些函数创建复杂的标题或标签将会非常的有用。
|