使用 psychtoolbox 构建实验

问题描述

我有一个实验设计,我想使用 MATLAB 在 psychtoolBox 中进行编码。我了解如何使用此工具箱的基础知识,但是如果有人之前设计过类似的实验并且可以为我提供一些可以帮助我执行以下操作的代码,那将非常有帮助:

实验过程将由 80 个试验组成,分为 5 个块,每个块 16 个试验。实验包括参与者从屏幕上选择一个数字。有一个理想的数量(目标数量)和一个相关的不太理想的数量(诱饵数量)。我不会详细说明这个实验背后的推理,因为它与我的问题无关。

我附上了一张显示 1 个试验块(16 次试验)的图片。其他4个块和这个块一样。

Trials

目标和诱饵编号将显示在屏幕上供您选择(如下图所示)。

number presentation on screen

从试验表中可以看出,在某些试验中,只有一个目标编号和一个诱饵编号供参与者选择(而不是两个目标和两个诱饵)。

与每个目标一起出现的诱饵不应该总是相同的。我希望在每次试验中随机选择与目标一起显示的诱饵(从试验图像中可以看出,可能的诱饵不止一种)。在我附上的试验图像中,为了清楚起见,展示了试验编号,在每个块中,目标的展示需要随机化。

解决方法

您可以使用 psychtoolbox 自带的 BalanceTrials 函数。您使用所有可能的诱饵和目标作为输入,它返回所有可能组合的随机顺序。您还可以指定它返回的列表的最小长度,但如果有更多组合,它将使列表更长以使其平衡。下面是一个例子:

numberOfTrials = 80;

targetNumbers = {'3','4','5','6','7','4 5','4 6','4 7'}; 

lureNumbers = {'3','4 7'};

[targets,lures] = BalanceTrials(numberOfTrials,1,targetNumbers,lureNumbers);

您可以将其拆分为 5 个块,也可以对每个块每次都这样做。