3

各要素が 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
4

1 に答える 1

6

cell 配列の要素が行ベクトルの場合、次のようにすることができます。

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{:}) );
于 2010-08-17T21:31:50.023 に答える