[英]How do I create a symmetric matrix with a linearly decreasing diagonal in MatLab?
我正在尝试创建一个对称的 n x n 矩阵,其中对称线从 n 线性减少到 1。
例如 5 x 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
谢谢
使用implicit expansion , min
function 将从行向量和列向量的组合生成一个方阵,因此可以通过以下方式获得结果:
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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.