1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
| function simuler_Callback(hObject, eventdata, handles)
[timeVector,stateVector,outputVector] = sim('modele_velo');
% Retrieve old results data structure
if isfield(handles,'ResultsData') && ~isempty(handles.ResultsData)
ResultsData = handles.ResultsData;
% Determine the maximum run number currently used.
maxNum = ResultsData(length(ResultsData)).RunNumber;
ResultNum = maxNum+1;
else % Set up the results data structure
ResultsData = struct('RunName',[],'RunNumber',[],...
'vitValue',[],'niveauValue',[],'penteValue',[],'timeVector',[],'outputVector',[]);
ResultNum = 1;
end
if isequal(ResultNum,1),
%--Enable the Plot and Remove buttons
set(handles.suppr,handles.PlotPd, handles.PlotCcyc, handles.PlotWcyc, handles.PlotPcyc, handles.PlotCm, handles.PlotWm, handles.PlotPm, handles.PlotUb, handles.PlotIb],'Enable','on')
end
speed = get(handles.vit,'Value');
level = get(handles.niveau,'Value');
slope = get(handles.pente,'Value');
ResultsData(ResultNum).RunName = ['Run',num2str(ResultNum)];
ResultsData(ResultNum).RunNumber = ResultNum;
ResultsData(ResultNum).vitValue = speed;
ResultsData(ResultNum).niveauValue = level;
ResultsData(ResultNum).penteValue = slope;
ResultsData(ResultNum).timeVector = timeVector;
ResultsData(ResultNum).outputVector = outputVector;
% Build the new results list string for the listbox
ResultsStr = get(handles.ResultsList,'String');
if isequal(ResultNum,1)
ResultsStr = {['Run1 ',num2str(speed),' ',num2str(level),' ',num2str(slope)]};
else
ResultsStr = [ResultsStr; {['Run',num2str(ResultNum),' ',num2str(speed),' ',num2str(level)]}];
end
set(handles.ResultsList,'String',ResultsStr);
% Store the new ResultsData
handles.ResultsData = ResultsData;
guidata(hObject,handles)
%endfunction SimulateButton_Callback |
Partager