被试内设计:自变量1(阶段:辨别学习阶段/反转阶段)*自变量2(框架:积极/消极)*自变量3(反馈程度:部分反馈/完全反馈) •总共有4组两两成对出现的图片,组合1为积极框架下完全反馈的刺激,组合2是积极框架下部分反馈的刺激,组合3是消极框架下完全反馈的刺激,组合4是消极框架下部分反馈的刺激,电脑会一左一右的呈现图片刺激,被试按“F”键代表选择左边,按“J”键代表选择右边。第一个Run为辨别学习阶段,选择pos_1和pos_3是高奖赏概率,选择neg_1和neg_3是高惩罚概率。第二个Run为反转阶段,选择pos_1和pos_3是低奖赏概率,选择neg_1和neg_3是低惩罚概率。且每种组合中的两张图片收入或损失情况是独立的,如一个trial中pos_1收入+10并不代表pos_2就一定+0。 %% This is a main function to call other functions %% step01: collect information of participants name=inputdlg('请输入姓名','被试姓名',[1 60],{'abc'}); ID=inputdlg('请输入编号','被试id',[1 60],{'101'}); gender=inputdlg('请输入性别,男1,女2','被试性别',[1 60],{'2'}); ID=str2num(char(ID)); gender=str2num(char(gender)); %% step02: creat a main window [wname,HC,VC,slack]=creat_mainwindow; %% step03: to get initial parameters [stim_w,exp_seq,RT,ACC,tn,stim_dur,j_dur]=predata(wname); %% step04: present instructions getready(startK,HC,VC,wname); %% step05: present stimuli t=GetSecs;%获取当前时刻 end %% step 06: save data to the disk abc=fix(clock); path=pwd; if gender==1 fidraw=fopen([path '\Data\stroop_' char(name) '_' num2str(ID) '_' num2str(abc(4)) '_' num2str(abc(5)) '_Male.txt'],'a'); elseif gender==2 fidraw=fopen([path '\Data\stroop_' char(name) '_' num2str(ID) '_' num2str(abc(4)) '_' num2str(abc(5)) '_Female.txt'],'a'); end fprintf(fidraw,'Date \t Name \t ID \t Gender \t Trial \t condition \t stim_id \t RT \t ACC \t ITI \t \n'); collect_data(name,ID,gender,RT,ACC,exp_seq,tn,j_dur,fidraw); %% step07: close window Screen('CloseAll'); sca fclose('all'); 根据题目,修改以上的主函数编码以及补充step05主函数的编码,Matlab

时间: 2024-01-01 22:04:07 浏览: 28
根据题目,修改以上的主函数编码以及补充step05主函数的编码,具体如下: 主函数代码: ```matlab %% step01: collect information of participants name=inputdlg('请输入姓名','被试姓名',[1 60],{'abc'}); ID=inputdlg('请输入编号','被试id',[1 60],{'101'}); gender=inputdlg('请输入性别,男1,女2','被试性别',[1 60],{'2'}); ID=str2num(char(ID)); gender=str2num(char(gender)); %% step02: create a main window [wname,HC,VC,slack]=creat_mainwindow; %% step03: to get initial parameters [stim_w,exp_seq,RT,ACC,tn,stim_dur,j_dur]=predata(wname); %% step04: present instructions getready(startK,HC,VC,wname); %% step05: present stimuli for i=1:length(exp_seq) %遍历所有trial %获取当前时刻 t=GetSecs(); %显示刺激图片 Screen('DrawTexture',wname,stim_w(exp_seq(i),1),[],[HC-250 VC-250 HC+250 VC+250]); Screen('DrawTexture',wname,stim_w(exp_seq(i),2),[],[HC+250 VC-250 HC+750 VC+250]); Screen('Flip',wname,t+stim_dur); %记录反应时间 [keyPress,secs, keyCode] = KbCheck; while(1) if keyCode(KbName('f')) || keyCode(KbName('j')) RT(i)=GetSecs-t; break; end [keyPress,secs, keyCode] = KbCheck; end %记录反应准确性 if ((exp_seq(i)==1 || exp_seq(i)==3) && keyCode(KbName('f'))) || ((exp_seq(i)==2 || exp_seq(i)==4) && keyCode(KbName('j'))) ACC(i)=1; else ACC(i)=0; end %显示间隔 Screen('Flip',wname,secs+j_dur); end %% step 06: save data to the disk abc=fix(clock); path=pwd; if gender==1 fidraw=fopen([path '\Data\stroop_' char(name) '_' num2str(ID) '_' num2str(abc(4)) '_' num2str(abc(5)) '_Male.txt'],'a'); elseif gender==2 fidraw=fopen([path '\Data\stroop_' char(name) '_' num2str(ID) '_' num2str(abc(4)) '_' num2str(abc(5)) '_Female.txt'],'a'); end fprintf(fidraw,'Date \t Name \t ID \t Gender \t Trial \t condition \t stim_id \t RT \t ACC \t ITI \t \n'); collect_data(name,ID,gender,RT,ACC,exp_seq,tn,j_dur,fidraw); %% step07: close window Screen('CloseAll'); sca fclose('all'); ``` step05主函数代码: ```matlab % step05: present stimuli for i=1:length(exp_seq) %遍历所有trial %获取当前时刻 t=GetSecs(); %显示刺激图片 Screen('DrawTexture',wname,stim_w(exp_seq(i),1),[],[HC-250 VC-250 HC+250 VC+250]); Screen('DrawTexture',wname,stim_w(exp_seq(i),2),[],[HC+250 VC-250 HC+750 VC+250]); Screen('Flip',wname,t+stim_dur); %记录反应时间 [keyPress,secs, keyCode] = KbCheck; while(1) if keyCode(KbName('f')) || keyCode(KbName('j')) RT(i)=GetSecs-t; break; end [keyPress,secs, keyCode] = KbCheck; end %记录反应准确性 if ((exp_seq(i)==1 || exp_seq(i)==3) && keyCode(KbName('f'))) || ((exp_seq(i)==2 || exp_seq(i)==4) && keyCode(KbName('j'))) ACC(i)=1; else ACC(i)=0; end %显示间隔 Screen('Flip',wname,secs+j_dur); end ```

相关推荐

最新推荐

recommend-type

浅谈Python程序的错误:变量未定义

Python程序中,变量需要先定义后使用。如果没有这样做,就会出现变量未定义错误。这属于语法错误。Pycharm中,语法错误会用红色的波浪线标出来,如图1所示。 图1 Pycharm中,语法错误会用红色的波浪线标出来 Python...
recommend-type

变量被编译器给优化掉了

在嵌入式的编程中,要注意变量优化的问题。如果编译器对代码优化的话,对一些在外部改变程序的变量,要注意声明为vloatile,防止编译器对其进行优化,从而使代码没有实现我们想要的功能。
recommend-type

v-model 无法更新迭代变量**本身,v-for实现多组单选互不影响

1.单选框绑定click事件没反应,要用组件自带的change事件绑定。 2.如果v-model绑定的是常量,那生成的多组单选,一组变化,其他组会联动一起变化。 3.v-model无法绑定迭代变量,如上图那么写就会报错: ‘v-model’ ...
recommend-type

IDEA导入外部项目报Error:java: 无效的目标发行版: 11的解决方法

主要介绍了IDEA导入外部项目报Error:java: 无效的目标发行版: 11,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
recommend-type

接口自动化测试框架完整搭建python+unittest+requests+ddt

2.handle_data处理excel用例中需要替换的参数,用来存储临时变量,和需要替换的excel用例中需要替换的字符串(注意存放临时变量时int类型应转换成str类型存放) 3.handle_db是连接数据库(mysql)处理需要进
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

实现实时数据湖架构:Kafka与Hive集成

![实现实时数据湖架构:Kafka与Hive集成](https://img-blog.csdnimg.cn/img_convert/10eb2e6972b3b6086286fc64c0b3ee41.jpeg) # 1. 实时数据湖架构概述** 实时数据湖是一种现代数据管理架构,它允许企业以低延迟的方式收集、存储和处理大量数据。与传统数据仓库不同,实时数据湖不依赖于预先定义的模式,而是采用灵活的架构,可以处理各种数据类型和格式。这种架构为企业提供了以下优势: - **实时洞察:**实时数据湖允许企业访问最新的数据,从而做出更明智的决策。 - **数据民主化:**实时数据湖使各种利益相关者都可
recommend-type

spring添加xml配置文件

1. 创建一个新的Spring配置文件,例如"applicationContext.xml"。 2. 在文件头部添加XML命名空间和schema定义,如下所示: ``` <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。