2016-06-11 7 views
0

Ich versuche eine Matrix der Größe 1000*1000 in Eigen-Bibliothek zu konstruieren. Ich habe ihre Dokumentation versucht, aber ich bin immer noch verwirrt. Ich habe sehr grundlegende Kenntnisse von CPP.So erstellen Sie eine Eigenmatrix der Größe 1000 * 1000

Ich habe Folgendes versucht. Ich weiß, es ist nicht richtig, aber es wäre schön, wenn jemand den Code unten

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

Das sieht falsch 'a (i)' - Vielleicht meinen Sie 'a [i]' –

Antwort

1

Eine statische Matrix mit 1000 Zeilen und 1000 Spalten vervollständigt: Eigen::Matrix<double, 1000, 1000> theMatrix;

MatrixXd ist eine dynamische Variante kann man die Nummer ändern von Zeilen und/oder Spalten zur Laufzeit. Für eine dynamische Matrix Verwendung:

Eigen::MatrixXd theMatrix(1000,1000);

+0

Ich brauche dynamische. –

+0

Ok, ich bearbeite auch den dynamischen Fall. –

+0

Übrigens weiß ich nicht, wie dringend das für Sie ist, aber irgendwann in dieser Woche habe ich vor, auf GitHub Code zu schreiben, der ziemlich stark auf Eigen beruht. Es könnte nützlich sein, Eigen bei der Arbeit zu sehen, selbst wenn Sie sich nicht um die numerische Renormierungsgruppe kümmern. Der Code wird hier sein: https://github.com/aromanro/nrg –

Verwandte Themen