2012-05-20 90 views
0

我試圖通過導入org.apache.commons.math3.geometry.Vector來創建一個矢量對象。
讓我困惑的是如何製作它的一個實例。
我試過這種方法:
向量v1 =新向量(1,2,3);
但ide說「'矢量'是抽象的,不能被實例化
有沒有人知道這個類?謝謝。如何初始化org.apache.commons.math3.geometry.Vector?

P.S.我使用的(1,2,3)可能會引起誤解。我想要的是一個動態矢量,我可以將它的維度分配給它。

+1

你只需要實例VECTOR'的'一個子類,而不是'VECTOR'本身。 –

回答

2

試試這個:

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

你需要實現矢量類。 javadocs告訴你有三種選擇:Vector1D,Vector2DVector3D

爲什麼他們創造了我永遠不會知道的一維矢量。我通常稱這些「標量」。

如果您需要更大的矢量,然後使用RealVector及其子類ArrayRealVector

你是不是無法打開javadocs並自行研究?如果你自己做一點思考,你會更快地取得進展。

+0

但如果我想要一個大於3的尺寸,例如200.我該怎麼辦? –

+0

謝謝!我會盡量花更多時間閱讀javadocs。我不熟悉現在這些文檔的格式... –

0

這是界面 - Vector

您應該使用的Vector3D代替。 如果您使用Eclipse,則可以單擊Vector並按Ctrl+T查看層次結構。

+0

使用Vector3D我的矢量的維度被限制爲3.我想要一個矢量,我可以在創建它時指定其維度。 –

+0

該庫僅支持1,2,3維。如果你想要更多維度,你需要實現你自己的'NDimVector' – Xeon

0

如果你需要一個真正的數學向量與點產品等,超過三個元素,它看起來像你將不得不創建自己的類實現了矢量接口。使用apache Vector3D類作爲模型,並從那裏擴展它。

如果你只是在尋找一個相對簡單的元素的數組使用這個類來代替:

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