Matlab: Unterschied zwischen den Versionen

Aus Physik
Zur Navigation springen Zur Suche springen
Zeile 44: Zeile 44:
 
Hier noch ein besseres Beispielprojekt: [[TravelingSalesmanProjekt]] <br>
 
Hier noch ein besseres Beispielprojekt: [[TravelingSalesmanProjekt]] <br>
 
Genaueres ist in der [http://www.mathworks.com/access/helpdesk/help/techdoc/matlab_external/ch03crea.html online Matlab- Hilfe] zu finden.
 
Genaueres ist in der [http://www.mathworks.com/access/helpdesk/help/techdoc/matlab_external/ch03crea.html 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 Kurwe so durchlegt, dass sie möglichst gut zu den Messwerten passt. Die Kurwe 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: [http://de.wikipedia.org/wiki/Methode_der_kleinsten_Quadrate Methode_der_kleinsten_Quadrate] <br>
  +
Ein universeler Algorithmus für nichtlineares Fitten ist der [http://en.wikipedia.org/wiki/Levenberg-Marquardt_algorithm Levenberg-Marquardt Algorithmus]
  +
Hier ist eine Implementierung des Algorithmus in Matlab beschrieben: [[Levenberg-Marquardt]] <br>
  +
In der Impelentierung wird auch das symbolische Rechnen (so wie es Mathematica kann) unter Matlab demonstriert.
  +
  +
   
 
==Matlab und EMACS==
 
==Matlab und EMACS==

Version vom 30. Juni 2005, 12:25 Uhr

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 dient im Gegensatz zu Computeralgebrasystemen nicht der symbolischen, sondern primär der zahlenmäßigen Lösung von Problemen.


Matlab Tips

Automatisches Speichern der Plots im EPS format

In diesem Beispiel wird der aktuele Plot unter sinus.eps gepeichert. 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

Schliessen aller Plotfenster

Nach dem Ausführen eines Matlab Scripts bleiben die Plotfenster geöffnet, und es kann lästig sein sie einzeln mit dem Mausclick zu beenden. Zum schliessen 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 presentation mit Plots in Matlab zu schreiben, und die eigentliche Berechnung als C - Funktion, die vom Matlab script gestartet wird. Hier ist ein Beispielprogramm: CausMatlabStarten
Hier noch ein besseres Beispielprojekt: TravelingSalesmanProjekt
Genaueres ist in der 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 Kurwe so durchlegt, dass sie möglichst gut zu den Messwerten passt. Die Kurwe 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 universeler Algorithmus für nichtlineares Fitten ist der Levenberg-Marquardt Algorithmus Hier ist eine Implementierung des Algorithmus in Matlab beschrieben: Levenberg-Marquardt
In der Impelentierung 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.