Verfeinerung von Contourplots (Isolinien) mit Matlab

Die Darstellung von Werteverteilungen auf der Fläche (oder in einem Profil) können sehr gut in Programmen wie Matlab erstellt werden. Ob Niederschlagsverteilunge, Grundwasserverteilungen, Fließgeschwindigkeiten etc., Isoliniendiagramme sind geeignet viele Sachverhalte gut abzubilden. Hat man eine ausgeprägte Datengrundlage und eine große Gebietsausdehnung liefert der contour-Befehl von Matlab gute Ergebnisse. Je kleiner die beobachtete Fläche und die verfügbaren Datenpunkte, desto eckiger wird das Isoliniendiagramm. Abhilfe schafft hier ein kleiner Trick:Um die Isolinien weicher zu zeichnen braucht Matlab eine hohe Wertpunktdichte. Liegt diese nicht vor, kann sie in Matlab erstellt werden.


Hier ein Beispiel für den Code:

% hier der code um interpolationen zu verfeinern,
% wenn die wertpunktdichte zu klein
%laden der x,y und z-Werte für den contour-plot
load 'z.txt'
load 'x.txt'
load 'y.txt'

% interpolation von 1000 (variabel) werten zwischen xmin und xmax,
% bzw. ymin und ymax - ausgabe als xf und yf 
% (das f steht für fine)
xf=linspace(xmin,xmax,1000); yf=linspace(ymin,ymax,1000); 

% erstellung eines meshgrids
[Xfine, Yfine]=meshgrid(xf,yf); 

% interpolation von hilfswerten zwischen den datenwerten
% von z bezogen auf die xf und yf ausdehnung

Zfine=interp2(x,y,z_lf,Xfine,Yfine,'linear')

% erstellung des contourplots
%per contourplotf (gefüllte isoliniendarstellung)
% die 20 gibt die anzahl ausgegebener klassen an
contourf(Xfine,Yfine,ZLfine,20)

Fertig ist das Isodiagramm mit weicherem Verlauf der Linien (Code kann einfach in eine m-File kopiert werden. Die Bezeichnung der Variablen müssen je nach Datengrundlage angepasst werden).
Hier geht’s zur Erklärung von Contourplots in der Matlab Hilfe:

http://www.mathworks.de/help/techdoc/ref/contour.html

0 0 vote
Article Rating
Abonnieren
Benachrichtige mich bei
guest

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.

0 Comments
Inline Feedbacks
View all comments