注册 登录
编程论坛 Matlab

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

chf710 发布于 2007-06-28 20:42, 15804 次点击
用下面这个程序读入文本文件中的数据并付给矩阵B,可是在输出的矩阵B由于用科学计数法表示,小数部分被四舍五入,丢失了几位,请问怎样做才能在输出时不使用科学计数法。我试过用vpa()来指定有效数字的位数,结果变成了4个行向量,而不是矩阵的形式。原数据是7位有效数字,小数部分有3位。

%读文本文件
[wenjian_ming,lujing_ming] = uigetfile('*.txt');
fid_1=fopen(strcat(lujing_ming,wenjian_ming),'rt');
[A,yuansu_geshu]=fscanf(fid_1,'%f',[4,4]);
B=A';
%关闭文件
fclose(fid_1);

输出结果如下:
B =
1.0e+003 *
0 3.8662 2.1989 0.1411
0.0010 3.7411 2.2085 0.1413
0.0020 3.8662 2.1989 0.1412
0.0030 3.6780 2.1992 0.1412

4 回复
#2
尘埃1222007-06-29 08:44
你把输出格式重新定制下试试 :)

format long g

一般当数据大于1000或小于1时系统会默认用科学记数法表示,若坚持用整数部分加小数部分的格式来显示,可在指定格式后加 g

#3
chf7102007-07-01 10:44
问题解决了,感谢版主!!!
#4
zhlying2008-05-05 20:45
我也遇到这个问题,现在解决了,多谢!
1