Matlab - 带fillOval的Screen()函数

时间:2011-11-25 22:07:21

标签: matlab

我正在尝试在我的Matlab程序中使用fillOval

width = 20;
x = round(rand()*size(3)) - width;
y = round(rand()*size(4)) - width;
Screen(wPtr, 'FillOval', [130 130 130], [x y width width]);

我收到错误:

??? Error using ==> Screen
Usage:

Screen('FillOval', windowPtr [,color] [,rect] [,perfectUpToMaxDiameter]);

Error in ==> Test at 18
       Screen(wPtr, 'FillOval', [130 130 130], [x y width width]);

当我用Screen()调用中的值替换x,y和width变量时,我没有收到错误。

怎么了?

1 个答案:

答案 0 :(得分:2)

rect应为1x4向量。当我使用你的代码时,它是1x6向量。您似乎意外地使用您未在示例中包含的size()变量重载了size函数,这导致了问题。如果您将size变量命名为其他内容,并确保在测试[x y width width]时获得1x4向量,那么它应该可以正常工作。

另外,我假设您正在谈论PsychToolbox,但您的帖子中也没有提及。