在MATLAB里如何用for循环弄出这个矩阵?1
发布网友
发布时间:2024-02-29 05:22
我来回答
共2个回答
热心网友
时间:2024-03-25 20:34
沿着螺旋线走,如果发现不通就右旋一下。
function A = ff(M, N)
if nargin == 1
N = M;
end
B = ones(M+2, N+2);
B(2:M+1, 2:N+1) = 0;
dir = [0 1; 1 0; 0 -1; -1 0];
di = 0;
x = 2;
y = 2;
for k = 1:M*N
B(x,y) = k;
if B(x+dir(di+1,1), y+dir(di+1,2)) ~= 0
di = mod(di+1, 4);
end
x = x+dir(di+1,1);
y = y+dir(di+1,2);
end
A = B(2:M+1, 2:N+1);
end
调用:
ff(5)
ff(4, 3)
热心网友
时间:2024-03-25 20:31
直接输入比较简单