Matlab Code einbinden

Tabellen und Grafiken erstellen und anordnen


Ralph_P
Forum-Anfänger
Forum-Anfänger
Beiträge: 20
Registriert: Sa 28. Apr 2012, 13:25

Matlab Code einbinden

Beitrag von Ralph_P »

Hallo,

Code ist zwar keine Tabelle und keine Grafik, aber ich dachte, hier passt es noch am besten rein.

Hat jemand schon mal in seine wissenschaftliche Arbeit Matlab-Code eingebunden und würde mir seinen Latex-Schnipsel zur Verfügung stellen?

Ich benutze derzeit die listings-Umgebung mit language=Matlab, das Ergebnis ist aber nicht zufrieden stellend (schaut nicht schön aus).

Ich würde mich freuen!
Ralph_P
Grüße,
Ralph

Benutzeravatar
bloodworks
Moderator
Moderator
Beiträge: 1425
Registriert: Mo 19. Jan 2009, 10:52
Wohnort: /dev/null

Beitrag von bloodworks »

Hi wenn du uns an deinen bisherigen Versuchen in Form eines Minimalbeispiel [2] teilhaben lässt kann man dir vielleicht auch helfen ohne selbiges selbst zu Basteln.
[1] Nützliche Webdokumente für Anfänger und Fortgeschrittene
[2]Minimalbeispiel | [3]FAQ
[4]Regelwerk | [5] Knigge
Wenn nicht anderst angegeben ist mein System: texlive 2012, pdflatex, x86-64, Snow Leopard utd.
Angehöriger der Liga zur Verwendung von texdoc
texdoc mathmode koma l2picfaq l2tabu lshort-en
Achtung: Aufforderungen ein Minimalbeispiel oder mehr Erklärungen zu einer Frage zu liefern sind keine persönlichen Angriffe. Sie dienen viel mehr dazu die Kommunikation zwischen Fragendem und potentiellen Helfern zu erleichtern und zu präzisieren.


Ralph_P
Forum-Anfänger
Forum-Anfänger
Beiträge: 20
Registriert: Sa 28. Apr 2012, 13:25

Beitrag von Ralph_P »

Hi,

gerne, ja. Ich dachte nur ein Start "von ganz vorne" wäre gut, weil meine Versuche so gar nicht schön aussehen ;)
\usepackage{booktabs} 
\usepackage{multirow} 
\usepackage{subfigure} 
\usepackage{amsmath} 
\usepackage[intoc]{nomencl}


\usepackage{listings} \lstset{numbers=left, numberstyle=\tiny, numbersep=5pt} \lstset{language=Matlab} % Code einbinden


\begin{document}

\begin{lstlisting}[caption=Beispielcode]{Name}
function [X,U] = Test(e)
a = 1; b=2; c=3; d=4; e=5; f=6; g=7;a = 1; b=2; c=3; d=4; e=5; f=6; 
a = 1; b=2; c=3; d=4; e=5; f=6; g=7;a = 1; b=2; c=3; d=4; e=5; f=6;
a = 1; b=2; c=3; d=4; e=5; f=6; g=7;a = 1; b=2; c=3; d=4; e=5; f=6;
a = 1; b=2; c=3; d=4; e=5; f=6; g=7;a = 1; b=2; c=3; d=4; e=5; f=6;
a = 1; b=2; c=3; d=4; e=5; f=6; g=7;a = 1; b=2; c=3; d=4; e=5; f=6;
a = 1; b=2; c=3; d=4; e=5; f=6; g=7;a = 1; b=2; c=3; d=4; e=5; f=6;
a = 1; b=2; c=3; d=4; e=5; f=6; g=7;a = 1; b=2; c=3; d=4; e=5; f=6;
a = 1; b=2; c=3; d=4; e=5; f=6; g=7;a = 1; b=2; c=3; d=4; e=5; f=6;
a = 1; b=2; c=3; d=4; e=5; f=6; g=7;a = 1; b=2; c=3; d=4; e=5; f=6;
a = 1; b=2; c=3; d=4; e=5; f=6; g=7;a = 1; b=2; c=3; d=4; e=5; f=6;
a = 1; b=2; c=3; d=4; e=5; f=6; g=7;a = 1; b=2; c=3; d=4; e=5; f=6;
a = 1; b=2; c=3; d=4; e=5; f=6; g=7;a = 1; b=2; c=3; d=4; e=5; f=6;
a = 1; b=2; c=3; d=4; e=5; f=6; g=7;a = 1; b=2; c=3; d=4; e=5; f=6;
a = 1; b=2; c=3; d=4; e=5; f=6; g=7;a = 1; b=2; c=3; d=4; e=5; f=6;a = 1; b=2; c=3; d=4; e=5; f=6; g=7;a = 1; b=2; c=3; d=4; e=5; f=6;
a = 1; b=2; c=3; d=4; e=5; f=6; g=7;a = 1; b=2; c=3; d=4; e=5; f=6;
a = 1; b=2; c=3; d=4; e=5; f=6; g=7;a = 1; b=2; c=3; d=4; e=5; f=6;
a = 1; b=2; c=3; d=4; e=5; f=6; g=7;a = 1; b=2; c=3; d=4; e=5; f=6;
a = 1; b=2; c=3; d=4; e=5; f=6; g=7;a = 1; b=2; c=3; d=4; e=5; f=6;
a = 1; b=2; c=3; d=4; e=5; f=6; g=7;a = 1; b=2; c=3; d=4; e=5; f=6;
a = 1; b=2; c=3; d=4; e=5; f=6; g=7;a = 1; b=2; c=3; d=4; e=5; f=6;
a = 1; b=2; c=3; d=4; e=5; f=6; g=7;a = 1; b=2; c=3; d=4; e=5; f=6;
a = 1; b=2; c=3; d=4; e=5; f=6; g=7;a = 1; b=2; c=3; d=4; e=5; f=6;
a = 1; b=2; c=3; d=4; e=5; f=6; g=7;a = 1; b=2; c=3; d=4; e=5; f=6;
a = 1; b=2; c=3; d=4; e=5; f=6; g=7;a = 1; b=2; c=3; d=4; e=5; f=6;
a = 1; b=2; c=3; d=4; e=5; f=6; g=7;a = 1; b=2; c=3; d=4; e=5; f=6;
a = 1; b=2; c=3; d=4; e=5; f=6; g=7;a = 1; b=2; c=3; d=4; e=5; f=6;
a = 1; b=2; c=3; d=4; e=5; f=6; g=7;a = 1; b=2; c=3; d=4; e=5; f=6;
a = 1; b=2; c=3; d=4; e=5; f=6; g=7;a = 1; b=2; c=3; d=4; e=5; f=6;
a = 1; b=2; c=3; d=4; e=5; f=6; g=7;a = 1; b=2; c=3; d=4; e=5; f=6;
a = 1; b=2; c=3; d=4; e=5; f=6; g=7;a = 1; b=2; c=3; d=4; e=5; f=6;

X= 3* e;
U = e/2;
\end{lstlisting}


\end{document}

Grüße,
Ralph

Benutzeravatar
bloodworks
Moderator
Moderator
Beiträge: 1425
Registriert: Mo 19. Jan 2009, 10:52
Wohnort: /dev/null

Beitrag von bloodworks »

In Anlehnung an den Standard Stil von ML 2011. Dein Hauptproblem ist aber, dass deine Zeilen zu lang sind für eine Seite. Da musst du dann halt überlgen wie du das machen willst. (Wobei ich mich ernsthaft frage wie man mit Matlab so eine Definitionsorgie hinbekommt. Im Normalfall reicht es aus die Matrix einmal zu definieren.)
\documentclass{article}
\usepackage{xcolor, showframe} 


\definecolor{mlgreen}{rgb}{.035,.6,.251}
\definecolor{mlviolett}{rgb}{.643,.259,.804}

\usepackage{listings} 
\lstdefinestyle{mlab}{language=Matlab, numbers=left, numberstyle=\tiny,%5
basicstyle={\ttfamily},%
 keywordstyle={\color{blue}},%
 commentstyle=\color{mlgreen},%
 stringstyle=\color{mlviolett},%
 breaklines=true,
 }  % 


\begin{document} 

\begin{lstlisting}[style=mlab, caption=Beispielcode]{Name} 
 function [X,U] = Test(e) 
 a = 1; b=2; c=3; d=4; e=5; f=6; g=7;a = 1; b=2; c=3; d=4; e=5; f=6; 
 a = 1; b=2; c=3; d=4; e=5; f=6; g=7;a = 1; b=2; c=3; d=4; e=5; f=6; 
 a = 1; b=2; c=3; d=4; e=5; f=6; g=7;a = 1; b=2; c=3; d=4; e=5; f=6; 
 a = 1; b=2; c=3; d=4; e=5; f=6; g=7;a = 1; b=2; c=3; d=4; e=5; f=6; 
 a = 1; b=2; c=3; d=4; e=5; f=6; g=7;a = 1; b=2; c=3; d=4; e=5; f=6; 
 a = 1; b=2; c=3; d=4; e=5; f=6; g=7;a = 1; b=2; c=3; d=4; e=5; f=6; 
 a = 1; b=2; c=3; d=4; e=5; f=6; g=7;a = 1; b=2; c=3; d=4; e=5; f=6; 
 a = 1; b=2; c=3; d=4; e=5; f=6; g=7;a = 1; b=2; c=3; d=4; e=5; f=6; 
 a = 1; b=2; c=3; d=4; e=5; f=6; g=7;a = 1; b=2; c=3; d=4; e=5; f=6; 
 a = 1; b=2; c=3; d=4; e=5; f=6; g=7;a = 1; b=2; c=3; d=4; e=5; f=6; 
 a = 1; b=2; c=3; d=4; e=5; f=6; g=7;a = 1; b=2; c=3; d=4; e=5; f=6; 
 a = 1; b=2; c=3; d=4; e=5; f=6; g=7;a = 1; b=2; c=3; d=4; e=5; f=6; 
 a = 1; b=2; c=3; d=4; e=5; f=6; g=7;a = 1; b=2; c=3; d=4; e=5; f=6; 
 a = 1; b=2; c=3; d=4; e=5; f=6; g=7;a = 1; b=2; c=3; d=4; e=5; f=6; 
 a = 1; b=2; c=3; d=4; e=5; f=6; g=7;a = 1; b=2; c=3; d=4; e=5; f=6; 
 a = 1; b=2; c=3; d=4; e=5; f=6; g=7;a = 1; b=2; c=3; d=4; e=5; f=6; 
X = 3*e; 
U = e/2; 
% definigs range
x=[-2:.1:2];
% computing y
y=x.^2;
%2d plot
plot(x,y)
disp('done')
\end{lstlisting} 


\end{document} 

  
[1] Nützliche Webdokumente für Anfänger und Fortgeschrittene
[2]Minimalbeispiel | [3]FAQ
[4]Regelwerk | [5] Knigge
Wenn nicht anderst angegeben ist mein System: texlive 2012, pdflatex, x86-64, Snow Leopard utd.
Angehöriger der Liga zur Verwendung von texdoc
texdoc mathmode koma l2picfaq l2tabu lshort-en
Achtung: Aufforderungen ein Minimalbeispiel oder mehr Erklärungen zu einer Frage zu liefern sind keine persönlichen Angriffe. Sie dienen viel mehr dazu die Kommunikation zwischen Fragendem und potentiellen Helfern zu erleichtern und zu präzisieren.


Ralph_P
Forum-Anfänger
Forum-Anfänger
Beiträge: 20
Registriert: Sa 28. Apr 2012, 13:25

Beitrag von Ralph_P »

Hi bloodworks,

sehr sehr cool, ich kann dir gar nicht genug danken!

(Die Definitionsorgie sollte nur gewährleisten, dass der Beispielcode über mehrere Seiten geht - mein richtiges Skript sieht natürlich anders aus ;) )
Grüße,
Ralph

Peter_Pan_2
Forum-Newbie
Forum-Newbie
Beiträge: 7
Registriert: Fr 16. Aug 2013, 14:17

Beitrag von Peter_Pan_2 »

Hi,
der Matlab Code sieht echt gut aus! Aber wie kann ich dafür sorgen, dass die Rahmen auch nur den Matlab Code umranden? Bei mir werden jetzt alle Seiten eingerahmt! :shock:
Gruß
Peter Pan

Noch so einer

Beitrag von Noch so einer »


Peter_Pan_2
Forum-Newbie
Forum-Newbie
Beiträge: 7
Registriert: Fr 16. Aug 2013, 14:17

Beitrag von Peter_Pan_2 »

Hi,
ich habe den Code oben mit Copy & Paste eingefügt, das ist mein Minimalbeispiel...!
Wenn ich die Main kompiliere wird jedoch nicht nur das Kapitel mit dem Matlab Code, sondern alles eingerahmt.
Gruß,
Peter Pan

Noch so einer

Beitrag von Noch so einer »

Du meinst die Visualisierung der Seitenelemente mit Hilfe von showframe in bloodworls Beispiel? Das Paket wurde von bloodworks nur zu Demozwecken (Test, ob der Mathlab-Coide in die Satzspiegelbreite passt) eingebunden. Das solltest Du für reale Dokumente weglassen. Wenn Du listings eingerahmt haben willst, dann lies die Anleitung zum Paket listings.

Noch so einer

Beitrag von Noch so einer »

PS: Das Paket mdframed könnte für Dich in diesem Zusammenhang eventuell auch noch von Interesse sein. Siehe dessen Anleitung, beispielsweise auch das Beispiel mdframed-example.texsx, das in Abschnitt 10 erwähnt wird.

Antworten