R-interp:相同的输入和输出坐标(x,y,xo,yo),多个数据值向量(z)。我可以跳过一些步骤吗?

时间:2019-04-02 16:07:04

标签: r interpolation linear-interpolation spatial-interpolation

我必须从相同的输入坐标(x,y)到相同的输出坐标(xo,yo)执行多个2-d线性插值。每次(z1,z2,z3,...)仅更改数据值(z)。

我一直在R上使用软件包interp。到目前为止,我已经多次调用命令“ interp”。像这样:

# create data 
y <- rep(1:5,5)      # input coords
x <- rep(1:5,each=5)
z1 <- 1:25           # data
z2 <- 25:1
xo <- c(1.1,2.2,3.3) # output coords
yo <- c(2.2,3.3,4.4)

# interpolate 
library(interp)
z1.int <- interp(x,y,z1,xo,yo,output="points")[[3]]; z1.int
z2.int <- interp(x,y,z2,xo,yo,output="points")[[3]]; z2.int

# plot (optional)
layout(t(1:2))
plot(x,y,type='n'); text(x,y,z1,col='red'); text(xo,yo,z1.int)
plot(x,y,type='n'); text(x,y,z2,col='red'); text(xo,yo,z2.int)

但是,我怀疑有一种方法可以大大加快我的计算速度。插值过程包括许多步骤。我认为其中一些只需要执行一次,然后针对多个数据向量多次使用其结果。

有办法吗?

0 个答案:

没有答案