Bonjour,

tout est dans le titre : grosso modo je cherche à modifier une variable "workspace" à partir d'un GUI. Cette variable (en fait une structure) contient des paramètres de simulation d'un fichier simulink exécuté à partir d'un bouton start de l'interface.

je me heurte au problème suivant : j'arrive à faire fonctionner tout ce petit monde en faisant un simple script, seulement c'est ennuyeux pour déclarer des fonctions de callback et compagnie (nécessité de les déclarer dans la définition du uicontrol)...

Malgré mes tentatives nombreuses de comprendre le tutoriel sur les getappdata et autres réjouissances, je n'arrive pas à créer une fonction GUI me renvoyant au final (sans mettre fin à la fonction) la fameuse structure sur le workspace...

J'espère être clair :-)

ci joint un code tout simple de ce que je réalise :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
%définition de la structure
rob.PID=[20 0 1;20 0 1;20 0 1;20 0 1;20 0 1;20 0 1];
 
% définition figure
figh = dialog('Position',[100 100 1500 1000], 'Name', 'Controles paramètres robot', 'WindowStyle', 'normal');
 
%% controles axe 1
% panel parent des controles axe 1
axe1= uipanel('Parent',figh,'Title','Axe 1','FontSize',16,...
    'Visible','on','Position',[0.03 0.5 0.24 0.45]);
% modifier valeur de rob.PID(1,1)
H.P1 = uicontrol('Parent',axe1,'Style','edit','Position',[60 395 30 25],'String','0','Callback','k=get(H.P1,''String'');rob.PID(1,1)=str2double(k);');
% dénomination pour faire joli
H.text1=uicontrol('Parent',axe1, 'Position',[5 395 50 25], 'HorizontalAlignment','right', 'String','P gain', 'Style','text','FontSize',12);