2013-12-11 34 views
4

我想打印一個單元格行的內容,以便匹配的字符串是一個接一個的。原始行看起來像:如何通過單個字符串中的匹配來命令和打印字符串單元格內容,Matlab?

實施例1:

'E11E81' 'E21E81' 'E31E51' 'E31E61' 'E61E81' 

從這個線,我想打印:

E11 - E81 - E61 - E31 - E51 
     | 
     E21 

實施例2:

'E11E81' 'E21E82' 'E31E81' 'E31E83' 'E51E83' 'E61E82' 'E61E83' 'E81E82' 

從這個線,我想打印:

E11 - E81 - E31 - E83 - E5 
     |   | 
E21 - E82 - E61 - 

到目前爲止,每個單元位置我用

b = strncmp('E11E81',current_connection,6); 
if b == 1, disp('E1 - E81 - '); end 

,但我不知道該怎麼走的更遠。

任何想法?謝謝你的想法!

+0

我建議使用'graphconncomp'的輸出 – Daniel

+0

謝謝Daniel!雖然這是一個挑戰,但這個功能只適用於Matlab2013b,而且我有Matlab2013a。我可以將它作爲單獨的工具箱安裝嗎? – Aquila

+0

我們在這裏需要一些限制......當應該有24個連接到1個字符串時會發生什麼?是否所有子字符都是3個字符?他們都遵循'[A-Z] [0-9] [0-9]'的模式嗎? ...等 –

回答

0

已經提到的graphconncomp的替代方法是gplot,但是gplot存在節點必須手動放置的問題。

設C是你的連接矩陣:

[x,y]=ind2sub([ceil(sqrt(size(C,1))),ceil(sqrt(size(C,1)))],1:numel(C)) 
gplot(C, [x' y']) 

這繪製在規則網格上的所有節點,開始在左下角。

相關問題