String 如何使用MATLAB'格式化输出;s num2str
我试图在MATLAB中将一个数字数组作为字符串输出。我知道这很容易用逗号来完成,但我希望逗号后面有一个空格来分隔数字,而不是制表符。数组元素的分辨率最多为十分之一,但大多数是整数。有没有一种方法可以格式化输出,从而去掉不必要的尾随零?以下是我设法总结的内容:String 如何使用MATLAB'格式化输出;s num2str,string,matlab,string-formatting,String,Matlab,String Formatting,我试图在MATLAB中将一个数字数组作为字符串输出。我知道这很容易用逗号来完成,但我希望逗号后面有一个空格来分隔数字,而不是制表符。数组元素的分辨率最多为十分之一,但大多数是整数。有没有一种方法可以格式化输出,从而去掉不必要的尾随零?以下是我设法总结的内容: data=[2,3,5.5,4]; datastring=num2str(data,'%.1f, '); datastring=['[',datastring(1:end-1),']'] 它给出了输出: [2.0, 3.0, 5.5, 4
data=[2,3,5.5,4];
datastring=num2str(data,'%.1f, ');
datastring=['[',datastring(1:end-1),']']
它给出了输出:
[2.0, 3.0, 5.5, 4.0]
而不是:
[2, 3, 5.5, 4]
有什么建议吗
编辑:我刚刚意识到我可以通过调用
datastring=strrep(datastring,'.0','')
但这似乎比我一直在做的事情更麻烦。而不是:
尝试:
输出:[2,3,5.5,4]
或:
输出:[2,3,5.5,4]
另一个选项使用:
2
是精度的位数。注意精度的位数也会减少小数。例如mat2str(123,2)
返回1.2e+002
。
datastring=num2str(data,'%.1f, ');
datastring=num2str(data,'%g, ');
datastring=sprintf('%g,',data);
» datastring = strrep(mat2str(data,2),' ',',')
datastring =
[2,3,5.5,4]