创建一个矩阵,其中每个值都取决于它自己的索引

时间:2017-12-05 21:05:34

标签: matlab matrix

我想创建一个带有条目Aij = 5/(i + 2j -1)的n * n矩阵。

使用几个for循环很容易,但我只是想知道是否有内置功能可以做到这一点?

2 个答案:

答案 0 :(得分:3)

非常简单,只需使用meshgrid:

 [j i]=meshgrid(1:n);
 A=5./(i+2*j-1);

n是您想要的尺寸。

在您的案例中,ij转到n的更简单的方法就是这一行:

A=5./([1:n]'+2*[1:n]-1);

答案 1 :(得分:2)

另一种可能性,即使不如@bla提出的优雅和简单:

x=5./(bsxfun(@plus,2:2:n*2,(0:n-1)'))

第一行的分母是2:2:n*2,其他行只是前一行+1。