我想编程一个实验,该实验应包含10个试验(10张图片),该试验在左侧或右侧显示。同时,相反的一侧显示了一个奇数甚至偶数。我想测量反应时间和响应(奇数甚至)。我想我坚持试验结构。
仅定义ntrials = length(pictures)
还是需要变量的循环(pic_position
,number_position
)?
这是我到目前为止的方法:
pic_pos = {'left' 'right'};
num_pos = {'left' 'right'};
evenodd = {'odd' 'even'};
ntrials = length(pictures);
for n = 1:length(pictures)
trials(ntrials).picture = pictures(n)
end
pictures = Shuffle(pictures);
for trial = 1:ntrials
currentnumber = num2str(numbers{trial})
switch trials(trial).num_pos
case 'right'
x = screencentrex + img_dist
case 'left'
x = screencentrex - img_dist
end;
Screen('TextSize', win, [25]);
DrawFormattedText(win, currentnumber, [x], 'center', [255 255 255]);
Screen('Flip', win);
WaitSecs(3);
不幸的是,它没有向我展示数字。
您不需要在位置或数字变量上循环。相反,您可以提前为每个试验生成刺激参数
[trialNumberPositions, trialNumberEvenOrOdd] = BalanceTrials(ntrials, 1, num_pos, evenodd);
这返回了因子'num_pos'和'feandd'级别的组合,然后将其订单随机分组。因此,例如,在您的示例中保存在变量"试验"中的试用号码的数字位置将作为avilenumberpositions {avile}访问。请记住,您有4种独特的fundodd和num_pos组合,因此,要使您的试验编号在条件下保持平衡,您将拥有4个倍数的总数(例如,总共12个试验,而不是10个试验)。我没有包含pic_pos,因为pic_pos永远是num_pos的任何内容,因为在您的描述中,这两个刺激永远不会在同一方面显示。
关于为什么不显示您的数字,没有更多实验脚本就很难说出。但是您目前正在屏幕上写白色文本,背景是非白人吗?