r - R-interp:相同的输入和输出坐标(x,y,xo,yo),多个数据值向量(z)。我可以跳过一些步骤吗?
问题描述
我必须从相同的输入坐标(x,y)到相同的输出坐标(xo,yo)执行多个二维线性插值。每次只有数据值 (z) 发生变化 (z1,z2,z3,...)。
我一直在 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)
但是,我怀疑有一种方法可以大大加快我的计算速度。插值过程由多个步骤组成。我认为其中一些只需要执行一次,然后将它们的结果多次用于多个数据向量。
有没有办法做到这一点?
解决方案
推荐阅读
- java - Lucene - 验证索引的完整性
- android - 用户 10034 和当前进程都没有 android.permission.WAKE_LOCK
- python - 使用openpyxl更新excel表而不覆盖:Pandas
- image - 弹出窗口中图像的站点速度图像缓存
- swift - 如何从我的 UIImageView 中清除图像
- node.js - ExecuteMany 插入错误的值
- web-application-firewall - WAF 和 API 管理的区别
- c# - 如何在统一 c# 中检查我的 Bool 值是否为真?
- azure-devops - 如何限制 Azure DevOps 存储库中开发人员对 build.yml 文件的访问
- html - 如何构建一个简单的 HTML 表单以从两个表单域构建一个链接?