From 6399f9b6a83586ffb2f68641f32adc0825cd9176 Mon Sep 17 00:00:00 2001 From: Lazloo Date: Thu, 16 Mar 2017 10:30:39 +0100 Subject: [PATCH] 20170316 New features for visualizign Pareto Input and debugging GUI 1. Course of one input variable can be track by moving along the Pareto Front 2. GUI: Choice of input variable indices is now more felxible in case of 3D and nD-Interpolation Signed-off-by: Lazloo --- GUI/dialogInterpolation.fig | Bin 9219 -> 31444 bytes GUI/dialogInterpolation.m | 47 ++++++++++++---- GUI/dialogInterpolationGUI.fig | Bin 4835 -> 16234 bytes GUI/dialogInterpolationGUI.m | 10 +++- .../@AnalyzeKriging/plotParetoFrontData.m | 4 +- .../@AnalyzeKriging/plotParetoInput.m | 50 ++++++++++++++---- 6 files changed, 89 insertions(+), 22 deletions(-) diff --git a/GUI/dialogInterpolation.fig b/GUI/dialogInterpolation.fig index 81c2d789f288c9a10b1400c3d0126b7daabc003f..053f93cfba10575b85c9609740d3bff201fd68c3 100644 GIT binary patch literal 31444 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 NZup!=r@YDQ{{isbz6SsR literal 9219 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 diff --git a/GUI/dialogInterpolation.m b/GUI/dialogInterpolation.m index 286b5c6..d308c48 100644 --- a/GUI/dialogInterpolation.m +++ b/GUI/dialogInterpolation.m @@ -24,7 +24,7 @@ % Edit the above text to modify the response to help dialogInterpolation -% Last Modified by GUIDE v2.5 03-Jul-2015 13:46:23 +% Last Modified by GUIDE v2.5 15-Mar-2017 16:54:31 % Begin initialization code - DO NOT EDIT gui_Singleton = 1; @@ -170,9 +170,9 @@ function dialogInterpolation_OpeningFcn(hObject, eventdata, handles, varargin) % the input variable which discrete varied. The remainining columns % represent input variables which stays constant of the interpolation handles.InputVarIndiceMatrix = ones(handles.nRows,nInputVar); - for iVar=2:nInputVar - handles.InputVarIndiceMatrix(:,iVar)=iVar; - end +% for iVar=2:nInputVar +% handles.InputVarIndiceMatrix(:,iVar)=iVar; +% end % InputVarValueMatrix saves concrete values for the input variable % which are used when they are fix over the interpolation. The @@ -286,6 +286,7 @@ function dialogInterpolation_OpeningFcn(hObject, eventdata, handles, varargin) % Potential index of input variables indicesWhichCouldBechosen = 1:handles.KrigingAnalysisObj.KrigingObjects{handles.currentObj}.getnInputVar; +indicesNotChosen = indicesWhichCouldBechosen; % Takes all the indices which are not yet already chosen by the popMenue switch handles.InterpolationType @@ -313,6 +314,7 @@ function dialogInterpolation_OpeningFcn(hObject, eventdata, handles, varargin) % Collect information for the entries in the table for iVar=1:length(strNames)-(handles.InterpolationType-1) +% for iVar=1:length(strNames) dataIni{iVar,1} = strNames{indicesNotChosen(iVar)}; if handles.InterpolationType==4 % nD-plot @@ -358,8 +360,9 @@ function dialogInterpolation_OpeningFcn(hObject, eventdata, handles, varargin) index2(runIndex) = find(strcmp(str{iIndex}{val(iIndex)},strNames)==1); runIndex = runIndex+1; end -index2 = unique(index2); -indices = setdiff(1:length(strNames),index2); +% index2 = unique(index2); +% indices = setdiff(1:length(strNames),index2); +indices = 1:length(strNames); % --- Executes on button press in checkboxBestData. @@ -482,8 +485,11 @@ function popupmenuInVar2_Callback(hObject, eventdata, handles) InputVarPopupValueMatrix(iIndex,currentRow) = get(popUps{iIndex},'Value'); end % Fill up the remaining part -InputVarIndiceMatrix(currentRow,4:end) =... +InputVarIndiceMatrix(currentRow,4:end) = ... setdiff(1:nInputVar,InputVarIndiceMatrix(currentRow,1:3)); +% InputVarIndiceMatrix(currentRow,1:end) = 1:nInputVar; +% InputVarIndiceMatrix(currentRow,1:end) = ... +% setdiff(1:nInputVar,InputVarIndiceMatrix(currentRow,1:3)); @@ -571,11 +577,17 @@ function pushbuttonInterpolation_Callback(hObject, eventdata, handles) errordlg(horzcat('Uncheck either "',get(handles.checkboxContourPlot,'String'),'" or "',get(handles.checkboxDisplayOptimum,'String'),'"')) error(horzcat('Uncheck either "',get(handles.checkboxContourPlot,'String'),'" or "',get(handles.checkboxDisplayOptimum,'String'),'"')) end - + + switch handles.InterpolationType case 2 chosenIndices = indicesWhichCouldBechosen1(val1); + if length(unique(chosenIndices))~= length(chosenIndices) + errordlg('Indices of input variable are not unique') + error('Indices of input variable are not unique') + end + indicesRemainingInputVar = setdiff(1:nInputVar,chosenIndices); data = get(handles.uitableInputParameters,'Data'); for iVar=1:nInputVar-1 @@ -602,6 +614,11 @@ function pushbuttonInterpolation_Callback(hObject, eventdata, handles) case 3 chosenIndices = [indicesWhichCouldBechosen1(val1),indicesWhichCouldBechosen2(val2)]; + if length(unique(chosenIndices))~= length(chosenIndices) + errordlg('Indices of input variable are not unique') + error('Indices of input variable are not unique') + end + indicesRemainingInputVar = setdiff(1:nInputVar,chosenIndices); data = get(handles.uitableInputParameters,'Data'); for iVar=1:nInputVar-2 @@ -641,7 +658,11 @@ function pushbuttonInterpolation_Callback(hObject, eventdata, handles) case 4 - + if length(unique(handles.InputVarIndiceMatrix(:,1:3)))~= length(handles.InputVarIndiceMatrix(:,1:3)) + errordlg('Indices of input variable are not unique') + error('Indices of input variable are not unique') + end + valuesRemainingInputVarValues = zeros(handles.nRows,nInputVar-3); for iVar=1:handles.nRows valuesRemainingInputVarValues(iVar,:) = handles.InputVarValueMatrix(iVar,handles.InputVarIndiceMatrix(iVar,4:end)); @@ -1018,3 +1039,11 @@ function uitableMinMaxVar_CreateFcn(hObject, eventdata, handles) % your option, any later version) which accompanies this distribution, and % is available at http://www.gnu.org/licenses/gpl.html % ============================================================================= + + +% --- If Enable == 'on', executes on mouse press in 5 pixel border. +% --- Otherwise, executes on mouse press in 5 pixel border or over popupmenuInVar1. +function popupmenuInVar1_ButtonDownFcn(hObject, eventdata, handles) +% hObject handle to popupmenuInVar1 (see GCBO) +% eventdata reserved - to be defined in a future version of MATLAB +% handles structure with handles and user data (see GUIDATA) diff --git a/GUI/dialogInterpolationGUI.fig b/GUI/dialogInterpolationGUI.fig index 99f23335f38e1a9111e27f7b10c8bbca42778a4b..14fdbc8423b5511183e801e4c3480862279bc7ea 100644 GIT binary patch literal 16234 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

@IqjZqq~sxtWPg{9 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

eHLSjXFKr2{KX4t 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 IUnkc82S+&q!vFvP delta 4794 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 Un6Ns3*uURT&L67Y0ol$_6)U>X_5c6? diff --git a/GUI/dialogInterpolationGUI.m b/GUI/dialogInterpolationGUI.m index 883cd19..9f48557 100644 --- a/GUI/dialogInterpolationGUI.m +++ b/GUI/dialogInterpolationGUI.m @@ -24,7 +24,7 @@ % Edit the above text to modify the response to help dialogInterpolationGUI -% Last Modified by GUIDE v2.5 22-Jan-2015 16:17:46 +% Last Modified by GUIDE v2.5 15-Mar-2017 16:52:51 % Begin initialization code - DO NOT EDIT gui_Singleton = 1; @@ -193,3 +193,11 @@ function popupmenu4_CreateFcn(hObject, eventdata, handles) % your option, any later version) which accompanies this distribution, and % is available at http://www.gnu.org/licenses/gpl.html % ============================================================================= + + +% --- If Enable == 'on', executes on mouse press in 5 pixel border. +% --- Otherwise, executes on mouse press in 5 pixel border or over popupmenu1. +function popupmenu1_ButtonDownFcn(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) diff --git a/dependencies/@AnalyzeKriging/plotParetoFrontData.m b/dependencies/@AnalyzeKriging/plotParetoFrontData.m index adcf075..51c0672 100644 --- a/dependencies/@AnalyzeKriging/plotParetoFrontData.m +++ b/dependencies/@AnalyzeKriging/plotParetoFrontData.m @@ -56,6 +56,7 @@ for iObjNested = 1:nObj outputMatrix(:,iObjNested) = obj.KrigingObjects{krigingObjectIndex(iObjNested)}.getOutputData; end + outputMatrix = bsxfun(@times,outputMatrix,obj.getMinMax(krigingObjectIndex)); end % ------------------------------------------------------------------------- function []=numerateSamples(nObj,paretoSamples) @@ -87,7 +88,8 @@ end % Sort ParetoSet allong th x-axis - paretoSamples = sortrows(obj.ParetoSetExperiments); + paretoSamples = bsxfun(@times,obj.ParetoSetExperiments,obj.getMinMax(krigingObjectIndex)); + paretoSamples = sortrows(paretoSamples); % Connect pareto points by a "stair" indicating dominated and non % domiated are diff --git a/dependencies/@AnalyzeKriging/plotParetoInput.m b/dependencies/@AnalyzeKriging/plotParetoInput.m index ead82c3..43d365c 100644 --- a/dependencies/@AnalyzeKriging/plotParetoInput.m +++ b/dependencies/@AnalyzeKriging/plotParetoInput.m @@ -46,8 +46,8 @@ nInputVar = length(inputIndices); % Test Input - if (nInputVar~=2&&nInputVar~=3)||~any(size(inputIndices)==1) - error('InputIndices has to be an one-dimensional array of size 2 or 3') + if (nInputVar~=1&&nInputVar~=2&&nInputVar~=3)||~any(size(inputIndices)==1) + error('InputIndices has to be an one-dimensional array of size 1, 2, or 3') end if obj.nParetoSetExperiments<=0 @@ -71,7 +71,11 @@ % Add legend warning('off','MATLAB:legend:IgnoringExtraEntries') - legend('Non-optimal Sample Points','Optimal Sample Points','Trajectory') + if nInputVar + legend('Optimal Sample Points','Trajectory') + else + legend('Non-optimal Sample Points','Optimal Sample Points','Trajectory') + end warning('on','MATLAB:legend:IgnoringExtraEntries') %% Nested Functions % --------------------------------------------------------------------- @@ -85,6 +89,16 @@ % Actual Plotting switch nInputVar + case 1 + % Mark pareto optimal + nPareto = length(obj.ParetoValuesInput(:,inputIndices(1))); + plot(1:nPareto,... + inputSorted(:,inputIndices(1)),... + 'kO','MarkerFaceColor',colorOptimal,'MarkerSize',12); + stairs(1:nPareto,... + inputSorted(:,inputIndices(1)),... + 'k','LineWidth',2); + set(gca,'XTick',1:nPareto) case 2 if obj.ShowData==1 % All data @@ -152,16 +166,30 @@ % ---------------------------------------------------------------------- function []=labelAxes() if isempty(obj.InputVarNames{krigingObjectIndex(1)}) - xlabel(horzcat('Input Variable ',num2str(inputIndices(1))),'FontSize',20); - ylabel(horzcat('Input Variable ',num2str(inputIndices(2))),'FontSize',20); - if nInputVar>2 - zlabel(horzcat('Input Variable ',num2str(inputIndices(3))),'FontSize',20); + switch nInputVar + case 1 + xlabel('Point Number','FontSize',20) + xlabel(horzcat('Input Variable ',num2str(inputIndices(1))),'FontSize',20); + case {2,3} + xlabel(horzcat('Input Variable ',num2str(inputIndices(1))),'FontSize',20); + ylabel(horzcat('Input Variable ',num2str(inputIndices(2))),'FontSize',20); + if nInputVar>2 + zlabel(horzcat('Input Variable ',num2str(inputIndices(3))),'FontSize',20); + end end else - xlabel(obj.InputVarNames{krigingObjectIndex(1)}(inputIndices(1)),'FontSize',20); - ylabel(obj.InputVarNames{krigingObjectIndex(1)}(inputIndices(2)),'FontSize',20); - if nInputVar>2 - zlabel(obj.InputVarNames{krigingObjectIndex(1)}(inputIndices(3)),'FontSize',20); + + switch nInputVar + case 1 + xlabel('Point Number','FontSize',20) + inputNames = obj.getInputVarNames(krigingObjectIndex(1)); + ylabel(inputNames(inputIndices(1)),'FontSize',20) + case {2,3} + xlabel(obj.InputVarNames{krigingObjectIndex(1)}(inputIndices(1)),'FontSize',20); + ylabel(obj.InputVarNames{krigingObjectIndex(1)}(inputIndices(2)),'FontSize',20); + if nInputVar>2 + zlabel(obj.InputVarNames{krigingObjectIndex(1)}(inputIndices(3)),'FontSize',20); + end end end end