Matrix 用函数初始化矩阵

Matrix 用函数初始化矩阵,matrix,initialization,julia,Matrix,Initialization,Julia,我在朱莉娅身上寻找一些东西,比如理解力,但不是向量,而是矩阵。如果我有一些单变量函数f(x),并且我想要一个数组,该数组在1..10中为i填充f(i),我可以这样做: [f(i) for i = 1:10] M = zeros (10,10) for i in 1:10 for j in 1:10 M[i,j] = g(i,j) end end 如果我有一个双变量函数g(I,j),我想要一个来自I=[1,10]的矩阵;j=[1,10]充满了函数,我可以

我在朱莉娅身上寻找一些东西,比如理解力,但不是向量,而是矩阵。如果我有一些单变量函数
f(x)
,并且我想要一个数组,该数组在
1..10
中为
i
填充
f(i)
,我可以这样做:

[f(i) for i = 1:10]
M = zeros (10,10)

for i in 1:10
     for j in 1:10
         M[i,j] = g(i,j)
     end
end
如果我有一个双变量函数
g(I,j)
,我想要一个来自
I=[1,10]的矩阵;j=[1,10]
充满了函数,我可以这样做:

[f(i) for i = 1:10]
M = zeros (10,10)

for i in 1:10
     for j in 1:10
         M[i,j] = g(i,j)
     end
end
有没有什么捷径可以让我用一种更短的方式表达出来,而不必浪费时间分配所有的零?

直接使用a:

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
通过在末尾添加变量范围,这适用于任意数量的标注