【发布时间】:2014-09-03 23:12:21
【问题描述】:
我正在从事一个插入样本数据{(x_i,y_i)} 的项目,其中x_i 的输入域位于 4D 空间中,而输出 y_i 位于 3D 空间中。我需要为两个方向生成两个查找表。我设法生成了4D -> 3D 表。但是3D -> 4D 是一个棘手的问题。样本数据不在规则的网格点上,也不是一对一的映射。有没有已知的方法来治疗这种情况?我在网上做了一些搜索,但我发现的只是3D -> 3D映射,不适合这种情况。谢谢!
回答Spektre的问题:
X(3D) -> Y(4D)是1X -> nY的情况
我想为任何给定的X 生成一个表,我们可以找到Y 的值。样本数据没有占据X的所有域。但没关系,我们只需要样本数据域内的点的准确性。例如,我们有像{(x1,x2,x3) ->(y1,y2,y3,y4)} 这样的样本数据。有可能我们也有一个样本数据{(x1,x2,x3) -> (y1_1,y2_1,y3_1,y4_1)}。但没关系。我们需要一个用于空间X 中的任何(a,b,c) 的表,它对应于空间Y 中的一个(e,f,g,h)。可能有不止一种选择,但我们只需要一种。 (如果符号混淆,请见谅)
解决这个问题的一种可能方法:由于我已经从Y->X 建立了一个平滑映射,我可以使用牛顿法或任何其他方法来反向搜索点y 以获得任何给定的x。但它不够准确,而且耗时。因为我需要对表中的每个点进行搜索,误差是模型误差与搜索误差之和。
所以我想知道是否可以直接找到一个映射来插入样本数据,而不是在 3 中进行这种搜索。
【问题讨论】:
标签: math 3d interpolation