Elp*_*rto 3 matlab vectorization
我有一个单元格数组,其中每个元素都由一个id向量组成.我喜欢计算单元格数组中所有元素的并集.这是我目前的解决方案,但我觉得它可以被矢量化或具有更优雅的解决方案:
union_ids = union(encounter_ids{1},encounter_ids{2});
for i=3:1:numel(encounter_ids);
union_ids = union(union_ids,encounter_ids{i});
end
Run Code Online (Sandbox Code Playgroud)
如果单元格数组元素是行向量,则可以执行以下操作:
union_ids = unique( [encounter_ids{:}] );
Run Code Online (Sandbox Code Playgroud)
相反,如果它们是列向量,那么使用:
union_ids = unique( vertcat(encounter_ids{:}) );
Run Code Online (Sandbox Code Playgroud)
如果您不确定,或者它们恰好是两者(某些是行向量,有些是列),那么您可以强制它们成为所有列向量:
encounter_ids = cellfun(@(c)c(:), encounter_ids, 'UniformOutput',false);
union_ids = unique( vertcat(encounter_ids{:}) );
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2529 次 |
| 最近记录: |