|
Boandl |

Forum-Newbie
|
 |
Beiträge: 7
|
 |
|
 |
Anmeldedatum: 20.04.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 14.05.2011, 17:21
Titel: Verständis fprintf
|
 |
Hallo zusammen,
mit Hilfe des fprintf Befehls lassen sich Daten in Dateien ablegen.
Ich möchte gern eine 4x4 Matrix abspeichern.
Wenn ich nun mit den Befehlen
fid = fileopen('ablage.txt', 'w')
fprintf(fid,'%g %g %g %g\n', Matrix)
fclose(fid)
Die Matrix abspeicher, werden die Zeilen mit den Spalten vertauscht.
Natürlich kann ich zuerst die Matrix soweit aufbereiten u. die Zeilen mit Spalten vertauschen, so dass sie letztendlich korrekt abgespeichert werden - jedoch erscheint mir das ziemlich umständlich.
Gibt es eine elegante Möglichkeit einfach die Matrix direkt abzuspeichern?
Danke.
Schöne Grüße
boandl
|
|
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 14.05.2011, 21:54
Titel: Re: Verständis fprintf
|
 |
Hallo Boandl,
Die Elemente werden in der Matrix (und in allen Arrays) spaltenweise gespeichert. Es stehen also im Speicher die Elemente der ersten Zeile hintereinander, dann kommt die zweite usw. Bei Speichern in ein File bleiben die Daten in der gleichen Reihenfolge, so dass sie auch genauso wieder eingelsen werden können.
Wenn Du die Elemente im File gerne in anderer Reihenfolge stehen haben möchtest, musst die Matrix transponiert werden - entweder manuell oder in einem Unterprogramm, was beides eigentlich gleich (un)-elegant ist. Also:
Gruß, Jan
PS. Die Code-Umgebung macht den Sourcecode hier im Forum besser lesbar: [ c o d e ] ... [/ c o d e] ( ohne Leerzeichen)
|
|
|
Boandl |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 7
|
 |
|
 |
Anmeldedatum: 20.04.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 14.05.2011, 22:30
Titel:
|
 |
Hi Jan,
Danke für die Info und den Zusatz, dass das einlesen einer Datei nach dem gleichen Prinzip wie das schreiben fkt -in sich stimmig-
Also ich speicher die Matrix entweder durch die transponierte M. ab bzw. nutze den save Befehl.
Schöne Grüße
Boandl
|
|
|
JN78 |

Forum-Fortgeschrittener
|
 |
Beiträge: 69
|
 |
|
 |
Anmeldedatum: 18.05.09
|
 |
|
 |
Wohnort: Stuhr
|
 |
|
 |
Version: R2010b, R2011a
|
 |
|
|
 |
|
Verfasst am: 15.05.2011, 15:32
Titel: Re: Verständis fprintf
|
 |
Moin zusammen,
gut zu wissen, das das immer Spaltenweise geschrieben wird.
Wie könnte ich denn eine Matrix bzw. Matrizen abspeichern, bei denen die Spaltenzahlen sich ändern bzw. es deutlich mehr als nur drei oder vier gibt?
Jan S hat Folgendes geschrieben: |
...
Wenn Du die Elemente im File gerne in anderer Reihenfolge stehen haben möchtest, musst die Matrix transponiert werden - entweder manuell oder in einem Unterprogramm, was beides eigentlich gleich (un)-elegant ist. Also:
Gruß, Jan
... |
Ich müsste für mein Problem die Anzahl der "%g" Variable halten können, finde aber keinen Weg das zu lösen.
Gruß Jan
_________________
Ich bin ein Schwamm, denn ich sauge Ideen auf und mache sie nutzbar. Die meisten meiner Ideen gehören ursprünglich anderen Leute, die sich halt nicht mehr die Mühe gemacht haben, sie weiterzuentwickeln. Thomas Alva Edison (1847 - 1931)
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 15.05.2011, 17:15
Titel:
|
 |
Hallo,
wenn du das N mal brauchst:
Grüße,
Harald
|
|
|
JN78 |

Forum-Fortgeschrittener
|
 |
Beiträge: 69
|
 |
|
 |
Anmeldedatum: 18.05.09
|
 |
|
 |
Wohnort: Stuhr
|
 |
|
 |
Version: R2010b, R2011a
|
 |
|
|
 |
|
Verfasst am: 15.05.2011, 20:39
Titel:
|
 |
Hallo Harald,
besten Dank, das klappt wunderbar.
Jan
_________________
Ich bin ein Schwamm, denn ich sauge Ideen auf und mache sie nutzbar. Die meisten meiner Ideen gehören ursprünglich anderen Leute, die sich halt nicht mehr die Mühe gemacht haben, sie weiterzuentwickeln. Thomas Alva Edison (1847 - 1931)
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2025
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|