【发布时间】:2014-06-23 00:58:23
【问题描述】:
好的,伙计们。我有以下问题:
我有以下情节的数据。
所以这个图的数据文件包含三列。 第二个和第三个是 x,y 点。第一个是这些点属于哪个系统。 在这种情况下,红色的是 20 年的系统。 30年的蓝色。
我想找到的是 25 年的曲线。所以如果我绘制它应该在红色和蓝色曲线之间。
我不知道如何插入数据以获得我想要的。其实我想要21,22,...29年,我想如果我们能在这两者之间找到一段时间,那么这个方法应该在20到30之间的任何时间都可以工作。
PS:我猜每条曲线(在本例中为红色或蓝色曲线)的插值非常容易。只需使用 interp1(x,y,xx) 即可。但是另一个“维度”(M)发生了什么
数据。
20.0000 3.4076 0
20.0000 3.4226 99.5405
20.0000 3.4701 196.3360
20.0000 3.5592 287.0781
20.0000 3.6248 328.8516
20.0000 3.6643 348.3373
20.0000 3.7091 367.2823
20.0000 3.7591 385.4784
20.0000 3.8077 402.7170
20.0000 3.8957 437.5221
20.0000 4.0314 506.9907
30.0000 3.6335 0
30.0000 3.6373 49.8884
30.0000 3.6488 99.5405
30.0000 3.6685 148.5936
30.0000 3.7363 243.2204
30.0000 3.7876 287.7398
30.0000 3.8537 329.6097
30.0000 3.8935 349.9452
30.0000 3.9384 368.9776
30.0000 3.9892 387.2576
30.0000 4.0410 404.5759
30.0000 4.1350 439.5416
30.0000 4.2153 474.2420
30.0000 4.2813 509.3309
【问题讨论】:
-
你的数据列是什么?它们是定义一个表面(3D 对象,列表示 x、y 和 z 坐标)还是只是一系列解耦的数据列,其中第一列作为 X 坐标?
-
实际上第二列和第三列定义了一个通常的 xy 平面((x,y) 点)。第一列实际上是这些(x,y)点属于哪个“系统”。但是如果我将第一列视为另一个变量,则在 xy 平面中插值非常简单,但在“3D”平面中则不然。我不确定我的回答是否对您有帮助,请告诉我。
-
好吧,我仍然不能完全理解您对插值的期望。作为基于您上次评论的第一个提示,我建议您将第一列视为
Zplane/dimension (如有必要,交换列),看看是否有帮助。但最终,我认为您应该编辑您的原始问题并更好地定义您的问题。 -
好的,我会的。但我没有看到区别,我的意思是列的位置无关紧要?我不知道。我以为是。 (但谢谢你,我会尽快修复它)
-
确实更清晰。看剧情也不错。我看到您在 2 条定义的曲线之间有不同数量的点。在公共 X 或 Y 上重新插入每条曲线可能会有所帮助。在您的示例曲线中,我不能确定 X 跨度,但我看到每条曲线具有相同的 Y 跨度(从 0 到 500)。所以我建议首先在一个常见的 Y 网格上重新采样你现有的曲线(你可以使用 interp1)。然后对于每条“Y”线,您每次都会有一个对应的 X 值(您可以在两者之间插入 X 值以获得所需的时间)。
标签: matlab interpolation