【发布时间】:2015-05-07 11:13:31
【问题描述】:
我想从文件中提取数字,但我不知道为什么s 仍然是空的。在阅读文本文件时,我想跳过前 9 行,
然后逐行读取并在: 字符后的两个空格字符之间提取一个数字。
代码如下:
[fid, message]=fopen('info1.txt','r');
x=fread(fid,'char=>char');
%skip the 9 first lines of the file
for i=1:9
fgetl(fid);
end
tline = fgets(fid);
s=[];
j=1;
while ischar(tline)
disp(tline);
tline = fgetl(fid); %read line by line
i=1;
while double(tline(i))~=13
if(tline(i)==':')
while tline(i+1)~=' '
s(j)=s(j)+tline(i+1);
end
else i=i+1;
end
end
j=j+1;
end
这是文本文件。
-- Voice report for 1. Sound AXH1NAL --
Date: Fri Feb 27 13:46:32 2015
WARNING: some of the following measurements may be imprecise.
For more precision, go to "Pitch settings" and choose "Optimize for voice analysis".
Time range of SELECTION
From 0 to 3.000020 seconds (duration: 3.000020 seconds)
Pitch:
Median pitch: 239.912 Hz
Mean pitch: 239.651 Hz
Standard deviation: 2.029 Hz
Minimum pitch: 233.314 Hz
Maximum pitch: 243.288 Hz
Pulses:
Number of pulses: 713
Number of periods: 712
Mean period: 4.172732E-3 seconds
Standard deviation of period: 0.036479E-3 seconds
Voicing:
Fraction of locally unvoiced frames: 0 (0 / 297)
Number of voice breaks: 0
Degree of voice breaks: 0 (0 seconds / 3.000020 seconds)
Jitter:
Jitter (local): 0.218%
Jitter (local, absolute): 9.104E-6 seconds
Jitter (rap): 0.118%
Jitter (ppq5): 0.134%
Jitter (ddp): 0.353%
Shimmer:
Shimmer (local): 1.018%
Shimmer (local, dB): 0.089 dB
Shimmer (apq3): 0.551%
Shimmer (apq5): 0.684%
Shimmer (apq11): 0.779%
Shimmer (dda): 1.653%
Harmonicity of the voiced parts only:
Mean autocorrelation: 0.997744
Mean noise-to-harmonics ratio: 0.002262
Mean harmonics-to-noise ratio: 26.891 dB
【问题讨论】:
-
所以问题只在于提取数字,否则线条看起来没问题?
-
如果您可以显示文件中的示例行会有所帮助。您没有执行类型转换,并且那里有一个不寻常的操作
s(j)=s(j)+tline(i+1); -
好的,你能包括行终止标记吗?目前尚不清楚线路在哪里结束。我会帮你编辑一下...
标签: matlab