生成一个值越来越大的矩阵,但沿主对角线的NaN?

1 matlab matrix

对于这个问题,可能有一个快速的小技巧,但我找不到它.我想代码在下图中生成矩阵:

示例矩阵

bea*_*ker 5

这是使用逻辑索引的方法:

n = 4;
A = nan(n);
A(~eye(n)) = 1:n^2-n;    %// Only replace values *not* on diagonal
A = A.'

A =

   NaN     1     2     3
     4   NaN     5     6
     7     8   NaN     9
    10    11    12   NaN
Run Code Online (Sandbox Code Playgroud)