PSYCHTOOLBOX工具箱及MATLAB编程实例

节选

[

PsychToolbox(PTB)是专门用于心理学实验编制的免费函数库,它提供了对硬件操作的底层接口,能够开发功能复杂,近乎各个自然科学和社会科学研究领域的实验程序,与Matlab能够完美结合。本书是根据作者十几年的编程经验写作而成。全书共分13章,主要介绍了Matlab基础知识、Matlab编程基础、用于实验编程的常用Matlab函数、PsychToolbox函数介绍、PTB与OpenGL的结合、与EyeLink眼动仪的连接等内容。

]

本书特色

[

  psychtoolbox(ptb)是专门用于心理学实验编制的免费函数库,它提供了对硬件操作的底层接口,能够开发功能复杂,近乎各个自然科学和社会科学研究领域的实验程序,与matlab能够完美结合。本书是根据作者十几年的编程经验写作而成。全书共分13章,主要介绍了matlab基础知识、matlab编程基础、用于实验编程的常用matlab函数、psychtoolbox函数介绍、ptb与opengl的结合、与eyelink眼动仪的连接等内容。

]

内容简介

[

  psychtoolbox(ptb)是专门用于心理学实验编制的免费函数库,它提供了对硬件操作的底层接口,能够开发功能复杂,近乎各个自然科学和社会科学研究领域的实验程序,与matlab能够完美结合。本书是根据作者十几年的编程经验写作而成。全书共分13章,主要介绍了matlab基础知识、matlab编程基础、用于实验编程的常用matlab函数、psychtoolbox函数介绍、ptb与opengl的结合、与eyelink眼动仪的连接等内容。

]

作者简介

[

  冯成志,苏州大学心理系教授,浙江大学心理系毕业。有着多年的实践教学经验和资深的学术研究经验,主要研究方向是人机交互。

]

目录

第1章 matlab基础知识1.1 启动与退出1.2 matlab界面组成1.3 命令的执行1.4 获取帮助信息第2章 数据类型2.1 数值型2.2 字符型2.3 日期时间型2.4 单元2.5 结构第3章 matlab编程基础3.1 常数与常量3.2 变量3.3 变量类型3.3.1 局部变量3.3.2 全局变量3.3.3 永久变量3.4 关键字3.5 运算符3.5.1 算术运算符3.5.2 关系运算符3.5.3 逻辑运算符3.5.4 逻辑运算函数3.6 过程控制3.6.1 if条件语句3.6.2 switch条件语句3.6.3 for循环语句3.6.4 while循环语句3.6.5 try错误控制语句第4章 程序设计4.1 m文件的建立4.2 脚本示例4.3 函数示例4.4 程序(m文件)的运行4.5 函数参数的处理方式4.5.1 默认处理4.5.2 命令行输入4.5.3 对话框设置参数4.5.4 参数值的记忆与存取4.5.5 函数的返回参数4.5.6 可变数目的输入/输出参数4.6 函数的类型4.6.1 主函数4.6.2 子函数4.6.3 函数间的调用关系4.6.4 函数的调用顺序第5章 实验设计常用matlab函数5.1 矩阵数组操作类函数5.1.1 数组排序:sort5.1.2 数组行排序:sortrows5.1.3 矩阵旋转:rot905.1.4 矩阵左右/上下翻转:fliplr/flipud5.1.5 矩阵水平/垂直拼接:horzcat/vertcat5.1.6 数组的重复:repmat5.1.7 数组维数变更:reshape5.1.8 获取数组维数:size5.1.9 获取矩阵长度:length5.1.10 获取数组元素数:numel5.1.11 获取数组的维度数:ndims5.1.12 两个常用矩阵:ones/zeros5.1.13 生成等间隔向量:linspace5.1.14 生成网格:meshgrid5.2 判断类函数5.2.1 是否为空:isempty5.2.2 是否为列向量:iscolumn5.2.3 是否为浮点数:isfloat5.2.4 是否为整数:isinteger5.2.5 是否为逻辑值:islogical5.2.6 是否为非数值:isnan5.2.7 是否无穷大:isinf5.2.8 是否为行向量:isrow5.2.9 是否为向量:isvector5.2.10 是否为数值:isnumeric5.2.11 是否相等:isequal5.2.12 是否为字符:ischar5.2.13 是否为字母:isletter5.2.14 是否为空格:isspace5.2.15 是否为集合元素:ismember5.3 字符操作类函数5.3.1 创建空格:blanks5.3.2 格式化为字符:sprintf5.3.3 转换为大/小写:upper/lower5.3.4 去除首尾空格:strtrim5.3.5 去除尾部空格:deblank5.3.6 字符替换:strrep5.3.7 字符查找:findstr/strfind5.3.8 格式化读取:sscanf/strread5.3.9 执行字符表达式:eval5.3.10 子串提取:strtok5.3.11 字符比较:strcmp/strcmpi/strncmp/strncmpi5.3.12 字符拼接:strcat/strvcat5.4 随机操作类函数5.4.1 介于[0,1]间的均匀分布随机浮点数:rand5.4.2 介于[1,n]间的均匀分布随机整数:randi5.4.3 正态分布随机数:randn5.4.4 设置随机数种子:seed5.4.5 通过随机数流来控制随机数种子:randstream5.4.6 随机排列:randperm5.4.7 重置随机数流:reset5.4.8 随机排列数组或矩阵:shuffle5.4.9 随机抽样:sample5.4.10 随机抽样:randsample5.5 转换操作类函数5.5.1 字符转数值:str2num5.5.2 字符转双精度数:str2double5.5.3 非负整数转字符:char5.5.4 数值转换字符:num2str5.5.5 数值转换单元:num2cell5.5.6 整数转换成字符:int2str5.5.7 结构转单元:struct2cell5.5.8 单元转结构:cell2struct5.5.9 单元转矩阵:cell2mat5.6 路径操作类函数5.6.1 获取matlab安装目录:matlabroot5.6.2 获取当前工作路径:pwd5.6.3 改变当前目录:cd5.6.4 文件或路径列表:dir5.6.5 显示当前目录下的文件列表:ls5.6.6 获取工具箱目录:toolboxdir5.6.7 创建目录:mkdir5.6.8 删除目录:rmdir5.6.9 垃圾箱控制开关:recycle5.6.10 获取系统临时目录:tempdir5.6.11 获取指定路径下的文件:filefromfolder/folderfromfolder5.6.12 添加路径至搜索路径中:addpath5.6.13 从搜索路径列表中移除某路径:rmpath5.6.14 获取搜索路径分隔符:pathsep5.6.15 获取文件名分隔符:filesep5.6.16 拆分文件的路径和名称信息:fileparts5.6.17 组合全路径文件名:fullfile5.7 文件操作类函数5.7.1 打开文件:fopen5.7.2 关闭文件:fclose5.7.3 读取二进制数据:fread5.7.4 写入文件:fwrite5.7.5 读取一行:fgetl5.7.6 读取一行:fgets5.7.7 格式化数据读取:fscanf5.7.8 格式化数据输出:fprintf5.7.9 文件操作错误信息:ferror5.7.10 文件尾判断:feof5.7.11 文件指针定位:fseek5.7.12 获取文件指针位置:ftell5.7.13 文件指针复位:frewind5.7.14 获取临时文件名:tempname5.7.15 文件或目录的移动、更名:movefile5.7.16 文件或目录复制:copyfile5.7.17 定位文件或函数:which5.7.18 检查文件/目录/变量等是否存在:exist5.7.19 将结构数组写入文件:writestructtotext5.7.20 从文本中读取结构数组:readstructsfromtext5.7.21 文件比较:visdiff5.7.22 显示文件内容:type5.7.23 设置/获取文件或目录的属性:fileattrib第6章 psychtoolbox的安装6.1 psychtoolbox简介6.2 psychtoolbox安装6.2.1 系统要求与配置6.2.2 版本检查与卸载6.2.3 安装新版本的psychtoolbox第7章 psychtoolbox常用数据类型7.1 颜色7.2 矩形结构7.3 窗口句柄7.4 时间单位7.5 反应方式7.6 文本7.7 图片7.8 音频7.9 视频7.10 键盘扫描码7.11 鼠标按钮值第8章 psychtoolbox函数介绍8.1 窗口操作类函数8.1.1 创建主页面:openwindow8.1.2 创建缓冲页面:openoffscreenwindow8.1.3 创建纹理缓冲:maketexture8.1.4 页面切换:flip8.1.5 绘制结束指令:drawingfinished8.1.6 关闭页面:close8.1.7 关闭所有页面:closeall/sca8.1.8 选择目标缓冲区:selectstereodrawbuffer8.2 矩形操作类函数8.2.1 矩形拼接:adjoinrect8.2.2 矩形对齐:alignrect8.2.3 创建矩形阵列:arrangerects8.2.4 矩形居中至某矩形:centerrect8.2.5 矩形居中至某点:centerrectonpoint/centerrectonpointd8.2.6 矩形重叠区域:cliprect8.2.7 矩形缩放(正放负缩):growrect8.2.8 矩形缩放(正缩负放):insetrect8.2.9 矩形缩放(比例缩放):scalerect8.2.10 矩形是否为空:isemptyrect8.2.11 某点是否在矩形内:isinrect8.2.12 矩形平移:offsetrect8.2.13 获取矩形中心:rectcenter/windowcenter8.2.14 获取矩形中心:rectcenterd8.2.15 获取矩阵的边界矩形:rectofmatrix8.2.16 获取矩形的高度:rectheight8.2.17 获取矩形的宽度:rectwidth8.2.18 获取矩形的宽和高:rectsize8.2.19 获取矩形的左边坐标:rectleft8.2.20 获取矩形的右边坐标:rectright8.2.21 获取矩形的顶边坐标:recttop8.2.22 获取矩形底坐标:rectbottom8.2.23 创建矩形:setrect8.2.24 获取矩形对应的数组尺寸:sizeofrect8.2.25 获取矩形的*小边界区域:unionrect8.3 绘制类函数8.3.1 画点:drawdots/screendrawdots8.3.2 画线:drawline8.3.3 一次画多条线:drawlines8.3.4 画虚线:linestipple8.3.5 画弧:drawarc8.3.6 画粗线弧:framearc8.3.7 画扇形(填充弧):fillarc8.3.8 画实心矩形:fillrect8.3.9 画矩形:framerect8.3.10 填充椭圆:filloval8.3.11 画空心椭圆frameoval8.3.12 画多边形:framepoly8.3.13 填充多边形:fillpoly8.4 文本操作类函数8.4.1 文本模式:textmodes与textmode8.4.2 绘制文本:drawtext8.4.3 绘制格式化文本:drawformattedtext8.4.4 字体:textfont8.4.5 文本大小:textsize8.4.6 文本样式:teststyle8.4.7 文本边界:textbounds8.4.8 文本颜色:textcolor8.4.9 文本背景色:textbackgroundcolor8.4.10 字符拼接:catstr8.4.11 字符前填充:strpad8.4.12 字符串比较:streq8.4.13 字符替换:replace8.5 图片/图像处理类函数8.5.1 图片文件读取:imread8.5.2 生成圆或椭圆:ellipse8.5.3 在圆上均匀采样:samplecircle8.5.4 在球面上均匀采样:samplesphere8.5.5 正弦/余弦函数图像(光栅):makesineimage/makecosimage8.5.6 拆解彩色图片数据成分:unpackcolorimage8.5.7 合并彩色图片数据成分:packcolorimage8.5.8 透明化处理:maskimagein/maskimageout8.5.9 纹理预加载:preloadtextures8.5.10 纹理绘制:drawtexture8.5.11 一次性绘制多个纹理:drawtextures8.5.12 窗口复制:copywindow8.5.13 窗口图像获取:getimage8.5.14 图像绘制:putimage8.5.15 颜色混合函数:blendfunction8.6 多媒体操作类函数8.6.1 打开影片:openmovie8.6.2 关闭影片:closemovie8.6.3 获取影片图像:getmovieimage8.6.4 播放影片:playmovie8.6.5 获取影片时间:getmovietimeindex8.6.6 设置影片时间:setmovietimeindex8.6.7 创建影片:createmovie8.6.8 添加帧:addframetomovie8.6.9 添加音频信息:addaudiobuffertomovie8.6.10 生成影片:finalizemovie8.7 音频处理类函数8.7.1 生成频率纯音:makebeep8.7.2 播放“啵”声:beeper8.7.3 ptb集成功能:snd8.7.4 读取波形声音文件:wavread8.7.5 写波形声音文件:wavwrite8.7.6 波形声音文件信息:wavfinfo8.7.7 读取au音频文件:auread8.7.8 写au音频文件:auwrite8.7.9 au声音文件信息:aufinfo8.7.10 获取多媒体文件信息:mmfileinfo8.7.11 音频数据播放:sound8.7.12 创建音频播放器:audioplayer8.7.13 创建录音机对象:audiorecorder8.7.14 获取音频设备信息:audiodevinfo8.8 时间类函数8.8.1 启动计时器:tic8.8.2 读取计时器时间进度:toc8.8.3 获取时间值:getsecs8.8.4 等待指定时间:waitsecs8.8.5 暂停:pause8.8.6 获取时间:getticks8.8.7 等待时间:waitticks8.8.8 获取滴答间隔:gettickstick8.8.9 getsecs时间精度:getsecstick8.8.10 获取总线滴答数:getbusticks8.8.11 getbusticks时间精度:getbustickstick8.9 按键操作类函数8.9.1 按键判断:kbcheck8.9.2 按键名称与扫描码:kbname8.9.3 等待按键行为:kbwait8.9.4 按压等待:kbpresswait8.9.5 释放等待:kbreleasewait8.9.6 击键等待:kbstrokewait8.9.7 获取可键入字符:getchar8.9.8 获取键盘事件队列中的字符:charavail8.9.9 刷新事件队列:flushevents8.9.10 字符监听设置:listenchar8.9.11 获取鼠标状态:getmouse8.9.12 设置鼠标位置:setmouse/waitsetmouse8.9.13 等待鼠标点击:getclicks8.9.14 询问:ask8.9.15 光标隐藏:hidecursor8.9.16 光标显示:showcursor8.9.17 限制按键检查范围:restrictkeysforkbcheck8.10 语音输入类函数8.10.1 加载高性能声卡驱动:initializepsychsound8.10.2 打开音频设备:open8.10.3 加载播放缓冲区:fillbuffer8.10.4 重新填充播放缓冲区:refillbuffer8.10.5 获取捕获音频数据:getaudiodata8.10.6 启动音频设备:start8.17.7 停止音频设备:stop8.10.8 关闭音频设备:close8.10.9 音量控制:volume8.10.10 打开虚拟附属设备:openslave8.10.11 创建动态音频缓冲区:createbuffer8.10.12 删除缓冲区:deletebuffer8.10.13 打开或关闭播放列表:useschedule8.10.14 添加音频缓冲区至播放队列:addtoschedule8.10.15 调整开始播放时间:reschedulestart8.10.16 设置播放片断始末点:setloop8.10.17 获取音频设备状态信息:getstatus8.10.18 设置或获取延迟偏差:latencybias8.10.19 声音输入监控设置:directinputmonitoring8.10.20 设置或获取工作模式:setopmode8.10.21 设置或获取运行模式:runmode8.10.22 获取音频设备数:etopendevicecount8.10.23 获取音频设备信息:getdevices8.10.24 获取或设置底层驱动参数:enginetunables8.10.25 控制输出信息量:verbosity8.11 视频捕获类函数8.11.1 打开视频设备:openvideocapture8.11.2 开始视频捕获:startvideocapture8.11.3 获取捕获图像:getcapturedimage8.11.4 停止视频捕获:stopvideocapture8.11.5 关闭视频捕获设备:closevideocapture8.11.6 视频捕获参数设置:setvideocaptureparameter8.12 matlab对话框类函数8.12.1 输入对话框:inputdlg8.12.2 错误提示对话框:errordlg8.12.3 帮助对话框:helpdlg8.12.4 列表选择对话框:listdlg8.12.5 信息对话框:msgbox8.12.6 询问对话框:questdlg8.12.7 警告对话框:warndlg8.12.8 文件选择对话框:uigetfile8.12.9 文件保存对话框:uiputfile8.12.10 变量保存对话框:uisave8.12.11 变量导出对话框:export2wsdlg8.12.12 文件打开对话框:uiopen8.12.13 目录选择对话框:uigetdir8.12.14 颜色设置对话框:uisetcolor8.12.15 字体设置对话框:uisetfont8.12.16 图形打印预览对话框:printpreview8.12.17 图形打印对话框:printdlg8.12.18 进度等待对话框:waitbar8.13 系统环境信息类函数8.13.1 获取版本信息:version8.13.2 获取计算机系统信息:compuer8.13.3 获取显示器数:screens8.13.4 获取窗口列表:windows8.13.5 窗口类型:windowkind8.13.6 判断是否为缓冲页面:isoffscreen8.13.7 获取刷新频率(帧速率):framerate8.13.8 获取刷新频率:nominalframerate8.13.9 获取页面切换时间:getflipinterval8.13.10 获取窗口所处显示器:windowscreennumber8.13.11 获取窗口或显示器的矩形尺寸:rect8.13.12 获取像素位数:pixelsize8.13.13 获取可用的像素位数:ixelsizes8.13.14 获取窗口或显示器的尺寸:windowsize8.13.15 获取显示器的尺寸:displaysize8.13.16 获取窗口的颜色范围:colorrange8.13.17 获取窗口信息:getwindowinfo8.13.18 获取显示器的分辨率:resolutions8.13.19 设置/获取显示器的显示模式:resolution8.14 偏好设置类函数8.14.1 是否区分大小写:ignorecase8.14.2 不输出警告信息:suppressallwarnings8.14.3 调试信息详细度:visualdebuglevel8.14.4 文本渲染:textrenderer8.14.5 文本平滑处理:textantialiasing8.14.6 设置默认字体大小:defaultfontsize8.14.7 设置默认字体式样:defaultfontstyle8.14.8 设置默认字体名称:defaultfontname8.14.9 忽略同步扫描检测:skipsynctests8.14.10 设置三维图形模式:enable3dgraphics第9章 psychtoolbox实验设计实例9.1 指导语呈现方式9.2 单次试验(trial)的实现9.2.1 提醒被试做好准备9.2.2 呈现刺激(序列)9.2.3 等待被试做出反应9.2.4 给予反馈9.2.5 收集数据9.3 逐步完善试验的连续运行9.4 多种处理条件的组合9.5 刺激的同时呈现9.6 刺激的序列呈现9.7 刺激的循环呈现9.8 多阶段组合9.9 键盘鼠标控制编程9.10 语音反应编程9.11 游戏编程9.12 问卷调查与量表测试9.13 matlab内置函数应用示例9.14 图形用户界面开发9.14.1 guide界面简介9.14.2 gui编程9.14.3 gui编程实例第10章 ptb与opengl的结合10.1 opengl渲染控制类函数10.1.1 初始化opengl:initializematlabopengl10.1.2 开始opengl渲染:beginopengl10.1.3 结束opengl渲染:endopengl10.1.4 设置opengl纹理:setopengltexture10.1.5 获取opengl纹理:getopengltexture10.1.6 opengl状态压栈:glpushmatrix10.1.7 恢复opengl保存状态:glpopmatrix10.1.8 加载默认设置:glloadidentity10.1.9 平移:gltranslate10.1.10 缩放:glscale10.1.11 旋转:glrotate10.2 ptb中嵌入opengl需注意的问题10.3 opengl例程第11章 ptb与eyelink眼动仪的连接11.1 eyelink系统函数11.1.1 眼动仪默认初始化:eyelinkinitdefaults11.1.2 眼动仪初始化:initialize11.1.3 眼动仪虚拟初始化:initializedummy11.1.4 眼动仪集成初始化:eyelinkinit11.1.5 关闭眼动仪:shutdown11.1.6 系统检测:testsuite11.2 eyelink校正函数11.2.1 配置眼动仪:startsetup11.2.2 集成化校正:eyelinkdotrackersetup11.2.3 漂移校正:driftcorrstart11.2.4 集成化漂移校正:eyelinkdodriftcorrstart11.2.5 校正生效:applydriftcorr11.2.6 获取目标坐标:targetcheck11.2.7 接受注视触发:accepttrigger11.3 eyelink数据函数11.3.1 创建或打开眼动数据文件:openfile11.3.2 眼动数据传输:receivefile11.3.3 数据文件关闭及保存:closefile11.3.4 开始数据记录:startrecording11.3.5 停止数据记录:stoprecording11.3.6 检查新数据:newfloatsampleavailable11.3.7 获取新数据:newestfloatsample11.3.8 获取新的原始数据:newestfloatsampleraw11.3.9 获取数据类型:getnextdatatype11.3.10 获取浮点数据:getfloatdata11.3.11 获取浮点原始数据:getfloatdataraw11.4 eyelink状态函数11.4.1 获取追踪眼睛:eyeavailable11.4.2 连接状态检验:isconnected11.4.3 获取校准结果:calresult11.4.4 记录状态检查:checkrcording11.4.5 获取眼动仪型号:gettrackerversion11.4.6 获取眼动仪当前模式:currentmode11.4.7 图像模式检测:imagemodedisplay11.5 eyelink命令函数11.5.1 回显文本:echo11.5.2 调整当前输出位置:print_position11.5.3 清除屏幕:clear_screen11.5.4 画线:draw_line11.5.5 画方框:draw_box11.5.6 画实心矩形:draw_filled_box11.5.7 画文本:draw_text11.5.8 画十字:draw_cross11.5.9 设置传输数据类型:link_sample_data11.5.10 设置传输事件类型:link_event_data11.5.11 设置传输事件类型:link_event_filter11.5.12 设置存储数据类型:file_sample_data11.5.13 设置存储事件类型:file_event_data11.5.14 设置存储事件类型:file_event_filter11.6 eyelink信息函数11.7 eyelink按键函数11.8 eyelink杂项函数11.8.1 时间请求:requesttime11.8.2 读取眼动仪时间:readtime11.8.3 获取眼动仪运行时间:trackertime11.8.4 获取时间差:timeoffset11.8.5 使眼动仪离线:setofflinemode11.8.6 设置模式转换等待时间:waitformodeready11.8.7 设置信息显示等级:verbosity第12章 ptb与smi/iviewx眼动仪的连接12.1 iviewx数据结构12.2 iviewx系统函数12.2.1 眼动仪默认初始化:iviewxinitdefaults12.2.2 眼动仪命令设置:iviewx12.2.3 眼动仪连接初始化:initialize12.2.4 眼动仪校正:calibration12.2.5 漂移校正:driftcorrection12.2.6 关闭眼动仪:shutdown12.2.7 打开眼动仪连接:openconnection12.2.8 关闭连接:closeconnection12.2.9 与眼动仪进行通信:iviewxcomm12.3 iviewx数据函数12.3.1 开始记录眼动数据:startrecording12.3.2 获取眼动数据:receivedata12.3.3 信息写入:message12.3.4 停止眼动数据记录:stoprecording12.3.5 打开数据流:datastreamingon12.3.6 关闭数据流:datastreamingoff12.4 iviewx sdk12.4.1 数据结构12.4.2 库文件加载:loadlibrary12.4.3 调取库函数:calllib12.4.4 卸载库文件:unloadlibrary12.4.5 创建供动态库使用的结构指针:libstruct12.4.6 创建对象指针:libpointer12.4.7 浏览库函数:libfunctions/libfunctionpreview第13章 ptb与neuroscan脑电仪的连接附录附录1 键名与扫描码[kbname(‘keynames’)返回值]附录2 键名与扫描码[kbname(‘keynamesosx’)返回值]参考文献后记

封面

PSYCHTOOLBOX工具箱及MATLAB编程实例

书名:PSYCHTOOLBOX工具箱及MATLAB编程实例

作者:冯成志

页数:494

定价:¥59.0

出版社:电子工业出版社

出版日期:2013-08-01

ISBN:9787121209185

PDF电子书大小:148MB 高清扫描完整版

百度云下载:http://www.chendianrong.com/pdf

发表评论

邮箱地址不会被公开。 必填项已用*标注