用函数初始化矩阵

Red*_*son 4 initialization matrix julia

我正在寻找朱莉娅中的某些东西,比如理解但是对于矩阵而不是向量.如果我有一些单变量函数f(x),我想那是充满了一个数组f(i)i1..10,我可以这样做:

[f(i) for i = 1:10]
Run Code Online (Sandbox Code Playgroud)

如果我有一些双变量函数g(i,j),我想要一个i=[1,10]; j=[1,10]填充函数的矩阵,我可以这样做:

M = zeros (10,10)

for i in 1:10
     for j in 1:10
         M[i,j] = g(i,j)
     end
end
Run Code Online (Sandbox Code Playgroud)

是否有一些快捷方式允许我以较短的方式表达它而不浪费时间分配所有的零?

Mat*_* B. 8

只需直接使用多维理解:

julia> g(x,y) = 2x+y
g (generic function with 1 method)

julia> [g(i,j) for i=1:10, j=1:10]
10x10 Array{Int64,2}:
  3   4   5   6   7   8   9  10  11  12
  5   6   7   8   9  10  11  12  13  14
  7   8   9  10  11  12  13  14  15  16
  9  10  11  12  13  14  15  16  17  18
 11  12  13  14  15  16  17  18  19  20
 13  14  15  16  17  18  19  20  21  22
 15  16  17  18  19  20  21  22  23  24
 17  18  19  20  21  22  23  24  25  26
 19  20  21  22  23  24  25  26  27  28
 21  22  23  24  25  26  27  28  29  30
Run Code Online (Sandbox Code Playgroud)

通过在末尾添加变量范围,这适用于任意数量的维度.