【问题标题】:How to select trials using a list?如何使用列表选择试验?
【发布时间】:2013-02-20 19:33:21
【问题描述】:

我有 6 个 .abf 文件,每个文件的维度为 150000 by 2 by x,其中 x 与 1 to 10 不同。 x 代表录音的试验。所以我必须在 MATLAB 中处理这 6 个文件,我通过一个循环来处理每个文件并为每个文件进行后续处理。但是对于每个试验,即使记录了其中的 10 个,也不是所有 10 个都有所需的数据,我需要从每个文件中排除一些试验并包括一些试验。例如,在第一个文件中,我需要试验 1 到 4 进行处理,而在第二个文件中,我需要试验 1 到 6 进行处理。我怎样才能做到这一点?有没有办法让我在开始时列出一个列表来指定每个文件的试验?

【问题讨论】:

    标签: list matlab trial


    【解决方案1】:

    这是一个非常简单的方法。如果您只有 6 个文件,您可以定义试验以包含在函数的顶部。

    % Specify list of trials to include
    dataFiles(1).name = 'file1.abf';
    dataFiles(1).includedTrials=[1:4];
    
    dataFiles(2).name = 'file2.abf';
    dataFiles(2).includedTrials=[1:6];
    
    % iterate over data files
    for n = 1:nFiles
        % Load data
        data = load(datafiles(2).name);
    
        % Select data of trials based on your list
        data = data(:,:,dataFiles(n).includedTrials);
    
        % Do processing
    end
    

    【讨论】:

    • 谢谢。我不能按原样使用它,但帮助我编写了适合我的数据类型的代码:)
    猜你喜欢
    • 1970-01-01
    • 2023-03-12
    • 1970-01-01
    • 2018-12-18
    • 2012-01-12
    • 2010-09-17
    • 2015-02-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多