2012-03-05 4 views
1

У меня есть файл мат и графический интерфейс работает плавно в командном окне MatLab, но когда я скомпилировал это показывает ошибку говоря:ERROR с помощью OutputFcn - VarargoutNotCell

??? 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{:}); 

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

ответ

0

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

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

+0

Извините за неправильный пост, на самом деле у него нет окружающего '{}' я отредактировал сообщение. как я могу инициализировать его для правильного массива размера, вы можете привести пример. спасибо за ответ – emsxii

+0

Используйте команду 'cell' (см. справку). – Nzbuu

2

Что-то вроде этого:

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

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