类 Vector1D

java.lang.Object
org.hipparchus.geometry.euclidean.oned.Vector1D
所有已实现的接口:
Serializable, Point<Euclidean1D>, Vector<Euclidean1D,Vector1D>, Blendable<Vector<Euclidean1D,Vector1D>>

public class Vector1D extends Object implements Vector<Euclidean1D,Vector1D>
该类表示一个一维向量。

此类的实例保证是不可变的。

另请参阅:
  • 字段详细资料

    • ZERO

      public static final Vector1D ZERO
      原点(坐标:0)。
    • ONE

      public static final Vector1D ONE
      单位向量(坐标:1)。
    • NaN

      public static final Vector1D NaN
      所有坐标均设置为NaN的向量。
    • POSITIVE_INFINITY

      public static final Vector1D POSITIVE_INFINITY
      所有坐标均设置为正无穷大的向量。
    • NEGATIVE_INFINITY

      public static final Vector1D NEGATIVE_INFINITY
      所有坐标均设置为负无穷大的向量。
  • 构造器详细资料

    • Vector1D

      public Vector1D(double x)
      简单构造函数。根据其坐标构建向量
      参数:
      x - 横坐标
      另请参阅:
    • Vector1D

      public Vector1D(double a, Vector1D u)
      乘法构造函数。从另一个向量和一个比例因子构建向量。构建的向量将为a * u
      参数:
      a - 比例因子
      u - 基础(未缩放)向量
    • Vector1D

      public Vector1D(double a1, Vector1D u1, double a2, Vector1D u2)
      线性构造函数。从另外两个向量和相应的比例因子构建向量。构建的向量将为a1 * u1 + a2 * u2
      参数:
      a1 - 第一个比例因子
      u1 - 第一个基础(未缩放)向量
      a2 - 第二个比例因子
      u2 - 第二个基础(未缩放)向量
    • Vector1D

      public Vector1D(double a1, Vector1D u1, double a2, Vector1D u2, double a3, Vector1D u3)
      线性构造函数。从另外三个向量和相应的比例因子构建向量。构建的向量将为a1 * u1 + a2 * u2 + a3 * u3
      参数:
      a1 - 第一个比例因子
      u1 - 第一个基础(未缩放)向量
      a2 - 第二个比例因子
      u2 - 第二个基础(未缩放)向量
      a3 - 第三个比例因子
      u3 - 第三个基础(未缩放)向量
    • Vector1D

      public Vector1D(double a1, Vector1D u1, double a2, Vector1D u2, double a3, Vector1D u3, double a4, Vector1D u4)
      线性构造函数。从另外四个向量和相应的比例因子构建向量。构建的向量将为a1 * u1 + a2 * u2 + a3 * u3 + a4 * u4
      参数:
      a1 - 第一个比例因子
      u1 - 第一个基础(未缩放)向量
      a2 - 第二个比例因子
      u2 - 第二个基础(未缩放)向量
      a3 - 第三个比例因子
      u3 - 第三个基础(未缩放)向量
      a4 - 第四个比例因子
      u4 - 第四个基础(未缩放)向量
  • 方法详细资料

    • getX

      public double getX()
      获取向量的横坐标。
      返回:
      向量的横坐标
      另请参阅:
    • getSpace

      public Space getSpace()
      获取点所属的空间。
      指定者:
      getSpace 在接口中 Point<Euclidean1D>
      返回:
      包含的空间
    • getZero

      public Vector1D getZero()
      获取向量空间的零向量或仿射空间的原点。
      指定者:
      getZero 在接口中 Vector<Euclidean1D,Vector1D>
      返回:
      向量空间的零向量或仿射空间的原点
    • getNorm1

      public double getNorm1()
      获取向量的L1范数。
      指定者:
      getNorm1 在接口中 Vector<
    • getNorm

      public double getNorm()
      Get the L2 norm for the vector.
      指定者:
      getNorm 在接口中 Vector<Euclidean1D,Vector1D>
      返回:
      向量的欧几里德范数
    • getNormSq

      public double getNormSq()
      获取向量的范数的平方。
      指定者:
      getNormSq 在接口中 Vector<Euclidean1D,Vector1D>
      返回:
      向量的欧几里德范数的平方
    • getNormInf

      public double getNormInf()
      获取向量的L范数。
      指定者:
      getNormInf 在接口中 Vector<Euclidean1D,Vector1D>
      返回:
      向量的L范数
    • add

      public Vector1D add(Vector<Euclidean1D,Vector1D> v)
      将一个向量添加到实例中。
      指定者:
      add 在接口中 Vector<Euclidean1D,Vector1D>
      参数:
      v - 要添加的向量
      返回:
      一个新的向量
    • add

      public Vector1D add(double factor, Vector<Euclidean1D,Vector1D> v)
      将一个缩放的向量添加到实例中。
      指定者:
      add 在接口中 Vector<Euclidean1D,Vector1D>
      参数:
      factor - 添加之前应用于v的比例因子
      v - 要添加的向量
      返回:
      一个新的向量
    • subtract

      public Vector1D subtract(Vector<Euclidean1D,Vector1D> p)
      从实例中减去一个向量。
      指定者:
      subtract 在接口中 Vector<Euclidean1D,Vector1D>
      参数:
      p - 要减去的向量
      返回:
      一个新的向量
    • subtract

      public Vector1D subtract(double factor, Vector<Euclidean1D,Vector1D> v)
      从实例中减去一个缩放的向量。
      指定者:
      subtract 在接口中 Vector<Euclidean1D,Vector1D>
      参数:
      factor - 减去之前应用于v的比例因子
      v - 要减去的向量
      返回:
      一个新的向量
    • negate

      public Vector1D negate()
      获取实例的相反向量。
      指定者:
      negate 在接口中 Vector<Euclidean1D,Vector1D>
      返回:
      一个与实例相反的新向量
    • scalarMultiply

      public Vector1D scalarMultiply(double a)
      将实例乘以一个标量。
      指定者:
      scalarMultiply 在接口中 Vector<Euclidean1D,Vector1D>
      参数:
      a - 标量
      返回:
      一个新的向量
    • isNaN

      public boolean isNaN()
      如果此点的任何坐标为NaN,则返回true;否则返回false
      指定者:
      isNaN 在接口中 Point<Euclidean1D>
      返回:
      如果此点的任何坐标为NaN,则返回true;否则返回false
    • isInfinite

      public boolean isInfinite()
      如果此向量的任何坐标为无穷大且没有NaN,则返回true;否则返回false
      指定者:
      isInfinite 在接口中 Vector<Euclidean1D,Vector1D>
      返回:
      如果此向量的任何坐标为无穷大且没有NaN,则返回true;否则返回false
    • distance1

      public double distance1(Vector<Euclidean1D,Vector1D> p)
      根据L1范数计算实例和另一个向量之间的距离。

      调用此方法等效于调用:q.subtract(p).getNorm1(),只是不会构建中间向量

      指定者:
      distance1 在接口中 Vector<Euclidean1D,Vector1D>
      参数:
      p - 第二个向量
      返回:
      根据L1范数,实例和p之间的距离
    • distance

      public double distance(Point<Euclidean1D> p)
      计算实例和另一个点之间的距离。
      指定者:
      distance 在接口中 Point<Euclidean1D>
      参数:
      p - 第二个点
      返回:
      实例和p之间的距离
    • distanceInf

      public double distanceInf(Vector<Euclidean1D,Vector1D> p)
      根据L范数计算实例和另一个向量之间的距离。

      调用此方法等效于调用:q.subtract(p).getNormInf(),只是不会构建中间向量

      指定者:
      distanceInf 在接口中 Vector<Euclidean1D,Vector1D>
      参数:
      p - 第二个向量
      返回:
      根据L范数,实例和p之间的距离
    • distanceSq

      public double distanceSq(Vector<Euclidean1D,Vector1D> p)
      计算实例和另一个向量之间的距离的平方。

      调用此方法等效于调用:q.subtract(p).getNormSq(),只是不会构建中间向量

      指定者:
      distanceSq 在接口中 Vector<Euclidean1D,Vector1D>
      参数:
      p - 第二个向量
      返回:
      实例和p之间的距离的平方
    • dotProduct

      public double dotProduct(Vector<Euclidean1D,Vector1D> v)
      计算实例和另一个向量的点积。
      指定者:
      dotProduct 在接口中 Vector<Euclidean1D,Vector1D>
      参数:
      v - 第二个向量
      返回:
      点积 this.v
    • distance

      public static double distance(Vector1D p1, Vector1D p2)
      根据L2范数计算两个向量之间的距离。

      调用此方法等效于调用:p1.subtract(p2).getNorm(),只是不会构建中间向量

      参数:
      p1 - 第一个向量
      p2 - 第二个向量
      返回:
      根据L2范数,p1和p2之间的距离
    • distanceInf

      public static double distanceInf(Vector1D p1, Vector1D p2)
      根据L范数计算两个向量之间的距离。

      调用此方法等效于调用:p1.subtract(p2).getNormInf(),只是不会构建中间向量</

      参数:
      p1 - first vector
      p2 - second vector
      返回:
      the distance between p1 and p2 according to the L norm
    • distanceSq

      public static double distanceSq(Vector1D p1, Vector1D p2)
      Compute the square of the distance between two vectors.

      Calling this method is equivalent to calling: p1.subtract(p2).getNormSq() except that no intermediate vector is built

      参数:
      p1 - 第一个向量
      p2 - 第二个向量
      返回:
      p1和p2之间的距离的平方
    • equals

      public boolean equals(Object other)
      测试两个一维向量是否相等。

      如果两个一维向量的所有坐标完全相同,并且没有一个是Double.NaN,则认为这两个一维向量相等。

      NaN坐标被认为会全局影响向量并相互相等 - 即,如果一个(或所有)一维向量的坐标等于Double.NaN,则该一维向量等于NaN

      覆盖:
      equals 在类中 Object
      参数:
      other - 要测试是否与此相等的对象
      返回:
      如果两个一维向量对象相等,则为true,如果对象为null、不是Vector1D的实例或不等于此Vector1D实例,则为false
    • equalsIeee754

      public boolean equalsIeee754(Object other)
      测试两个一维向量是否相等。

      如果两个一维向量的所有坐标完全相同,并且没有一个是NaN,则认为这两个一维向量相等。

      根据IEEE754处理,如果任何一个向量的任何坐标是NaN,则这两个向量被认为是不同的。这意味着Vector1D.NaN.equals(Vector1D.NaN)返回false,尽管实例与自身进行了检查。

      参数:
      other - 要测试是否与此相等的对象
      返回:
      如果两个一维向量对象相等,则为true,如果对象为null、不是Vector1D的实例或不等于此Vector1D实例,则为false
      从以下版本开始:
      2.1
    • hashCode

      public int hashCode()
      获取一维向量的哈希码。

      所有NaN值具有相同的哈希码。

      覆盖:
      hashCode 在类中 Object
      返回:
      此对象的哈希码值
    • toString

      public String toString()
      获取此向量的字符串表示形式。
      覆盖:
      toString 在类中 Object
      返回:
      此向量的字符串表示形式
    • toString

      public String toString(NumberFormat format)
      获取此向量的字符串表示形式。
      指定者:
      toString 在接口中 Vector<Euclidean1D,Vector1D>
      参数:
      format - 组件的自定义格式
      返回:
      此向量的字符串表示形式