我的程序接收2個尺寸作爲命令行參數(M爲寬度,N爲高度)。只要M和N在[3-10000]之間,我就必須處理任何維度。我想要計算一個矩陣中的值(用3D矢量表示),但我想保留以前的值來計算新的值(這就是爲什麼一個維度只有兩個深度:0 =舊的,1 =新)。具有2個未知尺寸和1個已知尺寸的3D矢量
這會給我一個像matrix[M][N][2]
或matrix[2][M][N]
的結構。我沒有偏好(以較簡單爲準,可能是後者)。
由於M和N僅在運行時是已知的,我不能用簡單的數組(以及我可以用雙***改編,但我不想惹內存分配)
我應該使用3個維度中的每個維度的矢量還是僅用於那些未知的維度?換句話說,我應該使用一個簡單的數組爲0 =舊,1 =新和向量M和N?
無論選擇哪個,我都努力使其工作。我如何創建並初始化它?
如果你的數據類型是簡單的算術數據類型,如整型,浮點,雙,複合等,你可以使用任何衆多矩陣和線性代數庫。有boost :: numeric :: ublas,Eigen,LAPACK,OpenCV等。我對Eigen有很好的經驗,並且會推薦。 – 2015-04-02 18:41:44