2017-03-01 17 views
0

左または右のいずれかに示されている10回の試行(10枚)で構成する必要がある実験をプログラムしたいと思います。同時に、反対側には奇数または偶数が表示されます。私は反応時間と反応(奇数または偶数)を測定したい。私は試練の仕組みに固執していると思う。トライアル構造psychtoolbox実験

ntrials = length(pictures)を定義するだけで十分ですか、変数(for pic_position,number_position)にforループが必要ですか?

これは、これまでの私のアプローチです:

pic_pos = {'left' 'right'}; 
    num_pos = {'left' 'right'}; 
    evenodd = {'odd' 'even'}; 

    ntrials = length(pictures); 

    for n = 1:length(pictures) 
    trials(ntrials).picture = pictures(n) 
    end 

    pictures = Shuffle(pictures); 

    for trial = 1:ntrials 

    currentnumber = num2str(numbers{trial}) 

    switch trials(trial).num_pos 
    case 'right' 
    x = screencentrex + img_dist 
    case 'left' 
    x = screencentrex - img_dist 
    end; 

Screen('TextSize', win, [25]); 

DrawFormattedText(win, currentnumber, [x], 'center', [255 255 255]); 

Screen('Flip', win); 

WaitSecs(3); 

は、残念ながらそれは私の番号が表示されません。

答えて

0

位置変数または数値変数を必要以上にループする必要はありません。代わりに、Psychtoolbox関数BalanceFactors

[trialNumberPositions, trialNumberEvenOrOdd] = BalanceTrials(ntrials, 1, num_pos, evenodd); 

これは要因「num_pos」レベルと「EVENODD」、それらのある注文の組み合わせを返すを使用して、例えば、予め各試験のための刺激パラメータを生成することができます次いでランダム化された。たとえば、変数 'trial'に保存されている試行番号の番号の位置は、例ではtrialNumberPositions {trial}としてアクセスされます。 evenoddとnum_posの4つのユニークな組み合わせがあることに注意してください。したがって、試行回数が条件のバランスを取るためには、試行回数の合計が4の倍数になります(たとえば、試行回数が合計で10回ではなく合計12回)。私はpic_posを含んでいなかった。なぜなら、pic_posはnum_posが何であっても常にそうでないからである。あなたの説明では2つの刺激が決して同じ側に提示されないからだ。

なぜあなたの番号が表示されていないのかについては、それ以上の実験スクリプトを伝えるのは難しいです。しかし、あなたは現在、白いテキストを画面に書いていますが、背景は白ではありませんか?

関連する問題