我有一个带有一个变量 form 循环矩阵的问题。如何用for循环求解这个矩阵?

[1 1/2 ... 1/(m+1),
1/2 1/3 ... 1/(m+2),
 ... ... ...,
1/(m+1) 1/(m+2) ... 1/(2m+1)]

我用代码在 Matlab 上生成它:
m = 10;
m1 = repmat(1:m+1,1,m+1);
m2 = reshape(m1,m+1,m+1);
m3 = m2 + m2' - 1;
m4 = 1./m3;

如何在 R 中生成相同的代码?

最佳答案

你可以做:

m <- 4
a <- matrix(,m+1, m+1)
a <- 1/(col(a)+row(a)-1)
# > a
#           [,1]      [,2]      [,3]      [,4]      [,5]
# [1,] 1.0000000 0.5000000 0.3333333 0.2500000 0.2000000
# [2,] 0.5000000 0.3333333 0.2500000 0.2000000 0.1666667
# [3,] 0.3333333 0.2500000 0.2000000 0.1666667 0.1428571
# [4,] 0.2500000 0.2000000 0.1666667 0.1428571 0.1250000
# [5,] 0.2000000 0.1666667 0.1428571 0.1250000 0.1111111

关于r - 如何基于一个 m 变量生成具有序列的矩阵,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43280304/

10-10 19:46