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