以下是一个在MATLAB中创建螺旋矩阵的示例代码:
function spiralMatrix = createSpiralMatrix(n)
% 创建一个n x n的螺旋矩阵
spiralMatrix = zeros(n); % 初始化螺旋矩阵
num = 1; % 从数字1开始填充螺旋矩阵
startRow = 1;
endRow = n;
startCol = 1;
endCol = n;
while num <= n*n
% 向右移动,填充第一行
for i = startCol:endCol
spiralMatrix(startRow, i) = num;
num = num + 1;
end
startRow = startRow + 1;
% 向下移动,填充最后一列
for i = startRow:endRow
spiralMatrix(i, endCol) = num;
num = num + 1;
end
endCol = endCol - 1;
% 向左移动,填充最后一行
for i = endCol:-1:startCol
spiralMatrix(endRow, i) = num;
num = num + 1;
end
endRow = endRow - 1;
% 向上移动,填充第一列
for i = endRow:-1:startRow
spiralMatrix(i, startCol) = num;
num = num + 1;
end
startCol = startCol + 1;
end
end
要使用这个函数创建一个5x5的螺旋矩阵,可以调用createSpiralMatrix(5)
。你可以根据需要调整矩阵的大小。运行代码后,将会得到以下输出:
ans =
1 2 3 4 5
16 17 18 19 6
15 24 25 20 7
14 23 22 21 8
13 12 11 10 9
这是一个5x5的螺旋矩阵。