在Julia中使用ndgrid/meshgrid功能

nal*_*d88 5 julia

我试图找到朱莉娅类似MATLAB的功能meshgridndgrid.我知道Julia已ndgrid示例中定义但是当我尝试使用它时,我收到以下错误.

UndefVarError:未定义ndgrid

任何人都知道如何使内置ndgrid函数工作或可能我没有找到的另一个函数或提供这些方法的库(内置函数将是首选)?在这种情况下,我宁愿不写自己的.

谢谢!

Jef*_*son 9

我们更愿意避免使用这些函数,因为它们分配通常不必要的数组.这些数组中的值具有这样的规则结构,不需要存储它们; 它们可以在迭代期间计算.例如,一种替代方法是编写数组解析:

julia> [ 10i + j for i=1:5, j=1:5 ]
5×5 Array{Int64,2}:
 11  12  13  14  15
 21  22  23  24  25
 31  32  33  34  35
 41  42  43  44  45
 51  52  53  54  55
Run Code Online (Sandbox Code Playgroud)

或者,您可以编写for循环,或迭代product迭代器:

julia> collect(Iterators.product(1:2, 3:4))
2×2 Array{Tuple{Int64,Int64},2}:
 (1, 3)  (1, 4)
 (2, 3)  (2, 4)
Run Code Online (Sandbox Code Playgroud)

  • 有一个 AbstractArray 类型可以根据需要计算值而不像 linspace 一样进行分配不是很好吗?本质上是 linspace 的 n 维泛化。 (3认同)