Matlab中的整数视图格式

时间:2014-07-18 09:04:25

标签: matlab format digit

我有一个matlab代码,其输出将打印为其他程序的输入文本文件。但数字格式在我想要的程序的输入文件中很重要,它应该从0开始,然后是数字。例如,我想将Matlab程序的输出格式从 3.00E + 03格式化为0.30E + 04 。 你们之间的任何人都可以帮助我吗?

很多tanx

1 个答案:

答案 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