Clear Filters
Clear Filters

How to ensure equal probability of stim appearing on L or R of screen without hard-coding? Description inside.

2 views (last 30 days)
I am working on a task in Psychtoolbox where I'd like to display a stimulus 50% of the time on the left side of the screen, and 50% on the right side. Is there a way to ensure an equal balance of where the stimulus will appear without hard-coding? I would like it to be random (but always balanced) each time I run the task, but am not sure how to set this up. Thanks!

Accepted Answer

Walter Roberson
Walter Roberson on 29 Dec 2015
50% turns out to be surprisingly tricky
Chelsea on 1 Apr 2016
Hi Walter,
You helped me with this code several months ago so I'm wondering if you could point me in the right direction with it! :)
I need to change the ratio of same side 3/4 and opposite side 1/4 to 2/3 and 1/3, respectively. It sounds super easy, but I don't think I'm getting the right output?
scramble = @(v) v(randperm(numel(v)));
N = 40;
show_same_side = scramble([false(1,N), true(1,3*N)]);
side_to_show1 = scramble([1*ones(1,2*N), 2*ones(1,2*N)]);
side_to_show2(show_same_side) = side_to_show1(show_same_side);
side_to_show2(~show_same_side) = 3 -side_to_show1(~show_same_side);
I changed the 3s to 2s... Is there anything else/different I'd need to do?

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!