Matlab:避免在文本数据输入时进行exp(-3)转换

时间:2012-10-16 06:01:31

标签: matlab

我有一个包含数据的txt文件,因此我使用了以下函数

M = dlmread('data.txt', '\t');

但我的数据转换为exp(-3)我该如何避免?

这里的数据如下:

M =

   1.0e+03 *

         0    0.0080    0.3500    0.1500    4.6990    0.0145    0.0740         0
         0    0.0080    0.4000    0.1700    4.7460    0.0120    0.0710         0
         0    0.0080    0.4000    0.1750    4.3850    0.0120    0.0720         0
         0    0.0060    0.2500    0.0720    3.1580    0.0195    0.0750         0
         0    0.0080    0.3040    0.1500    3.8920    0.0125    0.0720         0
         0    0.0080    0.3500    0.1450    4.4400    0.0140    0.0750         0
         0    0.0060    0.2500    0.1050    3.8970    0.0185    0.0750         0
         0    0.0060    0.1630    0.1330    3.4100    0.0158    0.0780    0.0010
         0    0.0080    0.2600    0.1100    4.0600    0.0190    0.0770         0

1 个答案:

答案 0 :(得分:1)

正如H Muster所说,这是一个显示问题。

显示数据的更好方式(在我看来)是通过num2str。

如果你跑

num2str(M)

你会看到

ans =

0       0.008        0.35        0.15       4.699      0.0145       0.074           0
0       0.008         0.4        0.17       4.746       0.012       0.071           0
0       0.008         0.4       0.175       4.385       0.012       0.072           0
0       0.006        0.25       0.072       3.158      0.0195       0.075           0
0       0.008       0.304        0.15       3.892      0.0125       0.072           0
0       0.008        0.35       0.145        4.44       0.014       0.075           0
0       0.006        0.25       0.105       3.897      0.0185       0.075           0
0       0.006       0.163       0.133        3.41      0.0158       0.078       0.001
0       0.008        0.26        0.11        4.06       0.019       0.077           0

这可能是你首先想到的。

如果您想要更高的精度,请将格式字符串传递给num2str。

例如:

 num2str(M,'%8g')