Julia:在不修复n的情况下索引到n维数组的语法

时间:2016-02-09 23:19:30

标签: multidimensional-array interpolation julia

我尝试使用Julia的 Interpolations 包来插入在n维网格上采样的函数。 Interpolations包使用类似于数组索引的语法来指定插入数据的点(事实上,Interpolations包似乎从Base导入用于数组索引的getindex函数)。例如,对于n = 2,以下代码:

index_vector = [0.5, 0.5]

在中点(0.5,0.5)打印线性插值的结果。

现在,如果我有一个n维向量(例如n = 2维中的a = A[index_vector[1], index_vector[2]] ),我看到我可以通过编写

得到相同的结果
A

但我一般都无法做到这一点。也就是说,我想找/写一个函数,它接受一个n维数组index_vector和一个长度为n的向量A[index_vector[1], ... , index_vector[n]] 并返回

index_vector

其中n事先未知。当You can try this sample code below if images are one after the other. Using single for loop with printf inside echo... <body> <?php for ($i = 0; $i < 67; $i++) { ?> <article class="thumb"> <a href="images/full/image<?php printf("%02d\n", $i)?>.jpg" ><img src="images/thumb/image<?php printf("%02d\n", $i)?>.png" alt="" /></a> </article> <?php } ?> </body> Here is the sample output I kept only one image for testing. http://i.stack.imgur.com/l1Lo5.png 的条目不一定是整数时,有没有办法做到这一点?

1 个答案:

答案 0 :(得分:1)

我认为你可以使用splat(...)。 ...将“集合”的元素“分发”到参数槽:

using Interpolations 

A_grid = [1 2; 3 4]
A = interpolate((0:1, 0:1), A_grid, Gridded(Linear()))
index_vector = [0.5, 0.5]
a = A[index_vector...]
println(a)

给出了与您的示例相同的结果。