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

news2024/10/7 2:31:13

选题:斯特鲁普效应实验

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

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

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

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

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

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

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

如下图所示:

代码如下

from psychopy import visual, core, event
import pandas
import random

# 创建窗口
win = visual.Window(size=(1000, 618), monitor='testMonitor', units='pix')
# 定义颜色和相应的文字
colors = ['red', 'blue', 'green', 'yellow']
words = ['红色', '蓝色', '绿色', '黄色']
# 创建文本和颜色的显示对象
text_stim = visual.TextStim(win)
color_stim = visual.TextStim(win)
data = {'干扰': [], '反应时间': [], '结果': []}
# 定义实验循环次数
trials = 10
cue = visual.TextStim(win, text='根据你所看到的颜色进行输入\n红色输入r  蓝色输入b  绿色输入g  黄色输入y\n实验进行' + str(
    trials) + '次', pos=(0, 100))
# 实验循环
for _ in range(trials):
    # 随机选择文字和颜色
    color = random.randint(0, 3)
    word = random.randint(0, 3)
    if color == word:
        reference = '无干扰'
    else:
        reference = '有干扰'
    text = visual.TextStim(win, text=words[word], color=colors[color])
    cue.draw()
    text.draw()
    win.flip()
    Time = core.Clock()
    # 等待参与者响应
    keys = event.waitKeys(keyList=['r', 'b', 'g', 'y'])
    # 判断参与者的响应是否正确
    if keys[0] == colors[color][0]:
        result = '正确'
    else:
        result = '错误'
    # 显示反馈信息
    time = Time.getTime()
    feedback = result + '!反应时间为' + str(time) + '秒!'
    feedback_stim = visual.TextStim(win, text=feedback)
    feedback_stim.draw()
    win.flip()
    core.wait(1)
    data['干扰'].append(reference)
    data['反应时间'].append(time)
    data['结果'].append(result)
# 关闭窗口
win.close()
df = pandas.DataFrame(data)
try:
    DF = pandas.read_excel('data.xlsx')
    DF = pandas.concat([DF, df], ignore_index=True)
    DF.to_excel('data.xlsx', index=False)
except FileNotFoundError:
    df.to_excel('data.xlsx', index=False)

 

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

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1062332.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JS-Dom转为图片,并放入pdf中进行下载

1、将dom转换为图片 这里我们使用html2canvas工具插件先将dom转为canvas元素然后canvas拥有一个方法可以将绘制出来的图形转为url然后下载即可注意:如果元素使用了渐变背景并透明的话,生成的图片可能会有点问题。我下面这个案例使用了渐变背景实现元素对…

LLM下半场之Agent基础能力概述:Profile、Memory、Plan、Action、Eval学习笔记

一.Agent发展将会是LLM的下半场 目前大家都在讨论LLM,LLM解决的问题是帮助机器像人类一样理解彼此的意图,本质上来讲,LLM更像是一个技术或者工具。但是人类社会发生变革的引线,往往是一个产品或者解决方案,比如电池技…

润滑油泵控制(博途SCL源代码)

有关博途PLC定时器的各种使用方法请参考下面文章链接: 博途PLC IEC定时器编程应用(SCL语言)_博图 定时器-CSDN博客博途PLC定时器支持数据类型TIME 类型 ,写法支持T#2M10S 、T#10S等,时基是MS所以如果设置1M用 DINT数据类型就是60000,大部分HMI上数据类型很多不支持IEC的…

IDEA中maven无法下载依赖解决方案

如果你尝试了很多网上的办法 仍然没有解决 那么很有可能和我一样碰到**了,解决办法千奇百怪, 解决之前(山丹丹的那个红艳艳)都没我屏幕红,本人试了一下几种 1、检查maven配置 settings.xml(应该都没问题)&#xff0c…

微信公众号模板消息First,Remark字段不显示,备注字段不见了

今天在开发公众号过程中有个需求发模板消息我设置的如下 成绩单打印通知!姓名:{{name.DATA}} 学号:{{stuid.DATA}}状态:{{status.DATA}}时间:{{date.DATA}} 备注:{{remark.DATA}} 然后发完通知发现《…

AtCoder Beginner Contest 232(A-G)

A - QQ solver (atcoder.jp)直接按题意模拟即可。 B - Caesar Cipher (atcoder.jp)按题意模拟即可 C - Graph Isomorphism (atcoder.jp)按题意模拟即可 D - Weak Takahashi (atcoder.jp) 一个非常套路的网格dp E - Rook Path (atcoder.jp) (1)题意 有…

C++ stack和queue及优先级队列

stack的介绍 stack是作为容器适配器被实现的,容器适配器即是对特定类封装作为其底层的容器,并提供一组特定的成员函数来访问其元素,将特定类作为其底层的,元素特定容器的尾部(即栈顶)被压入和弹出 stack的底层容器可以是任何标准…

基于SpringBoot的ElasticSearch操作(超详细教程)

一、ElasticSearch 简介 1、简介 ElasticSearch 是一个基于 Lucene 的搜索服务器。它提供了一个分布式多员工能力的全文搜索引擎,基于 RESTful web 接口。Elasticsearch 是用 Java 语言开发的,并作为 Apache 许可条款下的开放源码发布,是一种…

Vue中如何进行文件浏览与文件管理

Vue中的文件浏览与文件管理 文件浏览与文件管理是许多Web应用程序中常见的功能之一。在Vue.js中,您可以轻松地实现文件浏览和管理功能,使您的应用程序更具交互性和可用性。本文将向您展示如何使用Vue.js构建文件浏览器和文件管理功能,以及如…

Vue中如何进行响应式图像与图片懒加载优化

Vue中响应式图像与图片懒加载优化 在现代的Web开发中,图像在网站性能和用户体验方面扮演着至关重要的角色。然而,加载大量的图像可能会导致网页加载速度变慢,从而影响用户的满意度。为了解决这个问题,Vue.js提供了一些强大的工具…

Polygon Miden中的nullifier sets设计

1. 引言 前序博客: Polygon Miden zkRollup中的UTXO账户混合状态模型Polygon Mide状态模型:解决状态膨胀,而不牺牲隐私和去中心化 本文基本结构为: 何为nullifiers?为何需要nullifiers?使用nullifiers存…

Ubuntu 20.04 桌面美化

Ubuntu 20.04 桌面美化 Ubuntu 20.04 在 2020 年 4 月 28 日发布,距今已经快四个月了,我将自己的笔记本升级成 Ubuntu 20.04 操作系统了,Ubuntu 20.04 默认安装完成的桌面比较简单,如下图: 根据我个人的喜好&#xff0…

Android自定义Drawable---灵活多变的矩形背景

Android自定义Drawable—灵活多变的矩形背景 在安卓开发中,我们通常需要为不同的按钮设置不同的背景以实现不同的效果,有时还需要这些按钮根据实际情况进行变化。如果采用编写resource中xml文件的形式,就需要重复定义许多只有微小变动的资源…

Vue中如何进行表单验证码与滑动验证

在Vue中实现表单验证码与滑动验证功能 验证码和滑动验证是Web应用程序中常见的安全功能,用于验证用户的身份并防止恶意活动。Vue.js作为一个流行的JavaScript框架,提供了许多工具和库来实现这些功能。本文将介绍如何使用Vue来实现表单验证码和滑动验证功…

solidity 合约转java

Generate a Java Wrapper from your Smart Contract Solidity Gradle Plugin - Web3j web3j / web3j-maven-plugin GitLab

ARM汇编与C言语的混合编程

1. C言语如何与汇编进行交互 有些时候,我们需要在汇编代码中调用C代码,或者说C代码中调用汇编代码。 那么,汇编调用C代码,或者C代码调用汇编函数,他们的函数参数、返回值是如何传递的? 对应ARM架构来说&…

学习开发一个RISC-V上的操作系统(汪辰老师) — unrecognized opcode `csrr t0,mhartid‘报错问题

前言 (1)此系列文章是跟着汪辰老师的RISC-V课程所记录的学习笔记。 (2)该课程相关代码gitee链接; (3)PLCT实验室实习生长期招聘:招聘信息链接 正文 (1)在跟着…

【重拾C语言】五、模块化程序设计——函数(定义、调用、参数传递、结果返回、函数原型;典例:打印字符图形、验证哥德巴赫猜想)

目录 前言 五、模块化程序设计——函数 5.1 计算三角形的重心 5.2 函数 5.2.1 函数定义 5.2.2 函数调用 a. 函数调用的形式和过程 b. 参数传递 值传递 指针传递 c. 函数结果返回 5.2.3 函数原型(先调用后定义) 5.3 程序设计实例 5.3.1 打印…

【14】c++设计模式——>工厂模式

简单工厂模式的弊端 简单工厂模式虽然简单,但是违反了设计模式中的开放封闭原则,即工厂类在数据增加时需要被修改,而我们在设计时对于已经设计好的类需要避免修改的操作,而选用扩展的方式。 工厂模式设计 简单工厂模式只有一个…

【Java】接口 interface

目录 概述 示例代码: 接口成员访问特点 示例代码: 概述 什么是接口 接口就是一种公共的规范标准,只要符合规范标准,大家都可以调用。 Java 中的接口更多的体现在对行为的抽象! 1. 接口 用关键字 interface 修饰 pub…