Если ваш GUI не построен с использованием GUIDE, вы можете установить / изменить подходящие свойства, как это (прямо из http://www.mathworks.com/help/techdoc/ref/uitable.html):
f = figure('Position',[200 200 400 150]);
dat = rand(3);
cnames = {'X-Data','Y-Data','Z-Data'};
rnames = {'First','Second','Third'};
t = uitable('Parent',f,'Data',dat,'ColumnName',cnames,...
'RowName',rnames,'Position',[20 20 360 100]);
Затем вы можете изменить имена столбцов во время выполнения, используя:
cnames = {'Z-Data','Y-Data','X-Data'};
set(t,'ColumnName',cnames);
Осталось только решить, какое событие вызовет эту модификацию, и написать соответствующую функцию обратного вызова. Если вы могли бы дать некоторые подробности о графическом интерфейсе, это может быть полезно.
Если вы строитеВаш GUI через GUIDE, я не знаю, возможно ли это (думаю, но я обычно предпочитаю избегать GUIDE, поэтому мои знания ограничены в этой области).
ОБНОВЛЕНИЕ:
В качестве примера я написал небольшой фрагмент кода, который показывает это в действии. В этом случае событие, инициирующее изменение имен столбцов, представляет собой кнопку, но это может быть что угодно, надеюсь, это поможет.
% GUI
function so_uitable
% Layout
figure('units','normalized','position',[0.1 0.1 0.5 0.5],'tag','figure');
data=guihandles(gcf);
uitable('parent',data.figure,'units','normalized', ...
'Position', [0.1 0.1 0.35 0.8],'tag','table');
uicontrol('style','pushbutton','string','Change columns names', ...
'parent',data.figure,'units','normalized', ...
'Position',[0.55 0.8 0.35 0.1],'tag','button', ...
'callback',@button_callback);
data=guihandles(gcf);
% Data
data.matrix=rand(3);
data.cnames={'X-Data','Y-Data','Z-Data'};
set(data.table,'data',data.matrix,'ColumnName',data.cnames);
guidata(gcf,data);
end
% Callback
function button_callback(obj,event)%#ok
data=guidata(gcbf);
n=length(data.cnames);
prompt=cell(n,1);
answer=inputdlg(prompt,'Change columns names',1,data.cnames);
if(~isempty(answer))
data.cnames=answer;
set(data.table,'ColumnName',data.cnames);
end
guidata(gcbf,data);
end