我无法在matlab2014a中使用函数readtable()处理for循环中的文件序列

时间:2014-12-28 01:03:15

标签: matlab for-loop dataset text-files

我正在尝试使用readtable()函数在for循环中处理文本文件(test1.txt,test2.txt,...)但在第一次迭代后我收到警告“警告:变量名称被修改为使它们成为有效的MATLAB标识符“,并且我的所有数据都被转换为char。我有以下代码:

**for i=1:2
    ds = readtable(['test', num2str(i),'.txt'],'delimiter','tab')
    Fn= ds.Fs(isfinite(ds.Fn))
 end**

在第一次迭代之后,我得到了我应该得到的数据:

ds =

Fn Fs Fd P
    ___ __________ ____ ______

  0      0.055556       0    110.28
0.5       0.94934       0       NaN
0.5       0.45286       0       NaN
NaN       0.71672    0.25       NaN
NaN       0.79408    0.55       NaN
NaN       0.46686     0.2       NaN
NaN        0.5709     NaN       NaN
NaN       0.17697     NaN       NaN

和: Fn =

0.0556
0.9493
0.4529

在第二次迭代之后我得到了这个:

              FnFsFdP                
_______________________________________

'0.0 0.055556244528144005    0.0 90.28'
'0.3 0.9493420509530995  0.0 '         
'0.7 0.4528552572364756  0.10 '        
'0.7167208183133957  0.15    '         
'0.7940837318176294  0.55    '         
'0.46685901048550915 0.2 '             
'0.5709037251710388      '             
'0.27696701859413588     '  

和错误:无法识别的变量名称'Fn'

我需要做的是将我的txt文件中的所有列(Fn,Fs,Fd,P)作为分隔的向量。到目前为止,我还使用了dataset()和tbfread(),每次遇到完全相同的问题。 我真的很感激,如果你们中的任何人能帮助我的话。

0 个答案:

没有答案