2013-02-17 210 views
3

我有一個矩陣,它顯示騎士在騎士遊中的位置。我期待找到一種先按順序找到數字並輸出其位置的方法,例如在一個較小的X板在matlab上繪製矩陣的點

X=[1 3; 4 2] 

輸出

A=[1 2 3 4] 

b= [1 1; 2 4; 1 2; 1 3] 

事情是這樣的,其中B是A的值的矩陣

我能想到的這樣做是唯一的出路位置使用find (n)其中n=1..64一系列函數,然後串聯結果

然後我想用這些信息來創建一個陰謀的線條/矢量圖的動作,但是在制定如何做到這一點時也很困難。

感謝, 泰莎

回答

3

您可以使用find識別走訪板座標,然後根據移動的順序對它們進行排序。

%# find the visited coordinates 
[rows,cols,moveNumber]=find(A); 

%# find out how to reorder the positions so that 
%# the moves are in the right order 
[~,sortIdx] = sort(moveNumber); 

%# plot the moves 
figure 
plot(rows(sortIdx),cols(sortIdx),'-o') 
+0

看一看[這個答案](http://stackoverflow.com/questions/12318990/efficient-way-of-making-checkers-from-connected-components/12319576#12319576)找出如何製作背景的棋盤。 – Jonas 2013-02-17 14:10:25

+0

多數民衆贊成真棒!我現在應該做一些擺弄,但很重要的是要有一個完美的基礎。非常感謝你! – 2013-02-17 14:23:13