2|2 什么是 Matlab(什么是 Psychtoolbox?)

Matlab 是什么鬼? 【2|2 什么是 Matlab(什么是 Psychtoolbox?)】Matlab 是Matrix Laboratory(矩阵实验室)的缩写,顾名思义,它的工作与矩阵有关。Matlab 最早是由美国新墨西哥大学的Cleve Moler教授开发出来的,主要用于数学计算与教学,最初版本只能做一些简单的矩阵运算。
这样看来它就是一个功能超强的计算器,好像与咱们心理学专业没什么关系。别急,请继续往下看。
后来,Cleve Moler 与另外两名合作者一起创办了MathWorks公司,其主营业务就是 matlab 产品。经过多年的版本迭代更新,Matlab 不仅完善了它的数学功能,更重要的是还可以在它上面写程序。
Matlab 还很灵活,它不仅可以跑它自己的脚本代码,还可以调用其它语言写的程序(例如,python, C, C++ 等)。众所周知,写程序的目的是操控电脑,让它帮我们干活,所以Matlab成为一个可编程的平台以后,就变得几乎无所不能了。
由于 Matlab 自带超强科学计算 buff,因此,它在全世界的工程与科研领域应用广泛。
Matlab 还有一个很重要的特性就是它有很多的扩展包,这个东西在 Matlab 里面被称作工具箱。它节省了大量的程序开发时间,也让 Matlab
变得易用、友好。这里我要解释下是什么原因。
假如说,我要让电脑在屏幕上显示一句话 Hello World!, 如果没有现成的“命令”,我可能需要专门写一段代码来完成这个工作。后来,我发现经常做类似的工作,如果我每次都要重复写这种代码,显然开发效率是非常低的。
那如果我能写一段代码把它包装成一个“命令”,以后用这个“命令”来完成相应的工作,就可以省去大量的重复劳动。所以,几乎在每个程序设计语言中,都能看到类似显示一句话的“命令”。
在 Matlab 中,显示Hello World!的代码是这样的:disp 'Hello World!'。 类似的,在实际工作中,能看到大量的重复工作,很多开发者就把这些重复工作做成了可供别人直接使用的“命令包”,它可以看作是很多个“命令”的集合。这件事情在程序猿界被称为“造轮子”。
Matlab 针对不同行业工作者,开发了不同的工具箱,这些工具箱有 Matlab 官方开发的,也有第三方团队提供的。
这样一来,程序开发的门槛大大降低。写程序就像搭积木一样,用不同功能的积木模块拼搭成我们想要的东西。
非常幸运的是,在 Matlab 上,有一个专门针对心理学专业的工具箱——Psychtoolbox(简称PTB)。
PTB简介 PTB 的功能是在 Matlab 与计算机硬件中间提供一个接口,让 Matlab 可以直接操纵计算机硬件。这样,我们就可以自由地要求计算机输出图像、文字或声音,精确计时并获取被试的反应。
有了 PTB 工具箱以后,我们可以在 Matlab 上完成几乎所有的实验工作。
PTB 的社区支持做得比较好,基本上有什么问题都可以在其官方论坛上获得帮助。下图是它的年发帖量(数据截止到2016年6月):
[图片上传失败...(image-a6fdfb-1526456142272)]
PTB 在科研论文中引用量也比较大,官方做了一个数据统计(数据截止到2016年6月)。根据 Google Scholar 的数据,年引用量如下图:
[图片上传失败...(image-624ba3-1526456142272)]
根据 ISI Web of Science 上的数据,年引用量如下图:
[图片上传失败...(image-795e7d-1526456142272)]
为什么要使用 Matlab + PTB? 可能有小伙伴有疑问,Matlab 与 PTB 能做的事情,别的程序语言也能做,更何况我们还有像 E-prime 这样简单易用的工具。
原因当然是它bigger高啊,可以装 big 啊。

2|2 什么是 Matlab(什么是 Psychtoolbox?)
文章图片
说正经的,我们还是从费用、易用性、灵活性、编码要求等方面来比较一下不同的工具。

E-prime DMDX Inquist Presentation Matlab + PTB
费用 免费 中等 中等
易用性 容易 中等 中等 中等 中等
灵活性 中等 较高
编码要求 较少 中等 中等 中等
P.S.
E-prime 的售价大约是 995 刀,升级需要 595 刀,好处是各高校实验室基本有配备;
Inquist 的价格大约是 450 刀,升级需要另外掏钱,大约 250 刀;
Presentation 是年授权,大约 99 刀;
PTB 工具箱本身免费, Matlab 大约 3000 人民币,学生版大约 99 刀,但是中国大陆地区没有开放学生版授权。
最后,近几年在 python 环境下出现了一个叫 PsychoPy的工具,既可以像 E-prime 那样图形化编程,也可以像 PTB 一样脚本编程。这东西完全免费,但只支持 Python 2,不支持 Python 3,也很值得关注。
References
  1. Matlab Wiki
  2. Psychtoolbox官网
  3. DMDX官网
  4. Inquist官网
  5. Presentation官网
  6. E-prime官网

    推荐阅读