Spaltenweise abspeichern einer Matrix (matlab)

  • Ich habe ein Problem.
    also eine gegebenen Matrix wird in eine Datei geschrieben.
    Dass die Datei erstellt wird habe ich geschafft nur beim reinschreiben der matrix habe ich ein paar probleme.
    was ich bis jetzt habe:

    % Die Dimension (Groesse) der gegebenen Matrix wird ermittelt.
    [m,n] = size(matrix);
    % Abspeichern der Matrix
    fprintf(fid, '%3.3f', m);
    fprintf(fid, '%3.3f', n);
    % Die Koeffizienten werden Spalte fuer Spalte in die Datei geschrieben
    for c = 1:n
    for d = 1:m
    fprintf(fid, '%3.3f', matrix(c,d));
    end
    end

    Beim Ausprobieren steht zwar dass es erfolgreich abgepeichert wurde, nur wenn ich die datei öffne steht was anderen drinnen als die matrix!

    Was kann hier nicht stimmen?!

  • Hi.
    Also eigentlich dürfte das gar nicht funktionieren.
    Du hast die Zeilen-/Spalten Dimensionen vertauscht:

    Geschrieben hast du:
    for c = 1:n
    for d = 1:m

    müsste aber richtig heissen:

    for c = 1:m
    for d = 1:n

    So sollte das funktionieren:

    fid = fopen('DeinFilename.txt', 'w')
    for c = 1:m
    for d = 1:n
    fprintf(fid, '%d ', matrix(c,d));
    end
    fprintf(fid, ' \n');
    end
    fclose(fid)

    Oki? ;)

    mfg,
    AntiBit

    Hätten uns Spiele wie Pac-Man in unserer Jugend beeinflusst, würden wir heute durch dunkle Räume irren, elektronische Musik hören und Pillen fressen.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!