我有一个matlab代码,其输出将打印为其他程序的输入文本文件。但数字格式在我想要的程序的输入文件中很重要,它应该从0开始,然后是数字。例如,我想将Matlab程序的输出格式从 3.00E + 03格式化为0.30E + 04 。 你们之间的任何人都可以帮助我吗?
很多tanx
答案 0 :(得分:1)
请查看fprintf的参考资料。您可以在格式说明符中找到它:
http://www.mathworks.nl/help/matlab/ref/fprintf.html
您可能无法在MATLAB中使用您想要的格式,因此您可以创建自己的格式!
首先使用log 10获取功率(假设): 假设数字为X.
% Number to convert
X = 3867;
% Number of decimals after comma
n = 2;
% Calculation of the power to print
power = floor(log10(X))+1;
% Calculation of the decimals (correctly rounded)
decimals = round(X/10^(power-n));
% The format of fprintf. 0. is static, %d represents the printed decimals, %+0.3d represents the power. + denoting the sign, 0. denoting padding with zeros, 3 denoting the number of characters printed (if less characters in the power padded with zeros).
fprintf('0.%dE%+0.3d',decimals,power)
亲切的问候,
Ernst Jan