【发布时间】:2019-08-14 20:16:56
【问题描述】:
我正在使用 akima 包和双线性函数将 z 值(温度)从粗坐标网格 (2.5° x 2.5°) 插入到更精细的网格 (0.5° x 0.5°)。双线性函数的工作原理如下:
用法
双线性(x, y, z, x0, y0)
参数
x 包含矩形数据网格的 x 坐标的向量。
y 包含矩形数据网格的 y 坐标的向量。
z 包含网格点 (x[i],y[j]) 的 z[i,j] 数据值的矩阵。
用于插值的 x 坐标的 x0 向量。
用于插值的 y 坐标的 y0 向量。
价值
这个函数产生一个插值点列表:
x 坐标的 x 向量。
y 坐标的 y 向量。
插值数据z的z向量。
给定以下数据:
# coarse grid longitudes x -> c(0, 2.5, 5, 7.5, 10)
# coarse grid latitudes y -> c(50, 55, 60, 65, 70)
# temperatures z -> c(10.5, 11.1, 12.4, 9.8, 10.6)
# fine grid longitudes x0 -> c(0, 0.5, 1, 1.5, 2)
# fine grid latitudes y0 -> c(50, 50.5, 51, 51.5, 52)
我试过这个功能:
bilinear -> (x=x, y=y, z=z, x0=x0, y0=y0)
但我得到以下信息:
Error in if (dim(z)[1] != nx) stop("dim(z)[1] and length of x differs!") :
argument is of length zero
我显然不完全理解这个功能是如何工作的,如果有人知道我做错了什么,我真的很感激任何建议?我也对使用不同包的替代解决方案持开放态度。
【问题讨论】:
标签: r