做百度网站电话号码,网站规划建设与管理维护大学论文,微信朋友圈软文大全,网站分几种请参考课堂内容#xff0c;设计一种测试工作记忆的实验方法#xff0c;并选择三位同学作为被试测试工作记忆。请画出实验流程图#xff0c;叙述实验测试目标#xff0c;并分析实验结果。 举例#xff1a;一般我们选择n_back来测试对数字或字母的记忆#xff0c;选择色块实… 请参考课堂内容设计一种测试工作记忆的实验方法并选择三位同学作为被试测试工作记忆。请画出实验流程图叙述实验测试目标并分析实验结果。 举例一般我们选择n_back来测试对数字或字母的记忆选择色块实验来测试对颜色的记忆。实验中的自变量与因变量的变化比如数字字母色块的数量n就是自变量。成功率就是因变量而屏幕显示的时间可以在一定范围内随机。并将实验结果进行分析譬如因变量随自变量的变化呈现什么样的趋势。屏幕显示时间和因变量有什么关系等。 我们选择复刻n-back游戏来测试工作记忆游戏的流程是这样的玩家会看到一个灰色方块组成的九宫格其中一个绿色方块会在九宫格中闪烁玩家需要把每次绿色方块闪烁的位置记住判断前n次绿色方块出现的位置例如当n1时玩家需要判断上一次绿色方块在九宫格中出现的位置当n2时玩家需要判断上两次绿色方块出现的位置依次类推……
实验流程图如图1所示我们首先给出提示文字告知测试者实验测试的流程与步骤然后给出每个方块的位置这样后续判断绿色方块的位置时可以通过按下键盘上的数字键选择方块的位置然后开始闪烁方块要求测试者判断前n次绿色方块出现的位置最后给出判断结果其中n的值为3、4、5中的随机值。 图1
我们全程使用python的psychopy库完成实验的设计。
import random
import pandas
from psychopy import visual, event, core# 展示提示文字并根据参数实现不同的文字展示
def showCue(text, x0, y0, waitTrue, titleFalse, flipTrue):if title:cue visual.TextStim(win, texttext, pos(x, y), colorblack, height50, boldTrue)else:cue visual.TextStim(win, texttext, pos(x, y), colorblack, height20, boldTrue)cue.draw()if flip:win.flip()if wait:event.waitKeys()# 构建绿色方块的随机位置
places [] # 创建空列表
while len(places) 30:num random.randint(0, 8) # 生成一个0到8的随机整数if not places or num ! places[-1]: # 如果列表为空或者新生成的数与前一个数不相同places.append(num) # 将新生成的数添加到列表中
size 145 # 方块大小
positions [(-150, 150), (0, 150), (150, 150),(-150, 0), (0, 0), (150, 0),(-150, -150), (0, -150), (150, -150)
]
win visual.Window(size(1000, 618), colorwhite, unitspix)
showCue(工作记忆测试实验, waitFalse, titleTrue, y150, flipFalse)
showCue(判断前n次绿色方块出现的位置\n按下对应位置的数字,共测试5次\n按任意键查看方块位置对应的数字)
for i in range(9):cube visual.Rect(win, widthsize, heightsize, pospositions[i], fillColor#afafaf)cube.draw()number visual.TextStim(win, textstr(i 1), pospositions[i], heightsize / 2)number.draw()
showCue(数字代表方块的位置按任意键开始测试, y250)
data {结果: [], 反应时间: [], n: []}
for index in range(30):for i in range(9):if i places[index]:color greenelse:color #afafafcube visual.Rect(win, widthsize, heightsize, pospositions[i], fillColorcolor)cube.draw()core.wait(1) # 展示一秒if (index 1) % 6 0:n random.randint(3, 5)showCue(前 str(n) 次绿色方块出现的位置是, y250, waitFalse)Time core.Clock()key event.waitKeys(keyList[str(i) for i in range(10)])time Time.getTime()if key[0] str(places[index - n]1):result 正确else:result 错误showCue(result 反应时间为 str(time) 秒\n 按任意键继续)data[结果].append(result)data[反应时间].append(time)data[n].append(n)win.flip()
showCue(实验结束按任意键退出)
win.close()
# 将数据写入excel
excel personDData.xlsx
df pandas.DataFrame(data)
try:DF pandas.read_excel(excel) # 该execl文件已经存在则追加数据DF pandas.concat([DF, df], ignore_indexTrue)DF.to_excel(excel, indexFalse)
except FileNotFoundError: # 没有该excel文件将创建一个新的df.to_excel(excel, indexFalse)我们首先写一个函数用于展示提示文字被试者可以按任意键结束提示如图2所示与之前的实验不同的是我们这次的文字展示函数增加了许多参数用来实现在不同位置展示文字并以不同的样式展示文字而且可以决定是否刷新页面或等待按键结束。 图2
用随机数来构建绿色方块要出现的位置序列并保证相邻的出现位置不重复规定方块的大小并设置好九宫格的位置如图3所示。 图3
创建展示窗口并调用先前写好的文字展示函数显示实验标题和实验操作提示并展示九宫格方块位置对应的数字如图4所示。 图4
然后开始让九宫格中的绿色方块闪烁起来每次停留一秒如图5所示。 图5
随机取个n让玩家回忆前n次绿色方块出现的位置给出结果反馈并将判断结果以及玩家反应时间记录下来如图6所示。 图6
测试结束给出结束提示按任意键可以退出然后关闭窗口将记录的数据写入excel表格如图7所示。 图7