编程论坛's Archiver

chf710 发表于 2007-6-28 20:42

[求助]怎样才能不使用科学计数法来表示输出的矩阵

    用下面这个程序读入文本文件中的数据并付给矩阵B,可是在输出的矩阵B由于用科学计数法表示,小数部分被四舍五入,丢失了几位,请问怎样做才能在输出时不使用科学计数法。我试过用vpa()来指定有效数字的位数,结果变成了4个行向量,而不是矩阵的形式。原数据是7位有效数字,小数部分有3位。<BR><BR>
<DIV class=htmlcode>%读文本文件<BR>[wenjian_ming,lujing_ming] = uigetfile('*.txt');<BR>fid_1=fopen(strcat(lujing_ming,wenjian_ming),'rt');<BR>[A,yuansu_geshu]=fscanf(fid_1,'%f',[4,4]);<BR>B=A';<BR>%关闭文件<BR>fclose(fid_1);</DIV>
<P>输出结果如下:<BR>B =<BR>    1.0e+003 *<BR>         0    3.8662    2.1989    0.1411<BR>    0.0010    3.7411    2.2085    0.1413<BR>    0.0020    3.8662    2.1989    0.1412<BR>    0.0030    3.6780    2.1992    0.1412<BR>    </P>

尘埃122 发表于 2007-6-29 08:44

  你把输出格式重新定制下试试 :)<BR><BR>  format long g<BR>  <BR>  一般当数据大于1000或小于1时系统会默认用科学记数法表示,若坚持用整数部分加小数部分的格式来显示,可在指定格式后加 g<BR><BR>  [em01]

chf710 发表于 2007-7-1 10:44

问题解决了,感谢版主!!!

zhlying 发表于 2008-5-5 20:45

我也遇到这个问题,现在解决了,多谢!

页: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.