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

我无法使用matlab2014a中的函数readtable()处理for循环中的文件序列,matlab,for-loop,dataset,text-files,Matlab,For Loop,Dataset,Text Files,我试图使用readtable()函数在for循环中处理文本文件(test1.txt,test2.txt,…),但在第一次迭代后,我得到警告“警告:修改变量名称使其成为有效的MATLAB标识符”,并且我的所有数据都转换为字符。我有以下代码: **for i=1:2 ds = readtable(['test', num2str(i),'.txt'],'delimiter','tab') Fn= ds.Fs(isfinite(ds.Fn)) end** 在第一次迭代之后,我得到了

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

**for i=1:2
    ds = readtable(['test', num2str(i),'.txt'],'delimiter','tab')
    Fn= ds.Fs(isfinite(ds.Fn))
 end**
在第一次迭代之后,我得到了预期的数据:

ds=

Fn Fs Fd p
____uuuuuuuuuuuuuuuuuuuuuuuuuuuuuu______

  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=

在第二次迭代之后,我得到如下结果:

              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(),每次遇到完全相同的问题时。
如果你们能帮助我,我将不胜感激。

您确定第二个文件标题行中的分隔符是“tab”而不是空格吗?是的,我所有文件中的分隔符都是tab。我只是检查了一下以确定。我解决了它!!非常感谢@Kostya!在你的建议之后,我检查了我的文件并运行了我的代码,但没有任何更改。所以我决定做一些更激进的事情。我删除了我的文件并重新创建了它们。这次一切顺利。我想定界符确实出了什么问题,我无法检测到。再次感谢你!不客气。祝你好运!
              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     '