我正在尝试通过导入org.apache.commons.math3.geometry.Vector创建一个矢量对象。
令我困惑的是如何制作它的实例。
我试过这样:
Vector v1 = new Vector(1, 2, 3);
但是 ide 说“ ‘向量’是抽象的,不能被实例化”
有人知道这个类吗?谢谢。
PS 我使用的 (1, 2, 3) 可能会产生误导。我想要的是一个动态向量,我可以将它的维度分配给它。
尝试这个:
Vector v1 = new Vector3D(1, 2, 3);
您需要一个实现 Vector 的类。javadocs 告诉您有三个选择:Vector1D
、Vector2D
和Vector3D
。
为什么他们创建了一个我永远不会知道的一维向量。我通常称这些为“标量”。
如果您需要更大的向量,请使用RealVector
及其子类ArrayRealVector
.
您是否无法打开 javadocs 并自行研究?如果你自己做一点思考,你会取得更快的进步。
这是界面 -矢量图
您应该改用 Vector3D。如果您使用的是 Eclipse,您可以单击Vector
并按下Ctrl+T
以查看层次结构。
如果您需要一个真正的具有点积等的数学向量,并且具有三个以上的元素,那么您似乎必须创建自己的实现 Vector 接口的类。使用 apache Vector3D 类作为模型并从那里扩展它。
如果您只是在寻找一个相对简单的元素数组,请改用此类:
http://docs.oracle.com/javase/6/docs/api/java/util/Vector.html