类 SmoothStepFactory.FieldSmoothStepFunction<T extends CalculusFieldElement<T>>

java.lang.Object
org.hipparchus.analysis.polynomials.FieldPolynomialFunction<T>
org.hipparchus.analysis.polynomials.SmoothStepFactory.FieldSmoothStepFunction<T>
类型参数:
T - 字段元素的类型
所有已实现的接口:
CalculusFieldUnivariateFunction<T>
封闭类:
SmoothStepFactory

public static class SmoothStepFactory.FieldSmoothStepFunction<T extends CalculusFieldElement<T>> extends FieldPolynomialFunction<T>
Smoothstep函数的定义请参考这里

它用于在“左边缘”和“右边缘”之间进行平滑过渡,其中左边缘假定小于右边缘。

根据定义,对于大于1的阶数n和输入x,平滑步进函数至少满足以下属性:

  • f(x <= leftEdge) = 0,f(x >= rightEdge) = 1
  • f'(leftEdge) = f'(rightEdge) = 0
如果x在边缘之间归一化,则至少有:
  • f(x <= 0) = 0,f(x >= 1) = 1
  • f'(0) = f'(1) = 0
阶数为n的平滑步进函数在边缘处的高阶时间导数也等于零...
  • 方法详细资料

    • value

      public T value(double xNormalized)
      计算给定参数在边缘之间归一化时的smoothstep值。
      覆盖:
      value 在类中 FieldPolynomialFunction<T extends CalculusFieldElement<T>>
      参数:
      xNormalized - 应计算函数值的归一化参数。预期在[0:1]之间,否则将抛出异常。
      返回:
      给定点处的多项式值。
      另请参阅:
    • value

      public T value(T xNormalized)
      计算给定参数在边缘之间归一化时的smoothstep值。
      指定者:
      value 在接口中 CalculusFieldUnivariateFunction<T extends CalculusFieldElement<T>>
      覆盖:
      value 在类中 FieldPolynomialFunction<T extends CalculusFieldElement<T>>
      参数:
      xNormalized - 应计算函数值的归一化参数。预期在[0:1]之间,否则将抛出异常。
      返回:
      给定点处的多项式值。
      另请参阅:
    • value

      public T value(double leftEdge, double rightEdge, T x) throws MathIllegalArgumentException
      计算给定边缘和参数的smoothstep函数值。

      请注意,右边缘应大于左边缘。否则将抛出异常。

      参数:
      leftEdge - 左边缘
      rightEdge - 右边缘
      x - 应计算函数值的参数
      返回:
      给定点处的多项式值
      抛出:
      MathIllegalArgumentException - 如果右边缘大于左边缘
      另请参阅:
    • checkInputEdges

      protected void checkInputEdges(double leftEdge, double rightEdge)
      检查左边缘是否小于右边缘。否则,抛出异常。
      参数:
      leftEdge - 左边缘
      rightEdge - 右边缘
    • clampInput

      protected T clampInput(double leftEdge, double rightEdge, T x)
      将输入夹在边缘之间。
      参数:
      leftEdge - 左边缘
      rightEdge - 右边缘
      x - 要夹取的输入
      返回:
      夹取后的输入
    • normalizeInput

      protected T normalizeInput(double leftEdge, double rightEdge, T x)
      将输入归一化在左右边缘之间。
      参数:
      leftEdge - 左边缘
      rightEdge - 右边缘
      x - 要归一化的输入
      返回:
      归一化后的输入