Matlab

Aus Physik
Zur Navigation springen Zur Suche springen

MATLAB ist eine kommerzielle mathematische Software der Firma Mathworks zur Lösung diverser mathematischer Probleme und zur grafischen Darstellung der Ergebnisse. Durch die vereinfachte, mathematisch orientierte Syntax der MATLAB-Skriptsprache und die umfangreichen Funktionsbibliotheken für Statistik, Signalverarbeitung, Bildverarbeitung u.v.m. ist die Erstellung entsprechender Programme wesentlich einfacher möglich als z.B. unter C. MATLAB, welches im Gegensatz zu Computeralgebrasystemen nicht der symbolischen, sondern primär der zahlenmäßigen Lösung von Problemen dient.


Matlab Hilfe

Für die Benutzung von Matlab gibt es eine Reihe interessanter Hilfen. Diese setzen sich zusammen aus Matlab Dokumenten im HTML-Format, aus Matlab Dokumenten im PDF-Format und aus den Vorlesungsunterlagen.

Weiters gibt es eine Liste aller Matlab-Funktionen (mit Links zu den entsprechenden Hilfsseiten) in zwei Varianten auch in diesem Wiki:

Matlab Compiler

Wir haben am Institut nur 10 garantierte Lizenzen für Matlab - weitere Lizenzen stehen uns nur zur Verfügung, wenn der Lizenzpool der TU Graz nicht durch andere Institute ausgeschöpft wird. Für den massiven Einsatz von Matlab in produktiven Runs ist es daher günstig, die eigenen Programme mit dem Matlab-Compiler zu compilieren.

Compiliert wird durch den Aufruf von mcc auf der Shell oder durch Anklicken des entsprechenden Menüeintrags in der grafischen Benutzeroberfläche.


Verwendung im Batchsystem

Zum Einsatz mit unserem Batchsystem Condor sind einige weitere technische Grundlagen zu erfüllen; allerdings ist diese Funktion derzeit relativ unstabil.

Matlab Tips

Automatisches Speichern der Plots im EPS format

In diesem Beispiel wird der aktuelle Plot unter sinus.eps gespeichert. Die Grafik kann ohne Probleme in latex Dokumente eingebunden werden.


t=linspace(0,2*pi);
y=sin(t);

figure(1);
hold on;
	p1=plot(t,y);
	ax1=gca;
	set(ax1,'YLim',[-1.1,1.1]);
	set(ax1,'XLim',[0,2*pi]);
	
	le1=legend(p1,'Sin(t)',1);
	xl1=xlabel('t');
	yl1=ylabel('f(t)');
	grid on;
hold off;

print -deps2 -tiff -r300 sinus

Schließen aller Plotfenster

Nach dem Ausführen eines Matlab Scripts bleiben die Plotfenster geöffnet, und es kann lästig sein sie einzeln mit einem Mausklick zu beenden. Zum Schließen aller Plotfenster gibt es den Befehl:

  close all;

Diese Zeile am besten am Anfang des Matlab scripts einfügen. Auf

   clear all;

sollte auch nicht vergessen werden. ('clear all;' löscht die Variablen vom letzten Scriptdurchlauf.)

Starten von C/C++ Funktionen aus Matlab

Für numerisch aufwendige Berechnungen, bei denen "for" Schleifen benutzt werden müssen, sind in C geschriebene Programme um ein vielfaches schneller. Es könnte sinnvoll sein die Auswertung und graphische Präsentation mit Plots in Matlab zu schreiben, und die eigentliche Berechnung als C - Funktion, die vom Matlab script gestartet wird,zu speichern. Hier ist ein Beispielprogramm: CausMatlabStarten
Hier noch ein besseres Beispielprojekt: TravelingSalesmanProjekt
Genaueres ist auf der Seite online Matlab- Hilfe zu finden.

Nichtlineares Fitten mit Berücksichtigung der Messfehler

Fitten bedeutet meistens, dass man viele fehlerbehaftete (ungenaue) Messwerte hat, diese in einem zweidimensionalen Diagramm einträgt, und eine Kurve so durchlegt, dass sie möglichst gut zu den Messwerten passt. Die Kurve wird mit der Fitfunktion erzeugt. Die Fitfunktion ist ein Mathematisches Modell, das die Messung erklären soll. Die Fitfunktion wird an die Messdaten angepasst indem ihre Parameter berechnet werden. Eine bessere Erklärung gibt es hier: Methode_der_kleinsten_Quadrate
Ein universeller Algorithmus für nichtlineares Fitten ist der Levenberg-Marquardt Algorithmus Hier ist eine Implementierung des Algorithmus in Matlab beschrieben: Levenberg-Marquardt-mit-Matlab
Sie ist sehr einfach zu benutzen und dürfte für die Auswertung von Messdaten für Protokolle nützlich sein. In der Implementierung wird auch das symbolische Rechnen (so wie es Mathematica kann) unter Matlab demonstriert.

Matlab und EMACS

Informationen zum diesem Thema sind unter Emacs#EMACS und Matlab zu finden.durch legen


--Golubkov 00:58, 14 Jul 2005 (CEST)

Praktische Hinweise

Hinweise vor allem für Referenzierung aus MLTutor Beispielen: MLTutor - Hints

Test

Eine derartige Seite ist in Planung und soll automatisch aus den vorhanden Dokumenten erstellt werden.