我试图通过导入org.apache.commons.math3.geometry.Vector来创建一个矢量对象。
让我困惑的是如何制作它的一个实例。
我试过这种方法:
向量v1 =新向量(1,2,3);
但ide说“'矢量'是抽象的,不能被实例化”
有没有人知道这个类?谢谢。如何初始化org.apache.commons.math3.geometry.Vector?
P.S.我使用的(1,2,3)可能会引起误解。我想要的是一个动态矢量,我可以将它的维度分配给它。
我试图通过导入org.apache.commons.math3.geometry.Vector来创建一个矢量对象。
让我困惑的是如何制作它的一个实例。
我试过这种方法:
向量v1 =新向量(1,2,3);
但ide说“'矢量'是抽象的,不能被实例化”
有没有人知道这个类?谢谢。如何初始化org.apache.commons.math3.geometry.Vector?
P.S.我使用的(1,2,3)可能会引起误解。我想要的是一个动态矢量,我可以将它的维度分配给它。
试试这个:
Vector v1 = new Vector3D(1, 2, 3);
你需要实现矢量类。 javadocs告诉你有三种选择:Vector1D
,Vector2D
和Vector3D
。
为什么他们创造了我永远不会知道的一维矢量。我通常称这些“标量”。
如果您需要更大的矢量,然后使用RealVector
及其子类ArrayRealVector
。
你是不是无法打开javadocs并自行研究?如果你自己做一点思考,你会更快地取得进展。
但如果我想要一个大于3的尺寸,例如200.我该怎么办? –
谢谢!我会尽量花更多时间阅读javadocs。我不熟悉现在这些文档的格式... –
如果你需要一个真正的数学向量与点产品等,超过三个元素,它看起来像你将不得不创建自己的类实现了矢量接口。使用apache Vector3D类作为模型,并从那里扩展它。
如果你只是在寻找一个相对简单的元素的数组使用这个类来代替:
http://docs.oracle.com/javase/6/docs/api/java/util/Vector.html
你只需要实例VECTOR'的'一个子类,而不是'VECTOR'本身。 –