道格•赫尔MathWorks
(最初发布在Doug的MATLAB视频教程博客上。)
最近,一个MATLAB用户问我,如何以这样一种方式处理结构数组,她可以过滤结构数组,然后合并剩余的字段。一旦合并,她将对合并后的数据运行任意处理函数。
这种通用的架构允许她不使用开关情况和其他流控制。表示感兴趣的字段的字符串可能来自GUI,这使得GUI能够以多种任意和可定制的方式进行处理。
以下是文章中的代码:
明确clc s(1)。条件= 1;(2)。条件= 1;(3)。条件= 2;(4)。条件= 2;(1)。速度=(十一21);(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)
记录:2013年4月17日
你也可以从以下列表中选择一个网站:
请选择表现最佳的中国网站(中文或英文)。MathWorks的其他国家网站并没有针对您所在位置的访问进行优化。