Math 曲面与平面的交点

Math 曲面与平面的交点,math,intersection,surface,plane,Math,Intersection,Surface,Plane,我试图找出什么时候二次选择算法比线性选择算法快。通过运行一些实验,我生成了两个3D图,显示了算法运行时间与输入数组大小和所需顺序统计的函数关系。使用gnuplot绘制图,我确认了二次算法速度更快的情况。然后,我使用gnuplot的拟合算法找到了两个模拟我观察到的运行时的函数(a、b、c、d、e、f是我已经找到但忽略的常数): lin_alg_运行时(x,y)=ax+by+c quad_alg_运行时(x,y)=(d*x*e*y)+f 其中x是输入数组的大小,y是顺序统计 现在我不知道如何使用这些

我试图找出什么时候二次选择算法比线性选择算法快。通过运行一些实验,我生成了两个3D图,显示了算法运行时间与输入数组大小和所需顺序统计的函数关系。使用gnuplot绘制图,我确认了二次算法速度更快的情况。然后,我使用gnuplot的拟合算法找到了两个模拟我观察到的运行时的函数(a、b、c、d、e、f是我已经找到但忽略的常数):

lin_alg_运行时(x,y)=ax+by+c

quad_alg_运行时(x,y)=(d*x*e*y)+f

其中x是输入数组的大小,y是顺序统计


现在我不知道如何使用这些模型来计算何时在二次实现和线性实现之间切换。我怀疑我必须找到这两个函数的交叉点,但我不太确定如何做到这一点。如何找到这两个函数的交叉点

基本上,您希望使用运行时估计值最低的算法

您可以只计算每个估计运行时的值,并使用具有最小值的算法。你可以稍微简化一下

您希望在以下情况下使用四元算法:

qual_alg_runtime(x,y) < lin_alg_runtime(x,y)
ax + by + c < dxey + f
ax + by -dexy + c-f < 0
qual_alg_运行时(x,y)

因此,您可以通过-dexy+c-f计算ax+,如果它小于零,则使用二次算法。

基本上,您希望使用运行时估计值最低的算法

您可以只计算每个估计运行时的值,并使用具有最小值的算法。你可以稍微简化一下

您希望在以下情况下使用四元算法:

qual_alg_runtime(x,y) < lin_alg_runtime(x,y)
ax + by + c < dxey + f
ax + by -dexy + c-f < 0
qual_alg_运行时(x,y)

因此,您可以通过-dexy+c-f计算
ax+,如果小于零,则使用二次算法。

您可以再次检查quad_alg_运行时(x,y)函数吗?我想应该是dx*ey?(否则它独立于y,这看起来很奇怪)您能再次检查quad_alg_运行时(x,y)函数吗?我想应该是dx*ey?(否则它独立于y,这看起来很奇怪)Doh!我很不好意思错过了这个。谢谢哦!我很不好意思错过了这个。谢谢