我需要在一组单元阵列中找到唯一的单元阵列。例如,如果这是我输入:如何在MATLAB中的一组单元阵列中有效地找到独特的单元阵列?
I = {{'a' 'b' 'c' 'd' 'e'} ...
{'a' 'b' 'c'} ...
{'d' 'e'} ...
{'a' 'b' 'c' 'd' 'e'} ...
{'a' 'b' 'c' 'd' 'e'} ...
{'a' 'c' 'e'}};
然后,我想我的输出看起来像这样:
I_unique = {{'a' 'b' 'c' 'd' 'e'} ...
{'a' 'b' 'c'} ...
{'d' 'e'} ...
{'a' 'c' 'e'}};
你有任何想法如何做到这一点?输出中元素的顺序无关紧要,但效率确实很高,因为单元阵列可能非常大。
细胞是否在输出此事的顺序?你是否按照它们出现在输入中的顺序需要它们?另外,你是否正在处理*很多细胞进行比较(即速度问题)? – gnovice 2011-03-17 17:22:38
您是否打算让每个单元格包含带单引号的单个字符串或包含单字符字符串的列表?你得到了前者 - 一个字符串“在”里面的加倍引号只是一个转义引用。为了得到后者,用空格拆分字符串文字,如{'a''b''c''d''e'}。 – 2011-03-17 18:00:04
嗨,顺序无关紧要。计算时间很重要,因为输入数据可能很大。对不起,我没有指定此问题 - 一个单元中的元素可能包含多个字符,即{'a1''a2''a3'}。 – user664664 2011-03-17 19:23:39