matlab矩阵数组排列

一个k*m行矩阵,第一行为随机数组,第二行随机数组整体往右挪动一位,空出位置由0代替。 如何操作
例如

img

可以用循环做,试试下面的代码

m = 7; n = 7;
a=rand(1,n); % 代替
A =zeros(m,n);
A(1,:) = a;
for i = 2:m
    A(i,i+1:end) = a(1:n-i);
end
format short
A

结果是随机的

A =

    0.4387    0.3816    0.7655    0.7952    0.1869    0.4898    0.4456
         0         0    0.4387    0.3816    0.7655    0.7952    0.1869
         0         0         0    0.4387    0.3816    0.7655    0.7952
         0         0         0         0    0.4387    0.3816    0.7655
         0         0         0         0         0    0.4387    0.3816
         0         0         0         0         0         0    0.4387
         0         0         0         0         0         0         0