我需要在一組單元陣列中找到唯一的單元陣列。例如,如果這是我輸入:如何在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