如何从单元格数组中的字符读取到心理工具箱屏幕上

时间:2019-06-13 18:59:24

标签: arrays matlab psychtoolbox

我正在建立一个实验,其中成对的单词将以随机顺序闪烁到屏幕上。我有配对单词的单元格数组,并使用psychtoolbox显示单词。我不断收到错误消息。

我使用大括号,并尝试引用单词的位置,但是除非我对要显示的单词进行硬编码,否则它绝不会单词,因为我希望单词以随机的顺序出现,所以这是行不通的实验。

%这是我的阵列设置:

Word1 = {'shaky'; 'salty'; 'dizzy'; 'ideal'; 'jogging'; 'sweater'; 
'brainstorming'; 'weightlifting'};

Word2 = {'easel'; 'shaky'; 'lofty';  'dizzy'; 'whistle'; 'jogging'; 
'weightlifting'; 'sportsmanship'};

DotSpot = { 'top'; 'top'; 'bottom'; 'bottom'; 'top'; 'top'; 'bottom'; 
'bottom'};

Target = { 'fall'; 'fall'; 
'fall';'fall';'active';'active';'active';'active'};

Category = { 'congruent';'incongruent'; 'incongruent'; 
'congruent';'congruent';'incongruent'; 'incongruent'; 'congruent'};

StimList = table(Word1, Word2, DotSpot, Target, Category);

%这是我的屏幕设置:

CompScreen = get(0,'ScreenSize'); % Find out the size of this computer 
screen
win = Screen('OpenWindow',0,  CompScreen); %[900 900 1000],
white=WhiteIndex(win);
Screen('FillRect', win, white);
Screen('TextSize',win, 30);
Screen('TextFont',win, 'Courier New');
Screen('TextStyle', win, 1);

%这里是我现在仅显示一个单词的地方,但一切都出错了:

Screen('DrawText', win, StimList{1,1}  , 500, 500, [0, 0, 0]);
Screen(win, 'Flip'); 
WaitSecs(.5);
KbWait;

sca;

1 个答案:

答案 0 :(得分:0)

Screen'DrawText'函数需要一个字符串,但是在您的示例中,您为其提供了一个包含字符串的单元格数组。在单元格数组中再上一级索引将返回DrawText期望的字符串:

Screen('DrawText', win, StimList{1,1}{:}  , 500, 500, [0, 0, 0]);