我的程序接收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