Matlab 将ASCII文件作为单元格数组而不是结构导入

Matlab 将ASCII文件作为单元格数组而不是结构导入,matlab,import,ascii,Matlab,Import,Ascii,我正在将ASCII数据加载到Matlab中,我希望将它们存储为单元数组而不是结构,以使后续分析更加直观 当我使用uiimport函数时,它允许我将数据作为单元格数组导入,但我希望在没有图形界面的情况下导入大量数据。现在,我一直在尝试将importdata函数用作: data=importdata(filename,'\t',15); 除了将数据保存为结构之外,它工作得非常好。有没有其他方法可以做到这一点,或者对我来说,仅仅制作一个结构单元是最快的 非常感谢 我仍然没有一个非常好的解决方案,但它

我正在将ASCII数据加载到Matlab中,我希望将它们存储为单元数组而不是结构,以使后续分析更加直观

当我使用
uiimport
函数时,它允许我将数据作为单元格数组导入,但我希望在没有图形界面的情况下导入大量数据。现在,我一直在尝试将
importdata
函数用作:

data=importdata(filename,'\t',15);
除了将数据保存为结构之外,它工作得非常好。有没有其他方法可以做到这一点,或者对我来说,仅仅制作一个结构单元是最快的


非常感谢

我仍然没有一个非常好的解决方案,但它是有效的。所以我使用了
importdata
毕竟,使用for循环为每个受试者和试验创建一个包含结构化数组的单元格

    ntrials=4; %# of trials per subject
    datanamelist=['subjectA'; 'subjectB'; 'etc' ];
    for i=1:size(datanamelist,1)
        for j=1:ntrials;
        filename=sprintf('%s%g.txt',datanamelist(i,:),j);
        PDdata{i,j}=importdata(filename,'\t',15); %first 15 lines are headers
        end
    end
我现在能够从每个特定数组中提取数据,以
PDdata{subject,ntrials}的形式访问它

同样地,通过(在受试者i和试验j上循环)创建包含所有数据的4D矩阵


漂亮的解决方案仍然受欢迎

我仍然没有一个非常漂亮的解决方案,但它是有效的。所以我使用了
importdata
毕竟,使用for循环为每个受试者和试验创建一个包含结构化数组的单元格

    ntrials=4; %# of trials per subject
    datanamelist=['subjectA'; 'subjectB'; 'etc' ];
    for i=1:size(datanamelist,1)
        for j=1:ntrials;
        filename=sprintf('%s%g.txt',datanamelist(i,:),j);
        PDdata{i,j}=importdata(filename,'\t',15); %first 15 lines are headers
        end
    end
我现在能够从每个特定数组中提取数据,以
PDdata{subject,ntrials}的形式访问它

同样地,通过(在受试者i和试验j上循环)创建包含所有数据的4D矩阵


漂亮的解决方案仍然受欢迎

如果您的数据已格式化,那么您可能需要检查
textscan
。您可以添加数据文件的一个示例(一小段)吗?既然它似乎与
uiimport
GUI一起工作,为什么不简单地检查“生成MATLAB代码`复选框,让MATLAB为您生成代码?为什么不使用
struct2cell
将结构转换为单元格?否则使用
textscan
@H.Muster我尝试生成代码,但也使用了
importdata
,不幸的是,似乎无法让我了解数据输出文件是如何生成的generated@H.Muster我曾经尝试过使用生成代码来处理这个问题,但从我的角度来看,这是一个很好的例子。当然,原因是,我没有也仍然不知道如何有效地使用它:如果您的数据已格式化,那么您可能需要检查
textscan
。您可以添加数据文件的一个示例(一小段)吗?既然它似乎与
uiimport
GUI一起工作,为什么不简单地检查“生成MATLAB代码`复选框,让MATLAB为您生成代码?为什么不使用
struct2cell
将结构转换为单元格?否则使用
textscan
@H.Muster我尝试生成代码,但也使用了
importdata
,不幸的是,似乎无法让我了解数据输出文件是如何生成的generated@H.Muster我曾经尝试过使用生成代码来处理这个问题,但从我的角度来看,这是一个很好的例子。当然,原因是,我没有也仍然不知道如何有效地使用它:o