2016-06-11 2 views
0

Я пытаюсь построить матрицу размером 1000*1000 в Eigen library. Я пробовал их документацию, но я все еще смущен. Я имею очень базовые знания CPP.Как построить собственную матрицу размером 1000 * 1000

Я пробовал следующее. Я знаю, что его не правильно, но было бы неплохо, если бы кто-то выполнить код ниже

int size = 1000; 
    MatrixXd a(size); 
    MatrixXd b(size); 

    for (int i = 2; i < size; i++){ 
      a(i) = (rand()%10+1) + ((double) rand()/(RAND_MAX)); 
      b(i) = (rand()%10+1) + ((double) rand()/(RAND_MAX)); 
    } 
+0

Это выглядит не так 'а (я)' - Может быть, вы имеете в виду 'а [я]' –

ответ

1

Статических матриц с 1000 строк и 1000 столбцов: Eigen::Matrix<double, 1000, 1000> theMatrix;

MatrixXd является динамическим вариант, можно изменить число строк и/или столбцов во время выполнения. Для динамического использования матрицы:

Eigen::MatrixXd theMatrix(1000,1000);

+0

мне нужен динамический. –

+0

Хорошо, я также отредактирую добавление динамического футляра. –

+0

Кстати, я не знаю, насколько срочно это для вас, но на этой неделе я намерен совершить на GitHub код, который в значительной степени зависит от Eigen. Было бы полезно видеть, что Eigen работает, даже если вам не нужна численная ренормализационная группа. Код будет здесь: https://github.com/aromanro/nrg –

Смежные вопросы