如何在MatLab中创建对角线线性递减的对称矩阵



我试图创建一个对称的n乘n矩阵,其中对称线从n线性递减到1。

例如,5乘5将是:

5 4 3 2 1 
4 4 3 2 1
3 3 3 2 1
2 2 2 2 1
1 1 1 1 1 

感谢

使用隐式展开,min函数将从行和列向量的组合中生成一个方阵,因此可以通过以下操作获得结果:

N = 5;
A = min( (N:-1:1).', (N:-1:1) );

您可以使用:

numRows = 5;
mI = repmat((1:numRows)', 1, numRows);
mJ = repmat((1:numRows), numRows, 1);
mA = flip(flip(min(mI, mJ), 1), 2)

答案由给出

mA =
5     4     3     2     1
4     4     3     2     1
3     3     3     2     1
2     2     2     2     1
1     1     1     1     1

相关内容

  • 没有找到相关文章

最新更新