我想用PTB并排绘制4个正方形进行实验,但代码不起作用。这是我的代码,
square_size = [0 0 50 50];
squareXpos = [screenXpixels * 0.125 screenXpixels * 0.25 screenXpixels * 0.5 screenXpixels * 0.75];
numSqaures = length(squareXpos);
allColors = [1 0 0; 0 1 0; 0 0 1; 1 0 0];
allRects = nan(4, 4);
for i = 1:numSqaures
allRects(:, i) = CenterRectOnPointd(square_size, squareXpos(i), yCenter);
end
Screen('FillRect', window, allColors, allRects);
Screen('Flip', window);
KbStrokeWait;
如果有人知道如何解决这个问题,请帮助我。
很难说没有看到错误。
如果我不得不猜测,输入的格式可能有问题。
这是我乍一看注意到的潜在问题。
-
Psychtoolbox(与matlab不同)使用从0 - 255而不是0 - 1的RGB比例。使用您的代码,所有颜色都将显示为黑色。使用 [255,0,0] 代替 [1,0,0] 表示红色。
-
您的 allColors 矩阵是 nItems X 3(RGB),但函数希望它以相反的方式进行。而不是输入allColors,你需要转置:allColors'。
如果我在 pscyhtoolbox 上苦苦挣扎,我总是检查的第一件事是输入的格式。若要获取有关输入的适当格式的帮助,请键入:
Screen('FillRect?')