Arrays MATLAB中单元中的相似和不相似元素
我有一个形式的单元格:a={[7];[];[7,7];[3,4,5];[6,7];[7,7];[7,8];[] 我想在Matlab中分别找到一些相似和不同的元素,我怎样才能做到这一点Arrays MATLAB中单元中的相似和不相似元素,arrays,matlab,cell,Arrays,Matlab,Cell,我有一个形式的单元格:a={[7];[];[7,7];[3,4,5];[6,7];[7,7];[7,8];[] 我想在Matlab中分别找到一些相似和不同的元素,我怎样才能做到这一点 我的意思是,元素[3,4,5]是1和要确定的元素类型。您可以将数字转换为字符串,然后使用unique及其所有适合您用途的属性 如果您询问唯一和非唯一单元格的数量,请这样做: B= cellfun(@num2str, A, 'UniformOutput', false); number_of_unique_cells
我的意思是,元素
[3,4,5]
是1
和要确定的元素类型。您可以将数字转换为字符串,然后使用unique
及其所有适合您用途的属性
如果您询问唯一和非唯一单元格的数量,请这样做:
B= cellfun(@num2str, A, 'UniformOutput', false);
number_of_unique_cells=numel(unique(B));
number_of_repeated_cells=numel(A)-numel(unique(B));
您只需在单元阵列中循环:
A = {7;[];[7,7];[3,4,5];[6,7];[7,7];[7,8];[]};
elem = zeros(numel(A),2);
for k = 1:numel(A)
elem(k,1) = numel(unique(A{k}));
elem(k,2) = numel(A{k})-elem(k,1);
end
这里的结果是2列向量elem
,其中第一个向量是唯一元素的数量,第二个是非唯一元素的数量:
elem =
1 0
0 0
1 1
3 0
2 0
1 1
2 0
0 0
你能准确地定义你所说的相似的意思吗?