gpt4 book ai didi

grid - Julia 1.1 创建网格(网格中的点数组)

转载 作者:行者123 更新时间:2023-12-04 22:39:13 27 4
gpt4 key购买 nike

使用 Julia 1.1,我想基于范围向量创建点网格

使用此代码时,它为我提供了这些点的列表

u = [[i j ] for i in -1:0.5:1, j in -1:0.5:1]
[u...]

但是,我无法开发一种更通用的方法,在给定范围数组时创建这样的多维点向量

例如,开发一个 createGrid 函数,它将 n 个范围的向量作为参数并输出所有点的列表。
createGrid([1.:0.5:0., 1.:0.5:0., 1.:0.5:0.])

这将输出:
27-element Array{Array{Float64,2},1}:
[-1.0 -1.0 -1.0]
[-0.5 -1.0 -1.0]
[0.0 -1.0 -1.0]
[-1.0 -0.5 -1.0]
[-0.5 -0.5 -1.0]
[0.0 -0.5 -1.0]
[-1.0 0.0 -1.0]
[-0.5 0.0 -1.0]
[0.0 0.0 -1.0]
[-1.0 -1.0 -0.5]
[-0.5 -1.0 -0.5]
[0.0 -1.0 -0.5]
[-1.0 -0.5 -0.5]


谢谢你的任何建议

最佳答案

看看Iterators.product .它不会创建 Array s,但会创建一个对象,您可以迭代以获取网格的每个新元素作为 Tuple (这实际上通常是您想要的)。

julia> p = Iterators.product(-1.:0.5:0., -1.:0.5:0., -1.:0.5:0.);
julia> println.(p);
(-1.0, -1.0, -1.0)
(-0.5, -1.0, -1.0)
(0.0, -1.0, -1.0)
(-1.0, -0.5, -1.0)
(-0.5, -0.5, -1.0)
(0.0, -0.5, -1.0)
(-1.0, 0.0, -1.0)

关于grid - Julia 1.1 创建网格(网格中的点数组),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58183572/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com