Matlab - функция Screen () с fillOval - PullRequest
1 голос
/ 26 ноября 2011

Я пытаюсь использовать fillOval в моей программе Matlab

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

Когда я заменяю переменные x, y и width значениями в вызове Screen (), я не получаю сообщение об ошибке.

Что не так?

1 Ответ

2 голосов
/ 26 ноября 2011

rect должен быть вектором 1x4. Когда я использую ваш код, это вектор 1x6. Похоже, вы случайно перегрузили функцию size() некоторой переменной size, которую вы не включили в ваш пример, и это вызывает проблемы. Если вы называете свою переменную size как-то иначе, и убедитесь, что при тестировании [x y width width] вы получите вектор 1x4, он должен работать.

Кроме того, я предполагаю, что вы говорите о PsychToolbox, но об этом также не упоминается в вашем посте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...