例如,我想打开以下列:
[90; 175; 600; 650; 655; 660]
进入矩阵:
[ 90, 175, 600, 650, 655, 660;
175, 600, 650, 655, 660, 655;
600, 650, 655, 660, 655, 650;
650, 655, 660, 655, 650, 600;
655, 660, 655, 650, 600, 175;
660, 655, 650, 600, 175, 90]
我要用什么算法?
到目前为止我有:
col = [90; 175; 600; 650; 655; 660];
[numrows, temp] = size(col);
Z = zeros(numrows, numrows);
for i = 1:1:numrows
for j = 1:1:numrows
Z(i,j) = col(i);
Z(j,i) = col(i);
end
end
最佳答案
内置函数toeplitz
在几次翻转后提供所需的内容:
>> col = [90; 175; 600; 650; 655; 660];
>> result = flipud(toeplitz(flip(col)))
result =
90 175 600 650 655 660
175 600 650 655 660 655
600 650 655 660 655 650
650 655 660 655 650 600
655 660 655 650 600 175
660 655 650 600 175 90