【问题标题】:Matlab 3D data interpolationMatlab 3D数据插值
【发布时间】:2014-09-03 14:32:38
【问题描述】:

我有一组 x、y 和 z 数据(每个都是 3000 x 1 的矩阵),我想对这些数据进行插值,以在均匀分布的 x 和 y 值处获得一组 z 高度值。我假设我需要对 x 和 y 数据集进行网格化,但我不知道如何对 z 数据进行插值。数据点是从 STL 文件中获取的唯一顶点,因此我希望对生成的表面进行平滑处理。

非常感谢任何帮助,

汤姆。

【问题讨论】:

  • 谢谢,我尝试使用 interp3 并使用 meshgrid 生成了 xi yi 值(我认为)。我现在收到一个错误,说使用 griddedInterpolant 时出错网格向量不是严格单调递增的。单列中的一些值是相同的,但每一行(完整的 x y z 数据点)都是唯一的。

标签: matlab interpolation


【解决方案1】:

你有 matlab 函数 interp2

那么您的代码将是 zi = interp2(x,y,z,xi,yi);

您可以使用网格生成均匀分布的 xi 和 yi

xi 和 yi 将是 x 和 y 的值,您将在其中进行插值,它们是方形的。例如,如果你想在 xi = 1 2 3 和 yi = 4 5 处进行插值,那么

xi 看起来像 [1 2 3; 1 2 3]

还有, [4 4 4; 5 5 5]

希望对你有帮助!

【讨论】:

  • 请解释一下xiyi 是什么。 OP 可能不知道这些是什么。
  • 你的意思是interp2在答案的第2行吗?
  • 是的 interp2 ... interp3 也存在于 matlab 和 interpn 中!但是这里是interp2,对不起,我已经编辑了答案!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-07
相关资源
最近更新 更多