2016-09-17 53 views
-3

我有一個如下的單元格數組,其中包含17000個這樣的組合。在單元陣列中搜索模式的位置

'0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1' 

'0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1' 

'0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1' 

'0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0' 

'0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1' 

'0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0' 

'0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0' 

'0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0' 

'0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1' 

'0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0' 

'0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0' 

我想在循環中搜索數組中的模式。我對Matlab中單元陣列中該模式的位置感興趣。我曾嘗試過strcmp()函數進行比較,但它需要很多時間,因爲每個模式都與單元陣列的17000個元素進行比較。

是否有任何最快的方法來搜索單元格陣列中的模式?

+1

你爲什麼不轉換的字符串整數? – Shai

+1

該社區最近討論了[添加緊急求助問題](http://meta.stackoverflow.com/q/326569/472495),並決定它更喜歡沒有這些請求的帖子。 – halfer

+0

您可以從文件中讀取數據作爲數值數組而不是單元格數組中的字符串。 http://stackoverflow.com/questions/39477051/read-the-file-in-an-array-in-matlab – beaker

回答

0

使用bin2dec所有條目轉換單元陣列爲整數的,然後轉換爲搜索模式以及int和搜索整數

+0

謝謝..但我不想將它轉換成十進制ewant來比較相同的patterns.Also問題是,我的模式要搜索具有雙間距和單元格數組之間的單元間距陣列。如何解決這個問題呢。 –