plot graph from text document

18 次查看(过去 30 天)
wingwing
wingwing 2015-9-15
回答: Adam 2015-9-15
I want to plot time vs w from the text document. I want to plot time vs w from the text document. And I tried the following codes from similar question but my problem is that the number after the decimal point of the value read by matlab is missing.
fid=fopen('file.txt')
s=textscan(fid,'%d %d %d','headerlines',23)
fclose(fid)
x=s{1}
y=s{2}
z=s{3}
plot(x,z)
the text:
Time ea w
0.000000 0.000000 -0.010000
0.010000 0.000000 -0.010000
0.010000 0.000000 -0.010000
0.020000 0.000000 -0.010000
0.020000 0.000000 -0.010000
0.030000 0.000000 -0.010000
0.030000 0.000000 -0.010000
0.040000 0.000000 -0.010000
0.040000 0.000000 -0.010000
0.050000 0.000000 -0.010000
0.050000 0.000000 -0.010000
0.060000 0.000000 -0.010000
0.060000 0.000000 -0.010000
0.070000 0.000000 -0.005000
0.070000 0.000000 -0.005000
0.080000 0.000000 -0.005000
0.080000 0.000000 -0.005000
0.090000 0.000000 -0.005000
0.090000 0.000000 -0.005000
0.100000 0.000000 -0.005000
0.100000 0.000000 -0.005000
0.110000 0.000000 -0.005000
0.110000 0.000000 -0.005000
0.120000 0.000000 -0.005000
0.120000 0.000000 -0.005000
0.130000 0.000000 -0.005000
0.130000 0.000000 -0.005000
0.140000 0.000000 -0.005000
0.140000 0.000000 -0.005000
0.150000 0.000000 -0.005000
0.150000 0.000000 -0.005000
0.160000 0.000000 -0.005000
0.160000 0.000000 -0.005000
0.170000 0.000000 -0.005000
0.170000 0.000000 -0.005000
0.180000 0.000000 -0.005000
0.180000 0.000000 -0.005000
0.190000 0.000000 -0.005000
0.190000 0.000000 -0.005000
0.200000 0.000000 -0.005000
0.200000 0.000000 -0.005000
0.210000 0.000000 -0.005000
0.210000 0.000000 -0.005000
0.220000 0.000000 -0.005000
0.220000 0.000000 -0.005000
0.230000 0.000000 -0.005000
0.230000 0.000000 -0.005000
0.240000 0.000000 -0.005000
0.240000 0.000000 -0.005000
0.250000 0.000000 -0.005000
0.250000 0.000000 -0.005000
0.260000 0.000000 -0.005000
0.260000 0.000000 -0.010000
0.270000 0.000000 -0.010000
0.270000 0.000000 -0.010000
0.280000 0.000000 -0.010000
0.280000 0.000000 -0.010000
0.290000 0.000000 -0.010000
0.290000 0.000000 -0.010000
0.300000 0.000000 -0.010000
0.300000 0.000000 -0.010000
0.310000 0.000000 -0.010000
0.310000 0.000000 -0.010000
0.320000 0.000000 -0.010000
0.320000 0.000000 -0.010000
0.330000 0.000000 -0.005000
0.330000 0.000000 -0.005000
0.340000 0.000000 -0.005000
0.340000 0.000000 -0.005000
0.350000 0.000000 -0.005000
0.350000 0.000000 -0.005000
0.360000 0.000000 -0.005000
0.360000 0.000000 -0.005000
0.370000 0.000000 -0.005000
0.370000 0.000000 -0.005000
0.380000 0.000000 -0.005000
0.380000 0.000000 -0.005000
0.390000 0.000000 -0.005000
0.390000 0.000000 -0.010000
0.400000 0.000000 -0.010000
0.400000 0.000000 -0.010000
0.410000 0.000000 -0.010000
0.410000 0.000000 -0.010000
0.420000 0.000000 -0.010000
0.420000 0.000000 -0.010000
0.430000 0.000000 -0.010000
0.430000 0.000000 -0.010000
0.440000 0.000000 -0.010000
0.440000 0.000000 -0.010000
0.450000 0.000000 -0.010000
0.450000 0.000000 -0.010000
0.460000 0.000000 -0.005000
0.460000 0.000000 -0.005000
.....................

回答(2 个)

Star Strider
Star Strider 2015-9-15
Use the '%f' edit descriptor:
s=textscan(fid,'%f %f %f','headerlines',23);

Adam
Adam 2015-9-15
doc textscan
%d is used to specify an integer being read in.
You need to use %f to read a double or %f32 if you want to read a single. You can also use more precise versions to specify exactly the number of values to read before and after the decimal place if you require, as shown in the help linked

类别

Help CenterFile Exchange 中查找有关 Annotations 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by