0

我正在尝试通过导入org.apache.commons.math3.geometry.Vector创建一个矢量对象。
令我困惑的是如何制作它的实例。
我试过这样:
Vector v1 = new Vector(1, 2, 3);
但是 ide 说“ ‘向量’是抽象的,不能被实例化
有人知道这个类吗?谢谢。

PS 我使用的 (1, 2, 3) 可能会产生误导。我想要的是一个动态向量,我可以将它的维度分配给它。

4

3 回答 3

2

尝试这个:

Vector v1 = new Vector3D(1, 2, 3);

您需要一个实现 Vector 的类。javadocs 告诉您有三个选择:Vector1DVector2DVector3D

为什么他们创建了一个我永远不会知道的一维向量。我通常称这些为“标量”。

如果您需要更大的向量,请使用RealVector及其子类ArrayRealVector.

您是否无法打开 javadocs 并自行研究?如果你自己做一点思考,你会取得更快的进步。

于 2012-05-20T14:54:43.613 回答
0

这是界面 -矢量图

您应该改用 Vector3D。如果您使用的是 Eclipse,您可以单击Vector并按下Ctrl+T以查看层次结构。

于 2012-05-20T14:54:45.837 回答
0

如果您需要一个真正的具有点积等的数学向量,并且具有三个以上的元素,那么您似乎必须创建自己的实现 Vector 接口的类。使用 apache Vector3D 类作为模型并从那里扩展它。

如果您只是在寻找一个相对简单的元素数组,请改用此类:

http://docs.oracle.com/javase/6/docs/api/java/util/Vector.html

于 2012-05-20T15:22:37.490 回答