2011-11-25 29 views
1

我想在我的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]); 

使用fillOval和我得到的誤差函數:

??? 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]); 

當我更換X,Y ,以及在Screen()調用中使用值的寬度變量,我不會收到錯誤。

怎麼了?

回答

2

rect應該是1x4向量。當我使用你的代碼時,它是一個1x6的向量。看起來您不小心將size()函數與某個size變量重載,該變量在您的示例中未包含,這會導致問題。如果您將size變量命名爲其他名稱,並確保在您測試出[x y width width]時返回一個1x4向量,它應該可以工作。

另外,我假設你在談論PsychToolbox,但是這在你的文章中也沒有提到。