作者shomingchang ( )
看板MATLAB
标题[讨论] fprintf 科学记号表示法格式问题
时间Fri Nov 25 19:06:16 2011
假设有个矩阵
6.2875e-002 2.2273e-001 7.7298e-001 1.0721e+000 1.1151e+000
8.6352e-003 3.5826e-003 7.3071e-003 7.9677e-003 8.0385e-003
8.6269e-003 2.4358e-003 4.8011e-003 5.2597e-003 5.3086e-003
8.6189e-003 1.8366e-003 3.0859e-003 3.4084e-003 3.4426e-003
有个函数
function Output_Matrtix_As_Latex_Table_Form(A,filename,mode)
format short e;
fid = fopen(filename,mode);
s=size(A);
rows=s(1);
cols=s(2);
for i=1:rows
for j=1:cols-1
fprintf(fid,'%e & ',A(i,j));
end;
fprintf(fid,'%e\\\\ \n',A(i,cols));
end;
fclose(fid);
但是执行後结果变成
6.287500e-002 & 2.227300e-001 & 7.729800e-001 & 1.072100e+000 &
1.115100e+000\\ 8.635200e-003 & 3.582600e-003 & 7.307100e-003 &
7.967700e-003 & 8.038500e-003\\ 8.626900e-003 & 2.435800e-003 &
4.801100e-003 & 5.259700e-003 & 5.308600e-003\\ 8.618900e-003 &
1.836600e-003 & 3.085900e-003 & 3.408400e-003 & 3.442600e-003\\
比原来多两位要怎麽修正?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 122.118.2.11
1F:→ Raymond0710:%e >>> %.4e 11/25 19:50