Matlab 无法从文本文件导入数字

Matlab 无法从文本文件导入数字,matlab,file-io,import,Matlab,File Io,Import,我有一个像这样的大文件: 10,-247,16,0.465829,-11.505979,0.745327,0.000372,-249.809357,0.000596,6.662333,27.868153,0.000000,0.000000; 8,-246,16,2.600302,-66.482079,4.309549,0.003487,-249.589752,0.005758,31.830967,38.629253,0.000000,0.000000; 11,-247,13,6.514969,-

我有一个像这样的大文件:

10,-247,16,0.465829,-11.505979,0.745327,0.000372,-249.809357,0.000596,6.662333,27.868153,0.000000,0.000000; 8,-246,16,2.600302,-66.482079,4.309549,0.003487,-249.589752,0.005758,31.830967,38.629253,0.000000,0.000000; 11,-247,13,6.514969,-170.550919,10.922515,0.013875,-249.463654,0.023174,60.247765,46.340561,0.000000,0.000000;

我想选择每行的第一个数字,并将其保存为向量,依此类推,每行的第二个数字和第三个数字

我的代码是:

delimiter = ',';

    ..... sprintf('%s%s_%d.txt',fullDataPath(j,:),soggetti(j,:),s);
                   if exist(filename, 'file') 
                        disp(filename)
                        fid = fopen(filename);
                        fileAllData = importdata(filename, delimiter);
                        fileData = fileAllData.data(:,1:3);
                         x = fileData(:,1);
                         y = fileData(:,2);
                         z = fileData(:,3);
                        fclose(fid);
                        ........
                   else 
                        ..........
                   end
              ...........
错误是:

来自非结构数组对象的结构内容引用


我在网上搜索过类似的错误,但我不明白在这种情况下如何更正代码,以及为什么会出现此错误。

错误在这一行:

fileData = fileAllData.data(:,1:3);
点索引表示结构,但由于您的文件仅包含数字
importdata
,因此不会向您提供包含
文本和
数据的结构,而仅包含
数据
,这意味着您应该正常对其进行索引:

fileData = fileAllData(:,1:3);

通过这种修正,出现了一个新的错误:索引超过了矩阵维数。(在fileData=fileAllData(:,1:3);)@SaraSavio中,您的数据没有三列。我如何在Matlab中访问单元格的元素?我这样更正:fileData=fileAllData(:,1);现在fileData是一种具有以下大小的单元格类型:157673 1。我如何在int数组中转换一个单元格?@SaraSavio每篇文章都有一个问题,这是SO的政策,这样它也可以保持可读性,并可供未来读者搜索。因此,请问一个单独的问题,尽管我建议在你最喜欢的搜索引擎中搜索这个问题,因为它是非常基本的。如果我还没有到达同一点,但如果我没有设法前进,我不会问这个问题。(即使在网上搜索了几天)。无论如何谢谢你的帮助