热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

matlabimread用法_拯救毕设|心理学实验matlab案例

有关于心理学实验的编程,现在比较主流的是使用eprime软件。但我对eprime确实印象不佳,首先eprime对mac的支持并不友好;其次
有关于心理学实验的编程,现在比较主流的是使用eprime软件。但我对eprime确实印象不佳,首先eprime对mac的支持并不友好;其次它的迁移性很差;最后就是eprime实现的功能也比较有限。当然,以上都只是个人观点。在本科毕设决定做实验后,我果断选择了matlab+psychtoolbox进行编程。中间经历了很多问题,在这里把遇到的问题和我的编程源代码分享出来,做抛转引玉之用,也希望和各路大神交流。

我的matlab基础一般,加上很久没有操作,这次基本是从零开始。由于学习周期较短。我在编程时用的是面向过程的方式,如果基础较好推荐面向对象的方式,修改起来较为方便。

首先安装matlab+psychtoolbox,安装方法自行百度。随后附上我的实验的示意图。

e29238c40ac271fef92bddf39f339281.png

1. 信息录入

ee2e513a4745563fdc6b5d89acb65f51.png

这里主要用的是inputdlg函数。具体用法见:inputdlg用法(学习中的小伙伴不要偷懒,百度勤快用起来5c4e9e3bb7f43861dd16274b827fc5bb.png)

随后将信息从info提取到SubInfo,并转换类型。

然后判断是否复合要求。

最后返回到y即可。

2. 指导语

806785556fe636b813b559ee61490135.png

这里用的函数的主要思路是将图片封装到mat类型文件中。

代码中默认将图片放在工作目录下的Ins文件夹中。

然后读取Ins文件夹内的文件。获得文件个数。NumIns减二的原因是读取文件个数的时候会默认多两个,具体情况可以根据自己的电脑进行测试,总之得到文件数量即可(其实是我记不太清了...7ce626540af6fa88d36adeaab68704c8.png)。然后批量将文件读取(先获得文件名,再用strcat拼接路径和文件名,最后用imread这个函数读取)保存到PicIns这个struct中,然后储存为Instructions.mat这个文件中。接下来,再主程序中引用即可。

3b36600eb44848fe88c09629488590f5.png

前三句用于将mat中的图片拿出来,然后通过wptr传递呈现。这个具体的实现方式很复杂。好像是先在缓存界面加载,然后再切换,以此呈现图片。总之复制这三句代码就可以成功呈现图片1了。

KbPressWait; :按任意键跳过

3. 其他一些准备工作

25f4c84367d36eaae56f1e39d50c00da.png

前三句初始化偏好。

第四局设置窗口的颜色。

五六七用于设置字体和大小。

最后三句我不太记得了75b3103249d398c17fef3c1c6b9ce69c.png,好像是隐藏鼠标指针,锁定键盘等,感兴趣自行百度c9112f27e1f7c382118cfe1db0b97862.png

6b97a5e79dd15fc8de98919155cd6b56.png

读取mat,为指导语做准备,这一步请在指导语前

4. 数据的处理方式

建议使用矩阵来处理数据,举例而言。

我的程序分实验一及实验二。实验一中有两个自变量,第一个自变量是两个刺激是否变化,变化和不变化两个level。第二个自变量是两个刺激之间的间隔时间,有三个level。

这样共有2x3=6组不同的条件。共有120个trial。我开始的想法是随机数,若随机到1则变化,随机到2则不变化。但这样的问题是无法平衡。例如120个trial中可能随机到57个变化,63个不变化。极端条件下120个变化0个不变化也有可能。在老师的提醒下,建议先建立一个design矩阵,建立后就可以很方便的录入数据了。

62591cc94a59bbdbe6a9993d8add1479.png

77036c83eb320287c1492f1ba1a5d732.png

生成的design。

这段就不定义函数了...因为不同的自变量对应不同level,我暂时不太会怎么写一个通用的函数。大家可以读懂我的代码然后自己实现,也可以直接做一些更改。

甚至再简单一点,你可以直接用excel做好再复制进.mat,然后保存3c79cc0ee5011d10861346e696ce9cff.png

5. 练习组

我的实验简单来说,是要在一个圆形范围内,随机位置呈现四个随机颜色的方块。方块颜色从七种颜色中随机。因此主要的两个问题是随机位置呈现,和随机方块颜色

a4e01d7039d36d4a43c1c42c7cd6901a.png

e64c182583574cf8b7f4242343609bcb.png

384dee45e994bd478d313eb9a5c01cc5.png

def964bb5165f014b1f53dd2514c9bdc.png

1ecc8b57237279b69846a71bf55529a4.png

dfb71dfed11ade94084e57bac7b196e1.png

2ee93ae860515e2f6b130d8b7da5bf81.png

7eedc8e34eadf24f738094deeab8985e.png

930ba26720aa636921b55582eee58942.png

453d1497c443ada41abf28659605339a.png

a54a02f3a019d7007c8fcfe5e941567d.png

8b699f33b7d1402130a670b28e579676.png

0397d924158ded90d18d4b670514ada9.png

e3d125e5d372f3eaf35ce0c0748947f9.png

(作者手稿:逻辑)

再说一下我是如何实现四个位置在圆上的。

首先get(0,'ScreenSize')得到自己的屏幕分辨率,我是1440x720。然后如下图(可能解释的不是非常清楚,辛苦大家领会!!)。总之是很简单的一个数学问题,这里因自己实验情况自己发挥就可以了。

26662e446372f25982bfaac1e67458e1.png

(作者手稿:位置解释)

6. 正式组

正式组基本和练习组一致,鸽了c8b0e2318d71b4f03a1966c7752a2217.png

7. 结束语

和指导语一致,鸽了c8b0e2318d71b4f03a1966c7752a2217.png

8. 数据收集

1167e6dd934bf46f296ef7226264ca30.png

参照之前练习组的代码,把最后的部分替换。还记得design吗,将反应时存在第五列。

然后if 如果按键正确,则保存1到第六列,否则保存0到第六列。9是matlab中F(还是J,不记得了)对应的数字,这个可以自行百度,每个按键有一个对应的数字。这里需要注意mac版和windows版对应按键不一致,请仔细查询。

9. 数据分析

050758f0125abe2960f6c27dcc09db91.png

6779f81ab673faeb49144b22229b85e0.png

(结果打开)

如此一来你就会得到一个表格,然后复制到spss就可以分析数据惹。可以先复制到excel按第一列重新排序成顺序,这样方便一些。

3a42c14eff2596027f810a0f51116010.gif

今天给大家分享的是我自己在做实验编程时的一点总结,大家看完我的程序加上自己的一些思考,基本可以编程大多数的实验了。非常希望这篇文章能帮到各位基本0基础却又想学习使用matlab的同学。此外,文章中代码的缩进没有正常显示,对八起辣02f4d428537a88769d8b21a7d01f61fa.png

PS:在写这篇文章的同时重新看了看自己的代码,发现了很多的漏洞和可以提升的地方,譬如这个程序确实不够简洁。附上源代码有些露怯了,还希望水平高的同学不要嘲笑我==

图文:江震宇

编辑:卢偲瑶

「往期精彩内容」

种草BNUX/UX教师招聘

微软UI课程/唐·诺曼来访

中美创客大赛/用户研究课程

欧洲实践行/2018美国实践行

050f489f25e46315a0c05ea40840720d.png




推荐阅读
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • 2018年人工智能大数据的爆发,学Java还是Python?
    本文介绍了2018年人工智能大数据的爆发以及学习Java和Python的相关知识。在人工智能和大数据时代,Java和Python这两门编程语言都很优秀且火爆。选择学习哪门语言要根据个人兴趣爱好来决定。Python是一门拥有简洁语法的高级编程语言,容易上手。其特色之一是强制使用空白符作为语句缩进,使得新手可以快速上手。目前,Python在人工智能领域有着广泛的应用。如果对Java、Python或大数据感兴趣,欢迎加入qq群458345782。 ... [详细]
  • 基于PgpoolII的PostgreSQL集群安装与配置教程
    本文介绍了基于PgpoolII的PostgreSQL集群的安装与配置教程。Pgpool-II是一个位于PostgreSQL服务器和PostgreSQL数据库客户端之间的中间件,提供了连接池、复制、负载均衡、缓存、看门狗、限制链接等功能,可以用于搭建高可用的PostgreSQL集群。文章详细介绍了通过yum安装Pgpool-II的步骤,并提供了相关的官方参考地址。 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • 本文介绍了设计师伊振华受邀参与沈阳市智慧城市运行管理中心项目的整体设计,并以数字赋能和创新驱动高质量发展的理念,建设了集成、智慧、高效的一体化城市综合管理平台,促进了城市的数字化转型。该中心被称为当代城市的智能心脏,为沈阳市的智慧城市建设做出了重要贡献。 ... [详细]
  • 本文介绍了九度OnlineJudge中的1002题目“Grading”的解决方法。该题目要求设计一个公平的评分过程,将每个考题分配给3个独立的专家,如果他们的评分不一致,则需要请一位裁判做出最终决定。文章详细描述了评分规则,并给出了解决该问题的程序。 ... [详细]
  • 本文讨论了使用差分约束系统求解House Man跳跃问题的思路与方法。给定一组不同高度,要求从最低点跳跃到最高点,每次跳跃的距离不超过D,并且不能改变给定的顺序。通过建立差分约束系统,将问题转化为图的建立和查询距离的问题。文章详细介绍了建立约束条件的方法,并使用SPFA算法判环并输出结果。同时还讨论了建边方向和跳跃顺序的关系。 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • eclipse学习(第三章:ssh中的Hibernate)——11.Hibernate的缓存(2级缓存,get和load)
    本文介绍了eclipse学习中的第三章内容,主要讲解了ssh中的Hibernate的缓存,包括2级缓存和get方法、load方法的区别。文章还涉及了项目实践和相关知识点的讲解。 ... [详细]
  • 本文介绍了解决二叉树层序创建问题的方法。通过使用队列结构体和二叉树结构体,实现了入队和出队操作,并提供了判断队列是否为空的函数。详细介绍了解决该问题的步骤和流程。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • 本文介绍了一些好用的搜索引擎的替代品,包括网盘搜索工具、百度网盘搜索引擎等。同时还介绍了一些笑话大全、GIF笑话图片、动态图等资源的搜索引擎。此外,还推荐了一些迅雷快传搜索和360云盘资源搜索的网盘搜索引擎。 ... [详细]
  • HTML学习02 图像标签的使用和属性
    本文介绍了HTML中图像标签的使用和属性,包括定义图像、定义图像地图、使用源属性和替换文本属性。同时提供了相关实例和注意事项,帮助读者更好地理解和应用图像标签。 ... [详细]
  • 本文讨论了clone的fork与pthread_create创建线程的不同之处。进程是一个指令执行流及其执行环境,其执行环境是一个系统资源的集合。在调用系统调用fork创建一个进程时,子进程只是完全复制父进程的资源,这样得到的子进程独立于父进程,具有良好的并发性。但是二者之间的通讯需要通过专门的通讯机制,另外通过fork创建子进程系统开销很大。因此,在某些情况下,使用clone或pthread_create创建线程可能更加高效。 ... [详细]
  • 李逍遥寻找仙药的迷阵之旅
    本文讲述了少年李逍遥为了救治婶婶的病情,前往仙灵岛寻找仙药的故事。他需要穿越一个由M×N个方格组成的迷阵,有些方格内有怪物,有些方格是安全的。李逍遥需要避开有怪物的方格,并经过最少的方格,找到仙药。在寻找的过程中,他还会遇到神秘人物。本文提供了一个迷阵样例及李逍遥找到仙药的路线。 ... [详细]
author-avatar
Shirley韻
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有