ОШИБКА при использовании OutputFcn - VarargoutNotCell - PullRequest
1 голос
/ 05 марта 2012

У меня есть файл mat и графический интерфейс, работающий гладко в командном окне matlab, но когда я скомпилировал его, он показывает ошибку:

??? Error using ==> charms_OutputFcn
variable output array 'varargout' must be a cell array.
Error in ==> gui_mainfcn 248
Error in ==> charms at 40

MATLAB:VarargoutNotCell
Warning:1 visible figure(s) exist at MCR termination

моя строка 40 выглядит следующим образом:

  [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});

как я могу решить эту проблему, спасибо.

Ответы [ 2 ]

2 голосов
/ 06 марта 2012

Примерно так:

varargout = cell(1,nargout);
[varargout{:}] = gui_mainfcn(gui_State, varargin{:});

Я думаю, что функция Matlab deal является примером-прототипом для такого рода операций.edit deal чтобы посмотреть, как это сделал Mathworks.

0 голосов
/ 06 марта 2012

Во-первых, окружение {} должно быть удалено: я удивлен, что оно даже работает!

Во-вторых, вам нужно инициализировать varargout, чтобы он представлял собой массив ячеек правильного размера, используя cell команда.

...