% ------------------------------------------------------------------------ % INITIALISATION : script automatique, ne pas modifier function varargout = InterfaceGraphique(varargin) % InterfaceGraphique MATLAB code for InterfaceGraphique.fig % InterfaceGraphique, by itself, creates a new InterfaceGraphique or raises the existing % singleton*. % % H = InterfaceGraphique returns the handle to a new InterfaceGraphique or the handle to % the existing singleton*. % % InterfaceGraphique('CALLBACK',hObject,eventData,handles,...) calls the local % function named CALLBACK in InterfaceGraphique.M with the given input arguments. % % InterfaceGraphique('Property','Value',...) creates a new InterfaceGraphique or raises the % existing singleton*. Starting from the left, property value pairs are % applied to the GUI before InterfaceGraphique_OpeningFcn gets called. An % unrecognized property name or invalid value makes property application % stop. All inputs are passed to InterfaceGraphique_OpeningFcn via varargin. % % *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one % instance to run (singleton)". % % See also: GUIDE, GUIDATA, GUIHANDLES % Edit the above text to modify the response to help InterfaceGraphique % Last Modified by GUIDE v2.5 04-May-2020 19:10:04 % Begin initialization code - DO NOT EDIT gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @InterfaceGraphique_OpeningFcn, ... 'gui_OutputFcn', @InterfaceGraphique_OutputFcn, ... 'gui_LayoutFcn', [] , ... 'gui_Callback', []); if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); end if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else gui_mainfcn(gui_State, varargin{:}); end % End initialization code - DO NOT EDIT % ------------------------------------------------------------------------ % --- Executes just before InterfaceGraphique is made visible. function InterfaceGraphique_OpeningFcn(hObject, ~, handles, varargin) % This function has no output args, see OutputFcn. % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % varargin command line arguments to InterfaceGraphique (see VARARGIN) % Choose default command line output for InterfaceGraphique handles.output = hObject; % Update handles structure guidata(hObject, handles); % UIWAIT makes InterfaceGraphique wait for user response (see UIRESUME) % uiwait(handles.figure1); % --- Outputs from this function are returned to the command line. function varargout = InterfaceGraphique_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT); % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Get default command line output from handles structure varargout{1} = handles.output; % ------------------------------------------------------------------------ % PARTIE AUTOMATIQUE : L'utilisateur rentre dans les 6 cases de l'interface % graphique le pas du moteur M1/M2, la position initiale de M1/M2 ainsi que % le nombre de mesures M1/M2 que le détecteur acquiert par position. Pour % chaque case créée, 2 fonctions sont créées dont une de type Callback qui % nous permet de récupérer la valeur rentrée par l'utilisateur. % PAS M1 ----------------------------------------------------------------- % L'utilisateur rentre la valeur du pas de M1 en mm, et la fonction de % type Callback permet de récupérer cette valeur à l'aide de handles.pasM1 function pasM1 = pasM1_Callback(hObject, eventdata, handles) % hObject handle to pasM1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) pasM1 = str2double(get(hObject,'String')) % permet de récupérer la valeur sous forme de double % Hints: get(hObject,'String') returns contents of pasM1 as text % str2double(get(hObject,'String')) returns contents of pasM1 as a double % Fonction de type CreateFcn, permet de modifier les propriétés graphiques % de la case pasM1, comme sa couleur. % --- Executes during object creation, after setting all properties. function pasM1_CreateFcn(hObject, eventdata, handles) % hObject handle to pasM1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end % POS M1 ----------------------------------------------------------------- % L'utilisateur rentre la valeur de la position initale de M1,et la % fonction de type Callback permet de récupérer cette valeur à l'aide de % handles.posM1 function posM1_Callback(hObject, eventdata, handles) % hObject handle to posM1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) posM1 = str2double(get(hObject,'String')) % Hints: get(hObject,'String') returns contents of posM1 as text % str2double(get(hObject,'String')) returns contents of posM1 as a double % Fonction de type CreateFcn, permet de modifier les propriétés graphiques % de la case posM1, comme sa couleur. % --- Executes during object creation, after setting all properties. function posM1_CreateFcn(hObject, eventdata, handles) % hObject handle to posM1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); % choix des couleurs de police et de fond du cadre. end % nb_mesuresM1 ----------------------------------------------------------- % L'utilisateur rentre le nombre de mesures que le détecteur va acquérir % pour chaque position de M1, on récupère cette valeur à l'aide de la % commande handles.nb_mesuresM1 function nb_mesures_M1_Callback(hObject, eventdata, handles) %M1 se déplace parallèlement à l'axe optique. % hObject handle to nb_mesures_M1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) nb_mesuresM1 = str2double(get(hObject,'String')); %récupère données sous forme de double % Hints: get(hObject,'String') returns contents of nb_mesures_M1 as text % str2double(get(hObject,'String')) returns contents of nb_mesures_M1 as a double % Fonction de type CreateFcn, permet de modifier les propriétés graphiques % de la case nb_mesures_M1, comme sa couleur. % --- Executes during object creation, after setting all properties. function nb_mesures_M1_CreateFcn(hObject, eventdata, handles) % hObject handle to nb_mesures_M1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end % PAS M2 ----------------------------------------------------------------- % L'utilisateur rentre la valeur du pas de M2 en mm, et la fonction de % type Callback permet de récupérer cette valeur à l'aide de handles.pasM1 function pasM2_Callback(hObject, eventdata, handles) % hObject handle to pasM2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) pasM2 = str2double(get(hObject,'String')); %récuération sous forme de double % Hints: get(hObject,'String') returns contents of pasM2 as text % str2double(get(hObject,'String')) returns contents of pasM2 as a double % Fonction de type CreateFcn, permet de modifier les propriétés graphiques % de la case pasM1, comme sa couleur. % --- Executes during object creation, after setting all properties. function pasM2_CreateFcn(hObject, eventdata, handles) % hObject handle to pasM2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. get(0,'defaultUicontrolBackgroundColor') set(hObject,'BackgroundColor','white'); % POS M2 ----------------------------------------------------------------- % L'utilisateur rentre la valeur de la position initale de M2,et la % fonction de type Callback permet de récupérer cette valeur à l'aide de % handles.posM1 function posM2_Callback(hObject, eventdata, handles) % hObject handle to posM2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) posM2 = str2double(get(hObject,'String')); %donnée récupèrée sous forme de double % Hints: get(hObject,'String') returns contents of posM2 as text % str2double(get(hObject,'String')) returns contents of posM2 as a double % Fonction de type CreateFcn, permet de modifier les propriétés graphiques % de la case posM2, comme sa couleur. % --- Executes during object creation, after setting all properties. function posM2_CreateFcn(hObject, eventdata, handles) % hObject handle to posM2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. get(0,'defaultUicontrolBackgroundColor'); set(hObject,'BackgroundColor','white'); % nb_mesuresM2 ----------------------------------------------------------- % L'utilisateur rentre le nombre de mesures que le détecteur va acquérir % pour chaque position de M2, on récupère cette valeur à l'aide de la % commande handles.nb_mesuresM2 function nb_mesures_M2_Callback(hObject, eventdata, handles) %M2 est le moteur se déplaçant perpendiculairement à la lentill % hObject handle to nb_mesures_M2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) nb_mesuresM2 = str2double(get(hObject,'String')); %récupère données sous forme de double % Hints: get(hObject,'String') returns contents of nb_mesures_M2 as text % str2double(get(hObject,'String')) returns contents of nb_mesures_M2 as a double % Fonction de type CreateFcn, permet de modifier les propriétés graphiques % de la case nb_mesures_M2, comme sa couleur. % --- Executes during object creation, after setting all properties. function nb_mesures_M2_CreateFcn(hObject, eventdata, handles) % hObject handle to nb_mesures_M2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end % ------------------------------------------------------------------------ % BOUTON LIRE LES POSITIONS INITIALES ------------------------------------ % Permet de récupérer les positions initiales de M1 et M2 puis de les % afficher sur l'interface graphique. % --- Executes on button press in Positions_initiales. function Positions_initiales_Callback(hObject, eventdata, handles) % Lecture des positions initiales par pressage d'un bouton. Récupération % des positions depuis la carte Nucléo. Puis affichage de ces positions sur % l'interface graphique % Partie écriture du message à envoyer à MBED ---------------------------- % hObject handle to Positions_initiales (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) s = serialport("COM3",9600); % Port USB relié à la carte Nucléo write(s,'S',"char") % 'S' (start), MBED repère le début du message write(s,0,"char") % 0 : Pour informer MBED qu'on se trouve dans write(s,',',"char") % la partie Positions Initiales, puis on écrit write(s,0,"char") % que des 0 séparés par des vigulescar on veut write(s,',',"char") % juste récupérer les positions initiales write(s,0,"char") % données par MBED write(s,',',"char") write(s,0,"char") write(s,',',"char") write(s,0,"char") write(s,',',"char") write(s,0,"char") write(s,',',"char") write(s,0,"char") write(s,'E',"char") % 'E' (end), MBED repère la fin du message s.Timeout = 5; % On attend 5s pour être sûr d'avoir écrit tout le message % Partie lecture du message envoyé par MBED ------------------------------ j = 0; % Boucle pour lire en continu le port jusqu'à repérer while j == 0 % le caractère de départ 'S' if read(s,1,'char') == 'S' % 'S' : on repère le début du message M1 = read(s,1,"double"); % On récupère la position initiale de M1 read(s,1,'char') % On lit la virgule M2 = read(s,1,"double"); % On récupère la position initiale de M2 read(s,1,'char') % On lit la virgule Intensite = read(s,1,"double"); % On récupère l'intensité du détecteur if read(s,1,'char') == 'E' % 'E' : on repère la fin du message j = 1; % La boucle while s'arrête end end end % Affichage des positions initiales sur l'interface grahique ------------- % Avec ces lignes on peut changer la valeur de la case texte. set(handles.text19,'String',['position M1 :' num2str(M1) ' mm']) set(handles.text17,'String',['position M2 :' num2str(M2) ' mm']) % ------------------------------------------------------------------------ % BOUTON LANCER ACQUISITION ---------------------------------------------- % Permet d'envoyer à la carte Nucléo les valeurs des 6 cases rentrées par % l'utilisateur. Démarrage de l'asservissement des moteurs % --- Executes on button press in Lancer_acquisition. function Lancer_acquisition_Callback(hObject, eventdata, handles) % hObject handle to Lancer_acquisition (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Partie écriture du message à envoyer à MBED ---------------------------- s = serialport("COM3",9600); % Port USB relié à la carte Nucléo write(s,'S',"char") % 'S' (start), MBED repère le début du message write(s,2,"char") % 2 : Partie Automatique write(s,',',"char") write(s,handles.pasM1,"double") % Envoie le pasM1 récupéré grâce à handle. write(s,',',"char") write(s,handles.posM1,"double") write(s,',',"char") write(s,handles.nb_mesuresM1,"double") write(s,',',"char") write(s,handles.pasM2,"double") write(s,',',"char") write(s,handles.posM2,"double") write(s,',',"char") write(s,handles.nb_mesuresM2,"double") write(s,E,"char") % 'E' (end), MBED repère la fin du message s.Timeout = 5; % On attend 5s pour être sûr d'avoir écrit tout le message % ------------------------------------------------------------------------ % PARTIE MANUELLE : L'utilisateur choisit le moteur M1 ou M2. Puis il % choisit la position de celui-ci, ainsi que le tolérancement sur cette % position. Il peut alors cliquer sur le bouton Atteindre la position % demandée pour afficher la position corrigée du moteur. % BOUTON POP UP ---------------------------------------------- % Permet de choisir le moteur M1 ou M2. % --- Executes on selection change in popupmenu1. function popupmenu1_Callback(hObject, eventdata, handles) % hObject handle to popupmenu1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) contents = cellstr(get(hObject,'String')); contents{get(hObject,'Value')}; % permet de récupérer la valeur choisie (M1 ou M2) % Hints: contents = cellstr(get(hObject,'String')) returns popupmenu1 contents as cell array % contents{get(hObject,'Value')} returns selected item from popupmenu1 % Fonction de type CreateFcn, permet de modifier les propriétés graphiques % de la case popupmenu1, comme sa couleur. % --- Executes during object creation, after setting all properties. function popupmenu1_CreateFcn(hObject, eventdata, handles) % hObject handle to popupmenu1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: popupmenu controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end % L'utilisateur rentre la valeur de position que le moteur choisi va % atteindre, et la fonction de type Callback permet de récupérer cette % valeur à l'aide de handles.position function position_Callback(hObject, eventdata, handles) % hObject handle to position (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) position = str2double(get(hObject,'String')); %récupération de la donnée sous format double % Hints: get(hObject,'String') returns contents of position as text % str2double(get(hObject,'String')) returns contents of position as a double % --- Executes during object creation, after setting all properties. function position_CreateFcn(hObject, eventdata, handles) % hObject handle to position (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end % L'utilisateur rentre rentre la valeur de tolérance sur la position que le % moteur choisi va atteindre, et la fonction de type Callback permet de % récupérer cette valeur à l'aide de handles.tolerancement function tolerancement_Callback(hObject, eventdata, handles) % hObject handle to tolerancement (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) tolerancement = str2double(get(hObject,'String')); %donnée récupérée sous format double % Hints: get(hObject,'String') returns contents of tolerancement as text % str2double(get(hObject,'String')) returns contents of tolerancement as a double % --- Executes during object creation, after setting all properties. function tolerancement_CreateFcn(hObject, eventdata, handles) % hObject handle to tolerancement (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end % BOUTON ATTEINDRE LA POSITION DEMANDÉE ---------------------------------- % Permet d'afficher la position du moteur M1 ou M2 après correction. % --- Executes on button press in Atteindre_position_demandee. function Atteindre_position_demandee_Callback(hObject, eventdata, handles) % hObject handle to Atteindre_position_demandee (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % On sépare le cas où l'utilisateur a choisi M1 ou M2 dans le bouton popup if contents{get(hObject,'Value')} == 'M1' contents{get(hObject,'Value')} = 1; end if contents{get(hObject,'Value')} == 'M2' contents{get(hObject,'Value')} = 2; end % Partie écriture du message à envoyer à MBED ---------------------------- s = serialport("COM3",9600); % Port USB relié à la carte Nucléo write(s,'S',"char") % 'S' (start), MBED repère le début du message write(s,1,"char") % 1 : Partie Manuelle write(s,contents{get(hObject,'Value')},"char") % Envoie M1 ou M2 write(s,',',"char") write(s,handles.position,"char") % Envoie la position choisie du moteur write(s,',',"char") write(s,handles.tolerancement,"char") % Envoie le tolérancement choisi write(s,',',"char") write(s,0,"char") write(s,',',"char") write(s,0,"char") write(s,',',"char") write(s,0,"char") write(s,'E',"char") % 'E' (end), MBED repère la fin du message s.Timeout = 5; % On attend 5s pour être sûr d'avoir écrit tout le message % Partie lecture du message envoyé par MBED ------------------------------ j = 0; % Boucle pour lire en continu le port jusqu'à repérer while j == 0 % le caractère de départ 'S' if read(s,1,'char') == 'S' % 'S' : on repère le début du message M1 = read(s,1,"double"); % On récupère la position finale de M1 read(s,1,'char') % On lit la virgule M2 = read(s,1,"double"); % On récupère la position finale de M2 read(s,1,'char') % On lit la virgule Intensite = read(s,1,"double"); % On récupère l'intensité du détecteur if read(s,1,'char') == 'E' % 'E' : on repère la fin du message j = 1; % La boucle while s'arrête end end end % Affichage des positions finales sur l'interface grahique --------------- if contents{get(hObject,'Value')} == 'M1' set(handles.text23,'String',['position finale du moteur : ' num2str(M1) ' mm']) end if contents{get(hObject,'Value')} == 'M2' set(handles.text23,'String',['position finale du moteur : ' num2str(M2) ' mm']) end % ------------------------------------------------------------------------ % PARTIE TRACÉS DE GRAPHES % BOUTON GRAPHE MANUEL (POINT PAR POINT) --------------------------------- % À chaque fois que l'utilisateur a rentré une position puis cliqué sur % le bouton atteindre la position demandée, il peut cliquer sur le bouton % graphe manuel pour tracer (point par point) l'amplitude vue par le % détecteur en fonction de la position choisie. Les points % (déplacement,Amplitude) se tracent à chaque fois que le bouton est % pressé, et se superposent sur le même graphe. % --- Executes on button press in Graphe_manuel. function Graphe_manuel_Callback(hObject, eventdata, handles) % hObject handle to Graphe_manuel (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Create the data to plot. % Set the current data value. axes(handles.axes1) % Crée les axes gradués s = serialport("COM3",9600); % Port USB relié à la carte Nucléo % Partie lecture du message envoyé par MBED ------------------------------ j = 0; % Boucle pour lire en continu le port jusqu'à repérer while j == 0 % le caractère de départ 'S' if read(s,1,'char') == 'S' % 'S' : on repère le début du message M1 = read(s,1,"double"); % On récupère la position initiale de M1 read(s,1,'char') % On lit la virgule M2 = read(s,1,"double"); % On récupère la position initiale de M2 read(s,1,'char') % On lit la virgule Intensite = read(s,1,"double"); % On récupère l'intensité du détecteur if read(s,1,'char') == 'E' % 'E' : on repère la fin du message j = 1; % La boucle while s'arrête end end end % Tracé point par point (repéré par des '*') de l'amplitude du détecteur en % fonction de la position ------------------------------------------------ x = M2; y = Intensite; handles.y = y; %Set the current data value. plot(x,handles.y,'*') % BOUTON GRAPHE AUTOMATIQUE ---------------------------------------------- % Le graphe (déplacement M2, amplitude) se trace à partir des données de la % carte Nucléo et ce pour différentes valeurs de M1. Ainsi, pour chaque % valeur de M1, on a un graphique de tous les points de la position de M2 % et de son amplitude à chaque position qu'on a acquéri automatiquement. % --- Executes on button press in Graphe_automatique. function Graphe_automatique_Callback(hObject, eventdata, handles) % hObject handle to Graphe_automatique (see GCBO) % event)data reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) axes(handles.axes3) % Crée les axes gradués s = serialport("COM3",9600); % Port USB relié à la carte Nucléo % Création des vecteurs positions de M1, positions de M2 et intensité vectM1 = []; vectM2 = []; vectIntensite = []; % Partie lecture du message envoyé par MBED ------------------------------ % La boucle est plus compliquée car la carte Nucléo va nous envoyer une % succession continue de messages commençant par 'S' et finissant par 'E', % il faut donc collecter les données dans des vecteurs et on termine la % lecture quand on a récupéré tous les points/amplitude. % Pour chaque valeur de M1 (on enote n ce nombre de valeurs) on a N mesures % faites par M2 donc la boucle doit s'arrêter quand j = N*n. j = 0; while j ~= handles.nb_mesuresM1*handles.nb_mesuresM2 % Tant que j différent de N*n if read(s,1,"char") == 'S' % 'S' : on repère le début du message M1 = read(s,1,"double"); % On récupère la position initiale de M1 read(s,1,'char') % On lit la virgule M2 = read(s,1,"double"); % On récupère la position initiale de M2 read(s,1,'char') % On lit la virgule Intensite = read(s,1,"double"); % On récupère l'intensité du détecteur if read(s,1,"char") == 'E' % Si on lit la fin d'un des messages vectM1 = [vectM1 M1]; % On remplit le vecteur des positions M1 vectM2 = [vectM2 M2]; % On remplit le vecteur des positions M2 vectIntensite = [vectIntensite Intensite]; % On remplit le vecteur des intensités j = j+1; % j peut augmenter d'un cran end end end % Tracé des graphes de l'amplitude du détecteur en fonction de la position % de M2. On a nb_mesuresM1 graphes. j = 0; while j ~= handles.nb_mesuresM1 % Tant qu'on n'a pas tracé les nb_mesuresM1 graphes x1 = vectM2(1:handles.nb_mesuresM2); % En abscisse on a les positions de M2, % identiques quelque soit la position de M1. y1 = vectIntensite(1+j*handles.nb_mesuresM2:handles.nb_mesuresM2+j*handles.nb_mesuresM2); % En ordonnée les amplitudes qui, pour chaque position de M2, varient % d'une valeur de M1 à une autre, d'où le 'j'. handles.y1 = y1; % Set the current data value. plot(handles.x1,handles.y1) j = j+1; hold on % On superpose les graphes pour chaque position de M1 end % --- Executes during object creation, after setting all properties. function figure1_CreateFcn(hObject, eventdata, handles) % hObject handle to figure1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % --- Executes on scroll wheel click while the figure is in focus. function figure1_WindowScrollWheelFcn(hObject, eventdata, handles) % hObject handle to figure1 (see GCBO) % eventdata structure with the following fields (see MATLAB.UI.FIGURE) % VerticalScrollCount: signed integer indicating direction and number of clicks % VerticalScrollAmount: number of lines scrolled for each click % handles structure with handles and user data (see GUIDATA) % --- Executes on key press with focus on Atteindre_position_demandee and none of its controls. function Atteindre_position_demandee_KeyPressFcn(hObject, eventdata, handles) % hObject handle to Atteindre_position_demandee (see GCBO) % eventdata structure with the following fields (see MATLAB.UI.CONTROL.UICONTROL) % Key: name of the key that was pressed, in lower case % Character: character interpretation of the key(s) that was pressed % Modifier: name(s) of the modifier key(s) (i.e., control, shift) pressed % handles structure with handles and user data (see GUIDATA) % -------------------------------------------------------------------- function Untitled_1_Callback(hObject, eventdata, handles) % hObject handle to Untitled_1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % -------------------------------------------------------------------- function Untitled_2_Callback(hObject, eventdata, handles) % hObject handle to Untitled_2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)