Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab中单元阵列的计算集并_Matlab_Vectorization - Fatal编程技术网

Matlab中单元阵列的计算集并

Matlab中单元阵列的计算集并,matlab,vectorization,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 如果单元格数组元素是行向量,则可以执行以下操作: un

我有一个单元格数组,其中每个元素由一个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

如果单元格数组元素是行向量,则可以执行以下操作:

union_ids = unique( [encounter_ids{:}] );
如果它们是列向量,则使用:

union_ids = unique( vertcat(encounter_ids{:}) );

如果您不确定,或者两者都是(有些是行向量,有些是列向量),则可以强制它们都是列向量:

encounter_ids = cellfun(@(c)c(:), encounter_ids, 'UniformOutput',false);
union_ids = unique( vertcat(encounter_ids{:}) );