Hey, gibt es eine Möglichkeit, aus gespeicherte Matlab Variablen (.mat) Grafiken für Latex zu erzeugen? Oder muss ich die Daten in Matlab importieren, dort plotten, Save As, und dann ab in latex als jpeg? Zudem, kann ich aufgenommenen Variablen im Workspace als .csv exportieren? Ich frage deshalb, weil ich mich in meiner Abschlussarbeit befinde, die Matlab Lizenzen natürlich auf dem Firmenrechner laufen. Kommt es aber in mehreren Monaten zur Schlussphase, wo ich nicht mehr Zugriff auf einen Firmenrechner mit Lizenzen habe, habe ich natürlich ein Problem wenn ich die Daten doch anders darstellen bzw. beschriften möchte..
Hallo, man kann die Daten in matlab in eine Table schreiben. Diese als csv speichern ('writetable'). Die csv-datei kann man in latex mit hilfe von "pgfplots" in sehr schöne Diagramme umwandeln. Das hat auch den Vorteil, dass die Schriftart und Größe zum restlichen Dokument passt. Man kann auch in Legenden auf Formeln verweisen und hat eigentlich alle Vorteile von LaTeX. Falls du noch was vergessen würdest von .mat in .csv um zu speichern kannst du das auch mit gnu octave nachholen. In diesem kann man .mat dateien laden und .csv speichern (hier: csvwrite). Da octave unter der GPL steht brauchst du keine Lizenz dafür. lg Ulrich
Das hier habe ich fuer meine Masterarbeit verwendet: https://de.mathworks.com/matlabcentral/fileexchange/22022-matlab2tikz-matlab2tikz Das funktioniert mit ein paar Einschränkungen gut. Die Sachen sind dann als .tex gespeichert und du kannst die Formatierung auch im Nachhinein noch anpassen. Ansonsten kannst du die Daten auch als .dat file (Beschreibung siehe hier: https://tex.stackexchange.com/questions/44637/plotting-dat-file-in-pgfplot-with-multiple-columns) speichern und in pgfplots einbinden. Gruß
Dat .mat-Format ist dokumentiert. https://www.mathworks.com/help/pdf_doc/matlab/matfile_format.pdf fchk
Ich war an der Uni auch gezwungen meine Daten mit Matlab bzw. dSpace zu erfassen. Die Plots habe ich dann aber mit Python gemacht, d.h. import von .mat-Dateien, Plots mit Matplotlib. Am Ende hatte ich dann SVGs, die schonmal viel besser als .jpeg sind, weil als Vektorgrafik grundsätzlich verlustfrei. Bei .jpeg hast du am Ende im Druck sichtbare hässliche Artefakte (Hintergrund "grau statt weiß", etc.). Die .svg kann man entweder manuell mit Inkscape in .eps oder so umwandeln, oder man nutzt direkt das svg-Paket aus CTAN, welches das für einen automatisiert: https://ctan.org/pkg/svg Ich habe mit Python (inkl. Numpy, Matplotlib, etc.) die Daten nicht nur geplottet, sondern auch aufbereitet. Für mich war das sehr komfortabel, weil ich mich auch schon vorher damit beschäftigt hatte. Vielleicht ist Julia noch eine Alternative für dich, weil die Syntax sehr ähnlich zu Matlab ist (1-based indexing, usw.). Python und Julia (inkl. aller Pakete) sind Open-Source, d.h. du brauchst dir um irgendwelches Lizenzgeraffel keine Gedanken zu machen.
Ich habe noch nicht mit Octave mat Dateien importiert. Meist generiere ich mir für Plots aus Matlab heraus das Interessante als CSV. Wegen der Lizenzsache: Falls Du Matlab für dich persönlich mögen solltest: Die Studentenlizenz erfordert nur eine Uni-Mail-Adresse und Größenordnung 25 €. Die ist dann soweit ich es erfasst habe dauerhaft gültig für Studienzwecke, nicht für gewerblich. Ich persönlich habe 2 Lizenzen mir darüber geholt. VG Marcel
Es gibt mehrere Möglichkeiten - matlab2tikz https://github.com/matlab2tikz/matlab2tikz (tikz/pgfplots - macht hervorragende Plots, aber mit einigen Fallstricken) - export_fig https://de.mathworks.com/matlabcentral/fileexchange/23629-export_fig (eps/pdf oder im worst case [hochqualitative] png) - fig2svg https://github.com/kupiqu/fig2svg
ich habe damals (tm) "savefig" verwendet https://de.mathworks.com/matlabcentral/fileexchange/10889-savefig kann auch in einem .m File aus der Konsole verwendet werden (Makefile, shellscript, ...) die Daten wurden aus Logfiles extrahiert, geladen, aufbereitet und sowohl als (Vektor) pdf als auch als eps gespeichert. Und weil ich ein faules Schwein war/bin auch gleich ein include-file für LaTeX erzeugt, in dem die (Sub)Plots alle zusammengefasst waren.
Übrigens gibt es für Matlab sehr günstige Studenten Lizenzen oder kostenlose Nutzung der Hochschul-Lizenz und auch günstige Privat Lizenzen
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.