• PsychoPy Coder 心理学实验 斯特鲁普效应


    选题:斯特鲁普效应实验

    选题来源你知道的「有趣的心理学实验」有哪些? - 知乎 (zhihu.com)

    测试目标:探索斯特鲁普效应,即被试在判断文字颜色时,当文字的颜色与其所表示的颜色名称不一致时,是否会出现干扰效应,即反应时间延长或准确率下降。

    实验设置:首先创建一个窗口,然后定义了四种颜色(红色、蓝色、绿色、黄色)和相应的文字(红色、蓝色、绿色、黄色),设定了实验的次数。

    在每次实验中,首先在窗口的中心位置显示一段提示文字,告知参与者根据所看到的颜色按相应的键盘映射进行输入。然后,在每次循环中随机选择一个颜色和一个文字。

    根据颜色和文字是否匹配,可以判断是否存在干扰。如果颜色和文字匹配,即意味着没有干扰,将该条件标记为'无干扰';如果颜色和文字不匹配,即意味着存在干扰,将该条件标记为'有干扰'。

    接着,在窗口中依次呈现提示信息、文字和颜色,等待参与者按下键盘上与所呈现颜色对应的键(r、b、g、y)。根据参与者的响应,判断其是否正确。如果按下的键与所呈现的颜色对应,则判断为正确;否则,判断为错误。

    根据响应结果和反应时间,生成反馈信息,并在窗口中显示。同时,将干扰条件(有干扰/无干扰)、反应时间和结果(正确/错误)记录到一个名为"data.xlsx"的Excel文件中。

    如下图所示:

    代码如下

    1. from psychopy import visual, core, event
    2. import pandas
    3. import random
    4. # 创建窗口
    5. win = visual.Window(size=(1000, 618), monitor='testMonitor', units='pix')
    6. # 定义颜色和相应的文字
    7. colors = ['red', 'blue', 'green', 'yellow']
    8. words = ['红色', '蓝色', '绿色', '黄色']
    9. # 创建文本和颜色的显示对象
    10. text_stim = visual.TextStim(win)
    11. color_stim = visual.TextStim(win)
    12. data = {'干扰': [], '反应时间': [], '结果': []}
    13. # 定义实验循环次数
    14. trials = 10
    15. cue = visual.TextStim(win, text='根据你所看到的颜色进行输入\n红色输入r 蓝色输入b 绿色输入g 黄色输入y\n实验进行' + str(
    16. trials) + '次', pos=(0, 100))
    17. # 实验循环
    18. for _ in range(trials):
    19. # 随机选择文字和颜色
    20. color = random.randint(0, 3)
    21. word = random.randint(0, 3)
    22. if color == word:
    23. reference = '无干扰'
    24. else:
    25. reference = '有干扰'
    26. text = visual.TextStim(win, text=words[word], color=colors[color])
    27. cue.draw()
    28. text.draw()
    29. win.flip()
    30. Time = core.Clock()
    31. # 等待参与者响应
    32. keys = event.waitKeys(keyList=['r', 'b', 'g', 'y'])
    33. # 判断参与者的响应是否正确
    34. if keys[0] == colors[color][0]:
    35. result = '正确'
    36. else:
    37. result = '错误'
    38. # 显示反馈信息
    39. time = Time.getTime()
    40. feedback = result + '!反应时间为' + str(time) + '秒!'
    41. feedback_stim = visual.TextStim(win, text=feedback)
    42. feedback_stim.draw()
    43. win.flip()
    44. core.wait(1)
    45. data['干扰'].append(reference)
    46. data['反应时间'].append(time)
    47. data['结果'].append(result)
    48. # 关闭窗口
    49. win.close()
    50. df = pandas.DataFrame(data)
    51. try:
    52. DF = pandas.read_excel('data.xlsx')
    53. DF = pandas.concat([DF, df], ignore_index=True)
    54. DF.to_excel('data.xlsx', index=False)
    55. except FileNotFoundError:
    56. df.to_excel('data.xlsx', index=False)

    实验内容:参与者需要判断显示文字的颜色。

    实验结果:实验一共测试了25次,其中有干扰和无干扰的平均反应时间如下图所示,由此可知,在有干扰的情况下,人的反应时间会延长。

    有干扰和无干扰的颜色识别正确率如下图所示,其中,无干扰的正确率为100%,而有干扰的正确率会下降,为82%。

  • 相关阅读:
    互联网大厂技术岗实习/求职经验分享(实习内推+简历+面试+offer)
    驱动开发:STM32F7控制AD5663模拟量输出
    Mongodb学习
    Codeforces Round #775 (Div. 2) ABCDE题解
    java毕业设计房屋租赁系统演示录像2021mybatis+源码+调试部署+系统+数据库+lw
    手把手带你学SQL—牛客网SQL 查找后排序
    威联通NAS进阶玩法之使用Docker搭建个人博客教程
    实验(一):开发环境的安装及基本操作
    apache isis,基于springboot的生产力提升百倍的快速开发平台
    985大学本科毕业后,许多同学都选择考公务员或进入事业单位工作,渴望拥有铁饭碗工作。而“我”选择了【软件测试】
  • 原文地址:https://blog.csdn.net/weixin_62264287/article/details/133584417