脑与认知神经科学Matlab Psytoolbox认知科学实验设计——实验设计一

发布时间:2023-08-17 11:30

Matlab Psytoolbox(脑与认知神经科学)

视错觉举例
实验设计一
实验设计二
实验设计三
实验设计四

文章目录

  • Matlab Psytoolbox(脑与认知神经科学)
  • 前言
    • 1.题目
    • 2.分析设计要求
    • 2.代码
  • 总结


前言

脑与认知神经科学Matlab认知科学实验设计(含Psytoolbox下载教程)


1.题目

1.请完成下列实验:
a. 设计简单实验,内容如下。
在屏幕中左右各显示一张图像,并显示提示词:要求用户选择一张图像,并根据选择点击键盘按键N或M(此处可以设置为其它键盘按键)。等待用户点击键盘,输出根据键盘判定点击的图像是哪一张,并输出从显示图像到用户点击键盘的时间。

2.分析设计要求

创建一个窗口显示信息,能够显示提示词、图片、结果、反应时间。
首先初始化窗口,利用Screen创建一个窗口,选定当前屏幕颜色,编写提示词,给出选择图片,选定两个按键作为选择键,显示结果与反应时间。

2.代码

try
    Screen(\'Preference\', \'SkipSyncTests\'); %跳过刷新率检测
    screens=Screen(\'Screens\'); 
    screenNumber=max(screens);  % 第一个屏幕就是0
    [w,wsize]=Screen(\'OpenWindow\',screenNumber,255,[100,100,1900,1000]);%打开窗口并返回两个重要变量
    Screen(\'Flip\',w);%更新当前屏幕
    %输出提示内容
    Screen(\'DrawText\',w,\'请选择一张图像,M键选择左边,N键选择右边\',500,300,[255,0,0])
    Screen(\'DrawText\',w,\'实验开始\',800,450,[255,0,0])
    Screen(\'Flip\',w);
    WaitSecs(2)%等待两秒
    %存入两张图片信息
    I1=imread(\'1.jpg\');
    I2=imread(\'2.jpg\');
    %返回图片大小
    [imgh1,imgw1,~]=size(I1)
    [imgh2,imgw2,~]=size(I2)
    %制作纹理
    P1=Screen(\'MakeTexture\',w,I1);
    P2=Screen(\'MakeTexture\',w,I2);
    Screen(\'DrawTexture\',w,P1,[],[0,0,imgw1,imgh1]+[100,50,300,400]);%绘制图片
    %DrawFormattedText(w,\'Apple\',600,100,[255,0,0])%此语句可能会出现上半部分缺失
    Screen(\'DrawTexture\',w,P2,[],[0,0,imgw2,imgh2]+[1000,50,700,300]);%绘制图片
    Screen(\'Flip\',w);
    
    keyrecord=[]%记录kc值,以便确定按键
    time1=GetSecs; %计时开始
    while 1
        [kid,~,kc]=KbCheck;%不断检测是否按键
        %kc对应m 70  n 74 
        if kid==1   %有按键按下时,记录按键信息
            keyrecord = kc
            break
        end
    end
    time=GetSecs-time1;%计算花费时间
    %选择苹果/选择香蕉/不选择三种情况分别输出
    if kc(77) == 1
       Screen(\'DrawText\',w,\'你选择的图像是苹果\',680,300,[255,0,0])
       Screen(\'DrawText\',w,\'你的反应时间为\',600,450,[255,0,0])
       Screen(\'DrawText\',w,num2str(time),900,450,[255,0,0])
       Screen(\'DrawText\',w,\'秒\',1100,450,[255,0,0])
       Screen(\'Flip\',w);
    elseif kc(78) == 1
       Screen(\'DrawText\',w,\'你选择的图像是香蕉\',680,300,[255,0,0])
       Screen(\'DrawText\',w,\'你的反应时间为\',600,450,[255,0,0])
       Screen(\'DrawText\',w,num2str(time),900,450,[255,0,0])
       Screen(\'DrawText\',w,\'秒\',1100,450,[255,0,0])
       Screen(\'Flip\',w);
    else
        Screen(\'DrawText\',w,\'你没有选择图像\',700,400,[255,0,0])
        Screen(\'Flip\',w);
    end
   
    WaitSecs(2)
    Screen(\'CloseAll\');%sca;关闭窗口
catch
    sca;
end
           

注意,各位使用的时候,要将引用的图片地址更改为自己的图片地址,我已上传资源,包含源码截图,总结等等,可直接运行。


总结

非常感谢您的观看,我上传的资源全部是免费下载,欢迎来我主页看看,请关注一下新人,我会非常努力的更新您需要的东西。

ItVuer - 免责声明 - 关于我们 - 联系我们

本网站信息来源于互联网,如有侵权请联系:561261067@qq.com

桂ICP备16001015号