Мне нужна трехмерная структура матрицы/массива в моем коде, и сейчас я полагаюсь на Eigen как для своих матриц, так и для векторов.
Прямо сейчас я создаю 3D-структуру, используя new
:
MatrixXd* cube= new MatrixXd[60];
for (int i; i<60; i++) cube[i]=MatrixXd(60,60);
и для доступа к значениям:
double val;
MatrixXd pos;
for (int i; i<60; i++){
pos=cube[i];
for (int j; j<60; j++){
for (int k; k<60; k++){
val=pos(j,k);
//...
}
}
}
Однако сейчас эта часть кода работает очень медленно, что наводит меня на мысль, что это может быть не самый эффективный способ. Есть ли альтернативы?
new
- точнее, если нет других типов массива (может быть, в буст-библиотеках), которые можно использовать для стекирования нескольких MatrixXd. - person joaocandre   schedule 14.06.2013