0
任意長度的矢量I有一個數組:旋轉圓約約一些點x的陣列,Y在Matlab
1 1 1 0 0
1 2 2 0 0
1 2 3 0 0
0 0 0 0 0
0 0 0 0 0
我想使它
1 1 1 1 1
1 2 2 2 1
1 2 3 2 1
1 2 2 2 1
1 1 1 1 1
它就像旋轉1/4塊餡餅270度,以填滿餡餅的其餘部分,製成一個完整的圓圈。基本上反映所有方向的整個角落。如果可能的話,我不想在構建的matlab功能中使用任何功能 - 只要有可能,只需使用一些向量技巧即可。謝謝。
編輯:
此嵌入任意大小的元素爲零的矩陣內。我希望它在上述兩個示例工作,並說這個例子:
0 0 0 0 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 2 2 0 0 0 0 0 0 0 0 0
0 0 1 2 3 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0
理想情況下,我想有一個矢量說[1,2,3 ... N],它被旋轉圓度最高值在數組(N)中,以網格中的某個點xc,yc爲中心。或者如果這是不可能的,請取一個基本數組[1 1 1,1 2 2,1 2 3]並旋轉它,使得3位於中心,然後像上面第二個矩陣中那樣填充一個圓。
編輯:
我發現rot90(M,K)旋轉矩陣M k倍但這生產:
MROT = M + rot90(M,1)+ rot90(M,2)+ rot90 (M,3)
Mrot =
1 1 2 1 1
1 2 4 2 1
2 4 12 4 2
1 2 4 2 1
1 1 2 1 1
這將它堆疊在x,y方向上,這是不正確的。
有沒有辦法做到只有三行?即我在某個任意的NxN陣列中有[1 2 3],我想將它繞成圓形,所以它在每個x-y方向上是對稱的? – Griff
只需創建答案中給出的M並將其嵌入到只有0的更大矩陣中。 – thang