2016-09-20 92 views
0

如何旋轉矩陣以創建螺旋順序的值?旋轉矩陣以創建值的螺旋順序

例如,

12 4 2 
8 3 11 
6 7 2 

我應該顯示12 4 2 11 2 7 6 8 3,但我不知道如何在第一行終止和旋轉功能,90度。先謝謝您的幫助。

+0

請提供您的研究工作(如果有的話),你有什麼到目前爲止已經試過! Stackoverflow不是讓別人去做你的功能的地方 – 0xDEADC0DE

回答

3

提示

檢查spiral功能:

spiral(n)n -by- n矩陣與一矩形螺旋圖案元素範圍 從1n^2

使用它的輸出建立一個索引到原始值。您可能還需要sort以及fliplr來顛倒值的順序。

查看試用版後的代碼

x = [12 4 2; 8 3 11; 6 7 2];
t = fliplr(spiral(sqrt(numel(x))));
[~, ind] = sort(t(:));
result = fliplr(x(ind).');

1
A =[12  4  2;... 
    8  3 11;... 
    6  7  2]; 

B=[]; 

for ii=1:5 

B = [B A(1,:)]; 

A(1,:)=[]; 

A=rot90(A); 

end 
B 

B =

12  4  2 11  2  7  6  8  3