我正在尝试构建所有可能的四个向量(模型中的参数)组合,这将给我一个大的nx4矩阵,并且我可以在每个参数集(行)上运行模拟。在R中,我可以使用expand.grid
实现此目的。在Mathematica风格下,我可以使用类似于外积与vcat
的函数,并使用hcat
来缩小输出。
是否有与R中expand.grid
或外映射函数相似的函数?
示例:
A = [1 2]
B = [3 4]
some magic
output = [1 3, 1 4, 2 3, 2 4]
我正在尝试构建所有可能的四个向量(模型中的参数)组合,这将给我一个大的nx4矩阵,并且我可以在每个参数集(行)上运行模拟。在R中,我可以使用expand.grid
实现此目的。在Mathematica风格下,我可以使用类似于外积与vcat
的函数,并使用hcat
来缩小输出。
是否有与R中expand.grid
或外映射函数相似的函数?
示例:
A = [1 2]
B = [3 4]
some magic
output = [1 3, 1 4, 2 3, 2 4]
using Iterators
for p in product([1,2], [3,4])
println(p)
end
在这里,您将使用您的算法替换 println
。如果获取所有组合的集合很重要,您也可以使用 collect
。
虽然你展示的不是确切的记法,但理解可帮助解决问题。
julia> a=[1, 2];
julia> b=[3, 4];
julia> [[i, j] for j in b, i in a]
2x2 Array{Any,2}:
[1,3] [2,3]
[1,4] [2,4]
julia> [[i, j] for j in b, i in a][:]
4-element Array{Any,1}:
[1,3]
[1,4]
[2,3]
[2,4]