Julia中是否有外部映射函数?

5

我正在尝试构建所有可能的四个向量(模型中的参数)组合,这将给我一个大的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]
2个回答

3
使用迭代器包,代码可能会像这样:

using Iterators
for p in product([1,2], [3,4])
    println(p)
end

在这里,您将使用您的算法替换 println。如果获取所有组合的集合很重要,您也可以使用 collect


1

虽然你展示的不是确切的记法,但理解可帮助解决问题。

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]

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接