J'ai besoin de créer une interface graphique dans MATLAB pour mon projet. J'ai cherché partout des exemples de programmation d'une interface graphique, mais je n'en trouvais pas beaucoup. Quels sont les bons sites ou techniques pour la programmation GUI dans MATLAB?Comment puis-je programmer une interface graphique dans MATLAB?
Répondre
Le premier endroit où vous devez aller est l'aide de Matlab sur Creating Graphical User Interfaces .
Ensuite, vous pouvez regarder this tutorial video ou this one
This tutorial est également bon.
Voici toutes les vidéos que j'ai fait de faire MATLAB® GUIs
J'ai récemment à programmer une interface graphique simple qui contrôle certaines parcelles. Je ne sais pas exactement quelle est votre tâche, mais voici un code de base pour vous aider à démarrer. Cela crée deux figures; La figure 1 a des contrôles, la figure 2 a un tracé de y = x^p. Vous entrez la valeur de p dans la boîte et appuyez sur Entrée pour l'enregistrer et replotter; puis appuyez sur le bouton pour rétablir la valeur par défaut p = 1.
function SampleGUI()
x=linspace(-2,2,100);
power=1;
y=x.^power;
ctrl_fh = figure; % controls figure handle
plot_fh = figure; % plot figure handle
plot(x,y);
% uicontrol handles:
hPwr = uicontrol('Style','edit','Parent',...
ctrl_fh,...
'Position',[45 100 100 20],...
'String',num2str(power),...
'CallBack',@pwrHandler);
hButton = uicontrol('Style','pushbutton','Parent',ctrl_fh,...
'Position',[45 150 100 20],...
'String','Reset','Callback',@reset);
function reset(source,event,handles,varargin) % boilerplate argument string
fprintf('resetting...\n');
power=1;
set(hPwr,'String',num2str(power));
y=x.^power;
compute_and_draw_plot();
end
function pwrHandler(source,event,handles,varargin)
power=str2num(get(hPwr,'string'));
fprintf('Setting power to %s\n',get(hPwr,'string'));
compute_and_draw_plot();
end
function compute_and_draw_plot()
y=x.^power;
figure(plot_fh); plot(x,y);
end
end
L'idée de base est que lorsque GUIs vous manipuler des contrôles qu'ils appellent des fonctions « callback », à savoir les gestionnaires d'événements; ces fonctions sont capables d'interagir via des contrôles en utilisant les poignées de contrôle et les méthodes set/get pour obtenir ou modifier leurs propriétés.
Pour accéder à la liste des propriétés disponibles, parcourez le navigateur de propriétés Handle Graphics, très instructif, sur le site Web de documentation de Matlab (http://www.mathworks.com/access/helpdesk/help/techdoc/infotool/hgprop/doc_frame.html); cliquez sur Objets UI (ou tout ce dont vous avez besoin).
Espérons que cela aide!
Ces 41 complete GUI examples affichés au MathWorks File Exchange par Matt Fig sont un bon point de départ. La soumission était même Pick of the Week.