Spalten aus einer Matrix ausfiltern



  • Hallo zusammen,

    Ich hab eine Datei mit Messungen, die ich durchgeführt habe. Die Werte in der Datei habe ich als Matrix definiert. Danach muss ich die gleichen Werte interpolieren und die auf dem Bildschirm als eine Grafik anzeigen. Das Problem liegt daran, dass ich die ersten zwei Spalten für die Interpolation nicht brauche. Kann mir jemand sagen, wie kann ich die am besten von der Matrix ausfiltern? Allerdings, weil ich mit cygwin arbeite, habe ich schon mit sed und awk probiert, es funktioniert, aber es läuft nicht auf Windows... Wie würde das mit c++ klappen? 🙄



  • Es gibt keine Standard-Klasse für Matrizen in C++, deshalb: Was für eine Klasse hast du dafür verwendet?



  • Also erstmal die Funktion:
    [cpp]
    void
    print_datamatrix (float matrix[][8], int rows, int cols)
    {
    int i;
    int j;
    cout << "Matrixinhalt:" << endl;
    for (i = 0; i < rows; i++)
    {
    for (j = 0; j < cols; j++)
    {
    cout << matrix[i][j] << " ";
    }
    cout << endl;
    }

    }

    Und dann in der main-Datei nochmal die Matrix für die Daten:

    unsigned int colums = 8;
    unsigned int rows = 100;
    float datamatrix[100][8];

    Mit Klassen habe ich gar nicht gearbeitet...



  • Das rauszufiltern dürfte wohl länger dauern als wenn du die ersten Spalten einfach ignorierst (und bei der Ausgabe mit j=2 anfängst zu zählen) - du müsstest letztendlich ALLE Werte um zwei Spalten nach vorne kopieren..



  • Doch, ich habe was übersehen. Es hat geklappt! Vielen Dank! 👍


Anmelden zum Antworten