MATLAB: How to filter field data in structure structure matlab Hello. This is my first question. If my structure s has 3 fields f1 f2 f3. I want to filter f2 so that its value is less than 30. How to do that? Best Answer a = arrayfun(@(n) s.f2 < 30, length(s.f2));s = s(a); Related SolutionsMATLAB: How to assign the same value to every field, including nested fields of a structure A = structfun(@(s) layer2(s,x), 'Uniform', 0);together with function r = layer2(s, x) if istruct(s) fn = fieldnames(s); r = cell2struct( repmat({x}, length(fn), 1), fn, 1); else r = x; end end MATLAB: Filter a struct based on the field name. names = fieldnames( myStruct );subStr = 'f1_';filteredStruct = rmfield( myStruct, names( find( cellfun( @isempty, strfind( names , subStr ) ) ) ) );should work, based on a quick test, though there may be more efficient methods. Related QuestionHow to use the fields in the structureHow to print the structure, with several fields, as a title in MATLABHow to count field numbers of structureReference a structure arrayHow remove a field inside a structure
Best Answer