0

我在 Matlab 上上传文件时遇到了一些问题。在使用文件菜单下的“加载数据”选项或使用命令之前,我已经多次加载文本文件。我要读取的文件有列标签、数字数据,前三列由文本数据组成。当我尝试上传文件时,它说该文件仅包含一列,并将所有信息上传在一列而不是 6 个不同的列中。在文本文件中,列由制表符分隔,我将分隔符设置为制表符。

有谁知道为什么它将信息上传到一列而不是单独的列?

谢谢!

4

1 回答 1

0

根据您提供的有关文本文件形状的详细信息,我猜它具有以下形式:

label1    info1    text1    1    1.1    3.1
label2    info2    text2    2    2.1    3.2
lebel3    info3    text3    3    3.1    3.3
...

您可以使用循环、fscanf函数和简单循环加载所有这些数据。

如果N是文本文件的行数,则以下代码可能对您有用:

f=fopen('test.txt');

for k=1:N
    for i=1:3
        a{k,i} = fscanf(f,'%s',1);
    end
b(k,:) = fscanf(f,['%f' '%f' '%f'],3);
end

fclose(f);

然后您将拥有一个字符串单元格数组a

a = 

'label1'    'info1'    'text1'
'label2'    'info2'    'text2'
'lebel3'    'info3'    'text3'

还有一个带有数字数据的数组b

b =

1.0000    1.1000    3.1000
2.0000    2.1000    3.2000
3.0000    3.1000    3.3000

为了获得更多信息,我建议您阅读此页面

于 2013-06-27T09:57:41.743 回答