首页 > 解决方案 > 如何优化两个范围以确定两条曲线之间的交点

问题描述

我开始这个线程在 Excel 中寻求您的帮助。主要目标是确定由点建模的两条曲线(曲线A,曲线B)之间的交点P=(x,y)的坐标。曲线是非线性的,每个定义点都是使用复杂的方程确定的(方程取决于用户选择的许多参数,以及用户将选择定义曲线精度的点数)。也就是说每条曲线(曲线A和曲线B)总是在XY平面上变化(Z坐标总是为零,我们在XY平面上工作)根据输入的参数定义点的数量也是取决于用户的选择。

我的第一次尝试是通过每条曲线的趋势方程确定交点(我使用 LINEST 函数来确定多项式方程的系数)并通过求解将它们放入系统的解决方案。问题是Excel不能很好地插值曲线,因为它们太宽了,那么交点(系统的解)离真正的解很远。然后,我想要做的是缩短点的范围,以便能够找到曲线的两个定义趋势方程,切除不能存在交点的曲线部分。

今天,为了找到解决方案,我在 Siemens NX cad 上使用 3 阶多段样条曲线绘制曲线,然后我可以轻松找到交点的坐标。请注意,我使用多段样条曲线来更精确地逼近函数曲线 A 和曲线 B。

由于我想避免使用 CAD 工具并始终使用 Excel,有没有办法选择靠近交点的较短范围的定义点,以便用趋势方程更好地逼近曲线 A 和曲线 B(Linest 函数与 4点和三阶样条)然后找到解决方案?

我附上一张图,给大家举个平面上曲线A和曲线B的例子: https ://postimg.cc/MfnKYqtk

在以下链接中,您可以找到带有坐标点和曲线图的 Excel 文件: https ://www.mediafire.com/file/jqph8jrnin0i7g1/intersection.xlsx/file

我希望在您的帮助下解决这个问题,在此先感谢您!卡罗86

标签: excelvba

解决方案


解决方案,

非常感谢您的回答,您完美地使我的目标居中。您的解决方案(对于平滑线)非常接近我在 Siemens NX 中确定的解决方案。我将阅读提供的链接https://pomax.github.io/bezierinfo/上的文档,以便更好地理解这个论点背后的数学原理。

然后,为了恢复我的请求,您无需通过先进的 CAD 系统就能以非常好的精度找到两条曲线之间交点的坐标 (x,y)。

我现在开始学习,最好的问候!

卡罗86


推荐阅读