matlab课堂笔记,厦门大学matlab第四次课程笔记 PTB的简单讲解
主要内容简介:1.打开窗口;2.绘制图像;3.记录被试按键反应;4.记录被试鼠标反应
% memory命令可以返回当前计算机的内存信息
% PTB初期可以调小窗口进行调试
% [wptr,~]=Screen('OpenWindow',0,0,[50 50 800 600]); 启动一个显示窗口。第一个字段指定启动命令;第二个字段将启动的窗口显示在外联屏幕上:当值为零时,在同一屏幕上显示在两个显示器上;当值为一,则指定使用一号外联屏;当值为二,则指定使用二号外联屏。第三字段定义了显示区域的颜色背景;第四字段控制显示区域的尺寸与布局。
% [x,y]=WindowCenter(wptr); 获取打开窗口的中点
% pic=imread('701.jpg'); 获取图像的矩阵
通过调用Screen函数将图像矩阵转译为OpenGL纹理,并返回相应的句柄号
Screen('DrawTexture',wptr,pic2,[],[x-150,y-150,x+150,y+150]); 通过该句柄将纹理绘入指定窗口
Screen('Flip',wptr); 执行“”翻转“”命令,将图像显示在显示器上
WaitSecs(5); 等待5秒钟,即图像显示5秒钟
pic=imread('701.jpg');
pic2=Screen('MakeTexture',wptr,pic);
Screen('DrawTexture',wptr,pic2,[],[x-150,y-150,x+150,y+150]);
Screen('Flip',wptr);
WaitSecs(5);
% 只要两个图像位置不重叠,是可以在一个画板上显示很多图像的
pic=imread('702.jpg');
pic2=Screen('MakeTexture',wptr,pic);
Screen('DrawTexture',wptr,pic2,[],[x-300,y-150,x,y+150]);
pic=imread('703.jpg');
pic2=Screen('MakeTexture',wptr,pic);
Screen('DrawTexture',wptr,pic2,[],[x,y-150,x+300,y+150]);
Screen('Flip',wptr);
% [string,terminatorChar] = GetEchoString(wptr,'_',x+100,y+200,255,0); 此函数用于捕获参与者对特定位置字符的操作。其中'-'标识为提示符/标题。后续参数指定标题的位置。最后两参数分别设置字符的颜色与背景色,并要求参与者使用回车键完成输入后继续操作。若需要存储数字信息如被试编号,则将字符串类型改为数值型(number),具体可参考相关文档
这段代码仅在被试触发特定按键反应时才会继续运行。
con=KbName('return'); %return 就是回车键
tb1=GetSecs; %记录当前时间
while 1; %一直循环
[KD,SECS,KC]=KbCheck; %查询键盘状态
tb2=GetSecs; %记录当前时间
if KC(con); % 检测return键是否被按
rt=tb2-tb1; %计算反应时
break; %跳出当前循环
end
end
% 下面是当被试做出鼠标按键反应的时的实验程序的一段代码
clear all;close all;
[wptr,~]=Screen('OpenWindow',0,255,[50 50 450 250]);
Screen('DrawText',wptr,'Left button: Draw a Circle');
Screen('DrawText',wptr,'Right button: Exit',0,20);
Screen('Flip',wptr);
while true %一直循环
[x,y,buttons]=GetMouse(wptr);%检测当前窗口的鼠标状态,x与y表示鼠标的坐标位置,button有3个值,1是左键,2是中间键,3是右键
if buttons(3) %若按了右键
break; %跳出当前循环
elseif buttons(1) %若按了左键
Screen('DrawText',wptr,'Left button: Draw a Circle',0,0);
Screen('DrawText',wptr,'Right button: Exit',0,20);
Screen('FillOval',wptr,0,[x-10 y-10 x+10 y+10]);%后两个参数是颜色和位置
Screen('Flip',wptr);
end
end
sca;
% sca是Screen('CloseAll')的简写,关闭所有窗口,多用于实验结束的时候
来源:https://www.cnblogs.com/zxpsyneuroscience/p/12231684.html
