Sign in to follow this  
Followers 0

Fancy Plots für LaTex Dokumente: TikZ+Matlab


5 posts in this topic

Posted

Hoy!

Im laufe des Studiums müssen immer mal wieder Laborprotokolle, Bachelorarbeit u.a. Dinge erstellt werden, in denen Messreihen ausgewerted werden müssen. Man hat dann eine Datenmatrix mit x werten und einer schar von y werten. Um die messunsicherheit grafisch darzustellen plotted man über den Mittelwert der y Werte so genannte Konfidenzintervalle. Selbiges ist auch bei numerischen Simulationen üblich. Wer schon versucht hat das in MATLAB zu plotten, weiss dass das mühsam und ziemlich unschön ist.

Aus gegebenem Anlass hab ich mich mal mit TikZ beschäftigt und ein matlab skript zum erstellen von tikz code geschrieben. Das Prinzip ist folgendes:

Matlab ließt die daten, berechnet koordinaten und schreibt dann den tikz code mittels fprintf() in ein *.tex file, welches dann einfach in ein Latex dokument eingebunden werden kann. Schaut vl. am anfang ein bissi kryptisch aus, aber wies mit latex auch ist, rentiert es sich wenn man öfter mal was damit machen muss. Im Anhang die files mit Minimalbeispiel.

Das Ergebnis sieh dann etwa so aus:

preview.pdf

Waynes interessiert: für TiKz gibts auch ein super manual:

http://ftp.univie.ac.at/packages/tex/graphics/pgf/base/doc/generic/pgf/pgfmanual.pdf

Lg

tikzplot.zip

3 people like this

Share this post


Link to post
Share on other sites

Posted

Ziemlich geiles Zeug! Danke!

Share this post


Link to post
Share on other sites

Posted

Sehr schön, dass du solche Sachen hier mit anderen teilst!

Ich möchte bei dieser Gelegenheit auch mal Python und Matplolib in die Runde werfen, vielleicht findet sich da was ähnliches (Plots), ist für Matlab-Benützer recht schnell erlernbar imo.

Share this post


Link to post
Share on other sites

Posted

Hallo,

vielen Dank, coole Sache!

in tikz.m line 75 sollte imo

for ff=1:size(datasources,2)

stehen ;)

lg

Share this post


Link to post
Share on other sites

Posted

Je nachdem, ob du Beistrich oder Strichpunk nutz:

datasources = {'testdata.txt'; 'testdata.txt'};  %size(datasources,1)
datasources = {'testdata.txt', 'testdata.txt'};  %size(datasources,2)

Am elegantest wär wohl trotzdem length(.)=max(size(.)) zu benutzen.

Lg

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0