This generalized architecture allows her to not use switch case and other flow control. The strings that represent the fields of interest could come from a GUI making her GUI able to process in many arbitrary and customizable ways.
clear clc s(1).condition = 1; s(2).condition = 1; s(3).condition = 2; s(4).condition = 2; s(1).velocity = [11:21]; s(2).velocity = [22:32]; s(3).velocity = [33:43]; s(4).velocity = [44:54]; s(1).acceleration = [111:121]; s(2).acceleration = [122:132]; s(3).acceleration = [133:143]; s(4).acceleration = [144:154]; fieldToFilterBy = 'condition'; valueToFilterBy = 2; fieldToProcess = 'acceleration'; processingFunction = @mean; listOfFilterValues = [s.(fieldToFilterBy)]; vi = (listOfFilterValues == valueToFilterBy) filteredStructure = s(vi) mergedFieldOfInterest = [filteredStructure(:).(fieldToProcess)] processedFilteredData = feval(processingFunction, mergedFieldOfInterest)
To leave a comment, please click here to sign in to your MathWorks Account or create a new one.