1、MATLAB和图形用户界面:进行实验管理的工具行为研究方法,仪器仪表,计算机2000,32(2),290-294ERINM.HARLE和杰弗里洛夫特斯 华盛顿大学,西雅图,华盛顿MATLAB在管理心理实验方面是一个方便的平台,因为其易于使用的编程语言,先进的图形功能,统计和优化工具的开发。通过实施布雷纳德佩里心理物理学工具箱,MATLAB用户可获得CRT紧密的时间和空间的控制权,同时保留了一种有利于快速程序开发简单的解释语言。 MATLAB的能力通过易于编程的图形用户界面(GUI)可以进一步利用。我们阐释了GUI如何可以作为一个组织和控制心理实验各方面强大和直观的工具,包括设计,数据收集,数据
2、分析和理论拟合。我们在这里介绍三个相关的主题:第一,在心理研究领域利用MATLAB;第二,图形用户界面(GUI)在组织和运行实验里的价值;第三,我们在MATLAB环境里实施这样的一个图形用户界面。MATLAB与心理研究在过去的几年中MATLAB(数学作品的产物),已经被广泛的认为是一种运行心里实验的手段,特别是那些涉及感知和认知运行的实验。 MATLAB,代表了矩阵实验室,在高性能的数学计算和图形表示中是一个功能强大的平台,其基本数据元素是一个N维的矩阵(Hanselman的LITTLEFIELD的,1996)。MATLAB的主要优势在于作为一种用于创建和执行心理实验的手段,表现在其全面卓越的
3、数学和图形工具包。在这个单一的应用程序,可以实现以下所有实验任务:创建和操纵的刺激,设计实验,收集数据,统计分析,适合复杂的理论数据,交互式图形数据显示和执行。MATLAB运行在Macintosh,Windows和UNIX操作系统,包括一种编程语言和一大套面中心的数据。对于当前流行的平台MATLAB是一个很好的选择,如PSYSCOPE(科恩,MacWhinney,弗拉特,教务长,1993年;仪和沃恩,1999年)和MEL(圣詹姆斯施耐德,1991年,施耐德,1989)因为它为实验设计提供了更大的控制权,从而创造完全独特的实验。对于低层次的编程语言MATLAB也是一个很好的选择,如C和Pasca
4、l,因为从硬件细节抽象MATLAB的语言,一般更容易学习。作为一个结果,一个MATLAB用户接收的好处是一种编程语言,既有利于快速开发程序,并能用一种强大的和灵活性的低级别语言来执行(主要是通过心理物理学工具箱的附加功能,将在下面讨论)。心理物理学工具箱MATLAB在运行感觉和知觉的实验中是特别有用的,主要是由于用到了一套广泛的工具-心理物理学工具箱;由丹尼斯佩里和大卫布雷纳德编写-这种工具允许极其密切的时间,空间和色彩相关的控制权刺激基于CRT的显示器(布雷纳德,1997年,佩里,1997年)。具体来说,在工具箱中提供访问计算机的显示帧缓冲和颜色查找表,可以刺激显示器垂直回扫同步,支持毫秒计
5、时,和便于收集观察员响应(布雷纳德,1997年)。工具箱集成这些功能到一个大的集合,允许用户以存储预制视觉图像(例如,场景,形式,文字,或一些组合这些)在计算机的内存中和率显示这些图像的刺激,显示例程,只有显示器的刷新率被限制。例如,在一个Macintosh G3电脑,400 X400像素的灰度图像可以从存储器传输到屏幕缓冲区小于10毫秒,从而使这样的图像的序列(其中的数字只限于由计算机存储器),以尽可能快的速度显示。工具箱集成这些功能到一个大的集合,允许用户以存储预制视觉图像(例如,场景,形式,文字,或一些组合这些)在计算机的内存中和率显示这些图像的刺激,显示例程,只有显示器的刷新率被限制。
6、例如,在一个Macintosh G3电脑,400 X400像素的灰度图像可以从存储器传输到屏幕缓冲区小于10毫秒,从而使这样的图像的序列(其中的数字只限于由计算机存储器),以尽可能快的速度显示。心理物理学工具箱已被研究人员用于研究各种心理学领域的主题,包括脸和识别物体,心理生理阈值,色彩搭配,视觉搜索,分类信息,移动侦测,知觉学习。在这篇文章中,我们将简要地讨论我们使用工具箱,在非常短暂暴露持续时间里显示高通和低通滤波的数字串。数据分析工具和理论拟合MATLAB提供了广泛的数据分析中使用的功能。例如,可选的统计工具箱包括200多个例程,涵盖的主题包括,但不仅限于,描述性统计,概率分布,线性和非
7、线性建模,多元统计分析,假设检验。 MATLAB还提供了绘图工具,用于创建演示各种形式,包括折线图,散点图,树形图,饼图和箱图和条形图和直方图,以及立体的轮廓,表面形状,和网格图(带有可选的优质地块动画)。在感知和认知领域的实验者往往希望他们的数据,能适应数学理论。 MATLAB的可选优化工具箱,提供了必要的工具,拟合复杂的,非线性的数学模型与一些自由参数,但没有解析解。对于一个给定的数据集,优化程序找到的自由参数的值,最大限度地减少所需的某些误差函数(例如,根均方误差之间的数据和理论所预测的)。MATLAB的直观式编程语言MATLAB结合为一种编程语言,在结构上类似于许多常见的语言,如FOR
8、TRAN,BASIC,PASCAL,和C元素,有人指出,使MATLAB的语言独特的是,它采用了矩阵作为其基本元素。此属性赋予了许多好处,其中之一是:在大多数编程语言里,一组号码来执行相同的数学运算变得耗时和麻烦,因为操作必须为每一个数字被重复(一般通过循环),其中一个数需要一个时间段。越多维数的数据结构执行这样的操作则需要嵌入数量越多的循环。然而,在MATLAB的编程语言里,数据结构解释为矩阵,并且几乎所有的操作,简单的像可以在一个单一的步骤把1加入各结构元件或像发现小于0的一个复杂结构中的所有元素。因此,这些任务的嵌入式循环在MATLAB中被淘汰,节约了程序员的时间,并减少编程程序的长度和复
9、杂性。以 MATLAB的矩阵为基础的语言第二个好处涉及到图像的使用和操作。正因为如此,图像存储在MATLAB矩阵,他们可以快速,轻松地操纵或改变(例如过滤,加入噪声,减少/增加对比度,等等),通过矩阵运算。像其他编程平台,MATLAB提供自动格式化功能,如颜色编码的注释,字符串,和关键词,以及缩进循环,从而提高清晰度和组织的程序代码。这些特点的净效应,结合MATLAB的简单而直观的编程语法,能让很少或没有事先编程经验的人在一个星期内,很快成为一个精通MATLAB程序员并且会编写复杂的程序。图形用户界面一个用户可以主要用三种方式通过MATLAB与电脑进行交互:通过在命令窗口中,通过使用脚本和函数
10、,并通过图形用户界面。在命令窗口为MATLAB的默认I/ O技术。正如它的名字所暗示的,它是一个窗口,可以输入任何标准的MATLAB命令或用户定义的命令,如“2 +2”或“答案= CONV2(屏蔽,过滤器),”。虽然在命令窗口足以完成简单的任务,它往往是有益于创建一个文件,其中包含这样的命令列表。这些文件被称为脚本,如果他们只是执行命令和函数的列表,或如果他们接受输入参数和/或返回输出参数。脚本和函数都可以被执行,也可以直接从命令窗口或从其他脚本或功能。提供一个例子,我们写了一个函数,并使用经常被称为“ComputeContrast。”它需要两个输入值(FC),前景色和背景色(BC),并返回由
11、式(FC - BC)/(FC + BC)计算出的对比度值。一个图形用户界面,作为第三通信的移动设备,在用户和编程语言之间提供了一个直观接口的。图形用户界面允许用户完全绕过MATLAB命令,而不是通过简单的鼠标点击或按键(最常见的应用,如Word和Photoshop,以及Macintosh和Windows操作系统,执行程序例程实现为复杂的图形用户界面)。用户没有必要的MATLAB或计算机编程的知识也能成功驾驭一个精心设计的图形用户界面,事实上,从用户的角度来看,语言背后的GUI是无关紧要的。图形用户界面的范围可以从简单的问题框,提示用户的是/否响应,更复杂的接口,下面将提供其中一个例子。 MAT
12、LAB为用户提供了直观的工具作为简单结构的图形用户界面; MATLAB提供的图形用户界面创建工具的详细描述见马尔尚(1999)。在心理实验中使用图形用户界面为了说明在心理实验中使用图形用户界面的好处,我们将描述一个特定的GUI,这种GUI被用来匹配在我们的实验室中的视觉感知实验。例:筛选实验为了给读者提供理解和解释我们的例子内容的基础,我们将首先简要介绍实验创建的GUI。实验中,我们将调用过滤实验,旨在探讨某些种类的空间频率滤波简要介绍了数字串(,如奥兹恩格尔,1998年教区斯珀林,1991年),知觉和记忆。刺激,随机选择了四位数字的字符串呈现在三个空间频率条件:正常(N),低空间频率(LSF
13、),和高空间频率(HSF)。在一个给定的试验中,发生以下事件序列。首先,一种刺激,在三个空间过滤条件之一里,准备放在六分之一的暴露持续时间下,第二,观察者试图以正确的顺序回忆记忆中的数字(猜测,如果需要的话);第三,视觉和/或听觉反馈提供了依据。在过滤实验中使用的程序都写在MATLAB中,利用标准的MATLAB例程配合布雷纳德佩里心理物理学工具箱刺激呈现例程。组织多个数据集十四名观察员参加过滤实验,共产生了64个数据集(数据集是一组实验试验,都涉及相同的实验参数值)。三位观察员收集试点在开发阶段的实验数据。三种不同的观察员为最后四个版本的实验收集的数据(在这种面膜/无面罩和低通滤波器的尺寸变化
14、)。最后,8个观察员收集到的数据,以作为一个后续的实验实践的,以确定适当的实验参数(对比,持续时间等),在后续的实验中使用的。尽管它可能看起来好像整理了所有这些观察员和数据集用他们不同的实验参数,将会耗时和复杂,一个明确的轨迹设计,使实验能轻松从多个观察员那里控制多个数据集。示例图形用户界面该GUI用来创建匹配过滤实验由两个窗口组成:一个主窗口,如图1所示,一个理论窗口,描绘在图2中,我们将依次讨论。GUI的主窗口包含4主要组件:观察员信息,设置,预览刺激;反馈选项和数据收集,数据分析,绘图选项,和图形显示;和从主窗口以一个链接的形式退出理论窗口或退出按钮。我们将描述这些组件在设计,数据收集,
15、数据分析,筛选实验中的理论应用,这些范围内所作出的贡献。从图形用户界面内操纵实验参数 像我们在筛选实验中使用的例子,很多实验项目,特别是那些涉及感觉和知觉,涉及一系列相互关联的数据收集。比如,一个调查信息获取进行对比的项目,可能会涉及一系列的实验,每个具有不同的持续时间和对比度的值,通常涉及选择其他实验参数的问题。通常情况下,这些实验作为试点实验,在设计主要实验和收集最终的数据之前,为个别观察员绘制出一片能够感知的空间。当数据集的数量随着一个项目的增长而增长,在一个系统或最佳的方案里改变实验参数变得越来越难,因为这样的参数往往是嵌入在相关方案的代码中。当每次增加观察者的数据集的数目时对哪一数据
16、来自那一位观察员的追踪也变得单调乏味。一种直觉是处理这些问题的一个有用的工具,因为它可以作为一个小型的数据库做双份任务。通过其使用,实验者可以很容易地在一个单一的视觉显示里的多名观察员设置,改变和跟踪实验参数。这种设计用来实现这些目的的特点在我们例子中的图形用户界面得以展现,(参见图1)有以下几种。观察员的信息。我们的GUI的主窗口,在左上角部分区域专门观察员信息和数据文件的设置。在这里,所有观察员的缩写一个弹出式菜单中列出。一旦已经选择了一个特定的观察者,观察者的信息被将加载并且Gut会更新,参数值会被显示,以及任何出现的数据会绘制在Gut的图形显示里。通常是真实的,如果正在考虑的观察员有一个以上的数据集,一个特定的数据集可以被称为“选定设置”弹出菜单中的数据,Gut将再次被更新。在图1中观察员E.U.被选中,她有五个现有的数据集,其中数据集2已被选定用来分析。这样的数据集的各种参数值被显示在编辑框,以及在GUI的左侧。这种方式允许了