MATLAB: Matrix als 2D-Farbfeld zeichnen

Hallo,

bietet MATLAB eine Funktion, mit der ich eine Matrix als ein 2D-Farbfeld ausgeben kann?

Es soll eine Farbmatrix angezeigt werden, sodass jede Matrixzelle einem Rechteck in der Farbmatrix entpsricht. Abhängig davon, wie hoch der Zellenwert ist (relativ zum Minimum und Maximum innerhalb der Matrix) soll das Kästchen mit einer Farbe von grün bis rot gefüllt werden.

Hallo,

mit pcolor und ezcontourf (in der Hilfe bei Graphics -> Plots) kannst Du Datensätze 2D plotten. Du musst allerdings ausprobieren ob Matlab Dir pro Datensatz ein Rechteck ausfüllt oder zwischen den Datenpunkten interpoliert.

Falls Matlab darauf besteht zu interpolieren müsstest Du Deinen Datensatz erweitern, damit statt einem DAtenpunkt der Bereich definiert wird. Die Farben kannst Du mit colormap definieren.

Grüße,
Sebastian

Hallo,

ich bin mir nicht ganz sicher ob ich Dich richtig verstehe; was meinst Du denn mit Zellen? Wenn Du die einzelnen Matrizen-Elemente meinst, dann geht das ganz einfach mit imagesc(M), mit M als Deiner Matrix. Mit colorbar bekommst Du noch schön angezeigt, welche Farbe welchen Werten entspricht, und über colormap kannst Du die Farbpalette ändern. Alternativ geht auch einfach image (glaub ich), dabei wird dann nicht skaliert und als Wertebereich -1 bis 1 angenommen. Um das ganze in 3D zu bekommen gibt es noch den Befehl mesh, wenn ich mich richtig erinnere. Aber mit der Matlab Hilfe solltest Du im Zweifel alles finden können. Die kann man übrigens auch in der normalen Kommandozeile mittels „help befehl“ aufrufen.

So, dann viel Spaß beim malen :wink:

Cheers,
Ferdinand