Matlab, eine bekannte und verbreitete Software zum lösen allerlei Mathematischen Probleme. Während einer Projektwoche mit dem Thema Computermathematik habe ich einige Einblicke erhalten und möchte diese nun in einem kurzen Beitrag zusammenfassen.
Das Interface ist recht durchschnittlich, aufgeräumt und nach einigen Modifikationen durchaus brauchbar. In der Konsole lassen sich direkt einzelne Befehle ausführen, für komplexere vorhaben besteht die Möglichkeit das ganze in Scripts auszulagern (Objektorientiertes programmieren sollte angeblich möglich sein).
Neben normalen rechnen besteht der Vorteil besonders darin Kurven, Funktionen usw. einfach grafisch darstellen zu können. Mit der methode plot(x,x) lassen sich arrays mit werten direkt grafisch anzeigen (plot3(x,y,z) für 3D), mit xlabel(‘string’), ylabel(‘string’) und title(‘string’) beschriften. Nachfolgendes Bild zeigt eine einfaches Beispiel anhand einer Lastanpassungsfunktion.
Die verwendete Programmiersprache ist sehr gewöhnungsbedürftig, erinnert gar an Basic. Für den Anfang empfehle ich immer einmal kurz diese Zeile durchzuhauen
clc;clear;clf;hold on;grid;box;
Es killt offene Fenster, Logs, vorhandene variable und setzt Gitterlinien und Umrandung als Standard. Desweitern ist es gut zu wissen, das es neben den vordefinierten Methodenattributen meistens auch die Möglichkeit gibt, erweiterte Parameter zu setzen. Beispiel anhand einer Textbox text([xy],’string’)
text(‘Position’,[10 10],’String’,'text’,'BackgroundColor’,'b’,'EdgeColor’,'w’,'Margin’,5);
Es wird zuerst das Attribut als String, dann der Wert gesetzt. Somit lassen sich beispielsweise bei Plots liniendicke und weitere Werte einstellen.
Leider ist es nicht möglich in einem Script Funktionen zu definieren, jedoch aber kleine inline Funktionen. Diese Einzeiler hab ich des Öfteren verwendet um sauber Formeln zu definieren wie beispielsweise diese für die Vektorberechnung während eines Fluges:
mDir = @(ta)atand((v0*sind(winkel)-g*ta)/(v0*cosd(winkel)));
Der Aufruf ist mit mDir(4); sehr elegant und der Code bleibt übersichtlich und kann sauber kommentiert werden.
Sonstiges was mir noch einfällt:
Fetschreiben und Schriftgrösse ändern: title(‘\bfDer schiefe Wurf\rm’,'FontSize’,20);
Farbschema ändern: whitebg([0 0 0]);
Zbuffer einschalten für Animationen: set(gcf,’Renderer’,'zbuffer’)
Nun noch zwei Bilder von weiteren kleinen Programmen die ich geschrieben habe. Ersteres ist die Flugbahnberechnung Aufgrund von Abschusshöhe, Geschwindigkeit und Winkel. Der Flug ist Animiert, Maximalwert, Aufschlagspunkt sowie der Aktuelle Flugvektor sind Grafisch sichtbar.
Das Zweite Bild zeigt ein Experiment mit der Normalverteilungsfunktion (Zufällige werte, Histogramm und die Häufigkeitssumme). Die hist(w,k) Funktion stellt sehr einfache Mittel zur Verfügung um werte automatisch, bereits in Klassen sortiert anzuzeigen.
Matlab ist sicher ein interessantes Programm und gut geeignet wen es darum geht, Beispielsweise Matrizenrechnungen durchzuführen oder Diagramme anzuzeigen. Für 3D und Animationen ist es aber eindeutig zu langsam, selbst bei meinem C2D und Win7 war kein vernünftiges Ergebnis möglich (OpenGL hat bei meiner x1400 leider nicht geklappt, FireGL nötig?). Die Programmiersprache ist leider auch sehr abwegig vom Standard, ein eingewöhnen dauert seine Zeit. Ansonsten bleiben mir einige neue Ideen für andere Programme, bin aber froh das ich nicht weiter damit arbeiten muss




Keine Kommentare zu “Kurzeinblick Matlab”