Cheat Sheets

Referenz für MATLAB-Basisfunktionen

Python mit MATLAB erweitern

Integrieren Sie die leistungsfähigen Tools von MATLAB direkt in Ihre Python-Workflows.

MATLAB-Umgebung

clc Befehlsfenster löschen
help fun Inline-Hilfe für fun anzeigen
doc fun Dokumentation für fun öffnen
load("filename","vars") Variablen aus einer .mat-Datei laden
uiimport("filename") Interaktives Import-Tool öffnen
save("filename","vars") Variablen in einer Datei speichern
clear item Elemente aus dem Workspace entfernen
examplescript Die Skriptdatei examplescript ausführen
format style Ausgabeformat festlegen
ver Liste der installierten Toolboxes abrufen
tic, toc Timer starten und stoppen
Ctrl+C Die aktuelle Berechnung abbrechen

Definieren und Ändern von Array-Variablen

a = 5 Eine Variable a mit dem Wert 5 definieren

A = [1 2 3; 4 5 6]

A = [1 2 3

4 5 6]

A als 2×3-Matrix definieren; Leerzeichen trennen Spalten, “;” oder eine neue Zeile trennen Zeilen
[A,B] Arrays horizontal verknüpfen
[A;B] Arrays vertikal verknüpfen
x(4) = 7 Viertes Element von x auf 7 setzen
A(1,3) = 5 A(1,3) auf 5 setzen
x(5:10) Fünftes bis zehntes Element von x abrufen
x(1:2:end) Jedes zweite Element von x (vom ersten bis zum letzten) abrufen
x(x>6) Elemente größer als 6 auflisten
x(x==10)=1 Elemente anhand einer Bedingung ändern
A(4,:) Vierte Zeile von A abrufen
A(:,3) Dritte Spalte von A abrufen
A(6, 2:5) Zweites bis fünftes Element in der sechsten Zeile von A abrufen
A(:,[1  7])=A(:,[7  1]) Erste und siebte Spalte vertauschen
a:b [a,a+1,a+2,…,a+n] mit a+n≤b a+n≤b
a:ds:b Regelmäßig beabstandeten Vektor mit Schrittweite ds erstellen
linspace(a,b,n) Vektor mit n gleichmäßig verteilten Werten erstellen
logspace(a,b,n) Vektor mit n logarithmisch verteilten Werten erstellen
zeros(m,n) m × n-Matrix mit Nullen erstellen
ones(m,n) m × n-Einheitsmatrix erstellen
eye(n) n × n-Einheitsmatrix erstellen
A=diag(x) Diagonalmatrix aus einem Vektor erstellen
x=diag(A) Diagonale Elemente einer Matrix abrufen
meshgrid(x,y) 2D- und 3D-Gitter erstellen
rand(m,n), randi Gleichverteilte zufällige Ganzzahlen erzeugen
randn(m,n) Normalverteilte Zufallszahlen erzeugen

Operatoren und Sonderzeichen

+, -, *, / Matrixrechenoperationen
.*, ./ Array-Multiplikation und -Division (elementweise Operationen)
^, .^ Matrix- und Array-Potenzierung
\ Linksdivision oder lineare Optimierung
.', ' Normale und konjugiert komplexe Transposition
==, ~=, <, >, <=, >= Relationale Operatoren
&&, ||, ~, xor Logische Operationen (AND, NOT, OR, XOR)
; Ausgabe-Anzeige unterdrücken
... Zeilen verbinden (mit Zeilenumbruch)
% Description Kommentar
'Hello' Definition eines Zeichenvektors
"This is a string" Definition eines Strings
str1 + str2 Strings anhängen

Spezielle Variablen und Konstanten

ans Letzte Ausgabe
pi π=3.141592654… 
i, j, li, lj Imaginäre Einheit
NaN, nan Keine Zahl (z. B. Division durch null)
Inf, inf Unendlich
eps Relative Genauigkeit von Gleitkommazahlen

Komplexe Zahlen

i, j, li, lj Imaginäre Einheit
real(z) Realteil einer komplexen Zahl
image(z) Imaginärteil einer komplexen Zahl
angle(z) Phasenwinkel in Radiant
conj(z) Elementweise komplexe Konjugation
isreal(z) Ermitteln, ob ein Array reell ist

Elementare Funktionen

sin(x), asin Sinus und Inversfunktion (Argument in Radiant)
sind(x), asind Sinus und Inversfunktion (Argument in Grad)
sinh(x), asinh Hyperbolischer Sinus und Inversfunktion (Argument in Radiant)
Analog für die anderen trigonometrischen Funktionen: cos, tan, csc, sec, and cot
abs(x) Betrag von x, komplexer Betrag
exp(x) Exponentialfunktion von x
sqrt(x), nthroot(x,n) Quadratwurzel, reelle n-te Wurzel reeller Zahlen
log(x) Natürlicher Logarithmus von x
log2(x), log10 Logarithmus zur Basis 2 bzw. 10
factorial(n) Fakultät von n
sign(x) Vorzeichen von x
mod(x,d) Rest nach Division (Modulo)
ceil(x), fix, floor Runden in Richtung +∞, 0, −∞
round(x) Auf die nächste Dezimalstelle oder Ganzzahl runden

Grafische Darstellung

plot(x,y,LineSpec)
Linienstile: -, --, :, -.
Markierungen: +, o, *, ., x, s, d
Farben: r, g, b, c, m, y, k, w
y gegen x plotten
(LineSpec ist optional)
LineSpec ist eine Zeichenkette, die linestyle, marker und color zu einem String kombiniert.
Beispiel: "-r" = rote durchgezogene Linie ohne Markierungen
title("Title") Plot-Titel hinzufügen
legend("1st", "2nd") Legende zu den Achsen hinzufügen
x/y/zlabel("label") Beschriftung der x-/y-/z-Achse hinzufügen
x/y/zticks(ticksvec) Ticks der x-/y-/z-Achse abrufen oder festlegen
x/y/ztickangle(angle) Tick-Beschriftungen der x-/y-/z-Achse drehen
x/y/zlim Bereich der x-/y-/z-Achse abrufen oder festlegen
axis(lim), axis style Achsenbegrenzungen und -stil festlegen
text(x,y,"txt") Text hinzufügen
grid on/off Achsenraster anzeigen
hold on/off Aktuellen Plot beim Hinzufügen neuer Plots beibehalten
subplot(m,n,p),
tiledlayout(m,n)
Achsen in gekachelten Positionen erstellen
yyaxis left/right Zweite y-Achse erstellen
figure Abbildungs-Fenster erstellen
gcf, gca Aktuelle Abbildung und aktuelle Achse abrufen
clf Aktuelle Abbildung löschen
close all Geöffnete Abbildungen schließen

Tabellen

table(var1,...,varN) Tabelle aus den Daten in den Variablen var1, …, varN erstellen
readtable("file") Tabelle aus einer Datei erstellen
array2table(A) Numerisches Array in eine Tabelle konvertieren
T.var Daten aus der Variable var extrahieren
T(rows,columns),
T(rows,["col1","coln"])
Neue Tabelle mit angegebenen Zeilen und Spalten aus T erstellen
T.varname=data Daten einer (neuen) Spalte in T zuweisen
T.Properties Auf die Eigenschaften von T zugreifen
categorical(A) Kategorisches Array erstellen
summary(T), groupsummary Zusammenfassung der Tabelle ausgeben
join(T1, T2) Tabellen über gemeinsame Variablen verknüpfen

Tasks (Live Editor)

Live-Editor-Tasks sind Apps, die einem Live-Skript hinzugefügt werden können, um eine bestimmte Gruppe von Operationen interaktiv auszuführen. Tasks stellen eine Abfolge von MATLAB-Befehlen dar. Um die von einem Task ausgeführten Befehle anzuzeigen, lassen Sie sich den generierten Code anzeigen.

Gängige Tasks, die auf der Registerkarte Live Editor im Desktop-Toolstrip verfügbar sind:

  • Fehlende Daten bereinigen
  • Änderungspunkte finden
  • Trends entfernen
  • Ausreißer bereinigen
  • Lokale Extrema finden
  • Daten glätten

Programmiermethoden

Funktionen
% Speichern Sie Ihre Funktion in einer Funktionsdatei oder am Ende 
% einer Skriptdatei. Funktionsdateien müssen 
% denselben Namen wie die erste Funktion haben 
function cavg = cumavg(x) %multiple args. possible
 cavg=cumsum(x)./(1:length(x)) ; 
end
Anonyme Funktionen
% über Function Handles definiert 
fun = @(x) cos(x.^2)./abs(3*x);

Kontrollstrukturen

if, elseif, Bedingungen
if n<10
 disp("n kleiner als 1") 
elseif n<=20 
 disp("n zwischen 10 und 20") 
else 
 disp("n größer als 20")
Switch Case
n = input("Geben Sie eine Ganzzahl ein: "); 
switch n 
 case -1
 disp("minus eins")
 case {0,1,2,3} % vier Fälle gemeinsam prüfen 
 disp("Ganzzahl zwischen 0 und 3") 
 otherwise
 disp("Ganzzahl außerhalb des Intervalls [-1,3]") 
end % Kontrollstrukturen enden mit end
For-Schleife
% Schleife mit einer festen Anzahl von Durchläufen und
% Verfolgung jeder Iteration über eine inkrementierende
% Indexvariable 
for i = 1:3 
 disp("cool"); 
end  % Kontrollstrukturen enden mit end
While-Schleife
% Schleife, die ausgeführt wird, solange eine Bedingung wahr ist 
n = 1; 
nFactorial = 1; 
while nFactorial < 1e100 
 n = n + 1; 
 nFactorial = nFactorial * n; 
end % Kontrollstrukturen enden mit end

Weitere Programmier-/Kontrollbefehle

break Ausführung einer for- oder while-Schleife beenden
continue Steuerung an die nächste Iteration einer Schleife übergeben
try, catch Anweisungen ausführen und Fehler abfangen

Numerische Methoden

fzero(fun,x0) Nullstelle einer nichtlinearen Funktion
fminsearch(fun,x0) Minimum einer Funktion bestimmen
fminbnd(fun,x1,x2) Minimum von fun im Intervall [x1, x2] bestimmen
fft(x), ifft(x) Schnelle Fourier-Transformation und inverse Transformation

Integration und Differentiation

integral(f,a,b) Numerische Integration (analoge Funktionen für 2D und 3D)
trapz(x,y) Trapezregel zur numerischen Integration
diff(X) Differenzen und angenäherte Ableitungen
gradient(X) Numerischer Gradient
curl(X,Y,Z,U,V,W) Rotation und Winkelgeschwindigkeit
divergence(X,...,W) Divergenz eines Vektorfelds berechnen
ode45(ode,tspan,y0) System nichtsteifer gewöhnlicher Differentialgleichungen lösen
ode15s(ode,tspan,y0) System steifer gewöhnlicher Differentialgleichungen lösen
deval(sol,x) Lösung einer Differentialgleichung auswerten
pdepe(m,pde,ic,...bc,xm,ts) Eindimensionale partielle Differentialgleichung lösen
pdeval(m,xmesh,...usol,xq) Numerische PDE-Lösung interpolieren

Interpolation und Polynome

interp1(x,v,xq) Eindimensionale Interpolation (analog für 2D und 3D)
pchip(x,v,xq) Stückweise kubische Hermite-Polynominterpolation
spline(x,v,xq) Kubische Spline-Interpolation von Daten
ppval(pp,xq) Stückweises Polynom auswerten
mkpp(breaks, coeffs) Stückweises Polynom erstellen
unmkpp(pp)  Details eines stückweisen Polynoms extrahieren
poly(x) Polynom mit vorgegebenen Nullstellen x
polyeig(A0,A1,...Ap) Eigenwerte für ein polynomiales Eigenwertproblem
polyfit(x,y,d) Polynome Kurvenanpassung
residue(b,a) Partialbrucherweiterung, -zerlegung
roots(p) Polynomnullstellen
polyval(p,x) Polynom p an den Punkten x auswerten
polyint(p,k) Polynomintegration
polyder(p) Polynome Differentiation

Matrizen und Arrays

length(A) Länge der größten Array-Dimension
size(A) Array-Dimensionen
numel(A) Anzahl der Elemente in einem Array
sort(A) Array-Elemente sortieren
sortrows(A) Zeilen eines Arrays oder einer Tabelle sortieren
flip(A) Reihenfolge der Array-Elemente umkehren
squeeze(A) Dimensionen der Länge 1 entfernen
reshape(A,sz) Array umformen
repmat(A,n) Kopien eines Arrays wiederholen
any(A), all Prüfen, ob beliebige/alle Elemente ungleich null sind
nnz(A) Anzahl der von null verschiedenen Array-Elemente
find(A) Indizes und Werte der von null verschiedenen Elemente

Deskriptive Statistik

sum(A), prod Summe oder Produkt (spaltenweise)
max(A), min, bounds Größte und kleinste Elemente
mean(A), median, mode Statistische Operationen
std(A), var Standardabweichung und Varianz
movsum(A,n), movprod, movmax, movmin, movmean, movmedian, movstd, movvar Gleitende statistische Funktionen, n = Länge des gleitenden Fensters
cumsum(A), cumprod, cummax, cummin Kumulative statistische Funktionen 
smoothdata(A) Glätten von verrauschten Daten
histcounts(X) Histogramm-Klassenhäufigkeiten berechnen
corrcoef(A), cov Korrelationskoeffizienten, Kovarianz
xcorr(x,y), xcov Kreuzkorrelation, Kreuzkovarianz
normalize(A) Daten normalisieren
detrend(x) Polynomtrend entfernen
isoutlier(A) Ausreißer in Daten erkennen

Lineare Algebra

rank(A) Rang einer Matrix
trace(A) Summe der Diagonalelemente einer Matrix
det(A) Determinante einer Matrix
poly(A) Charakteristisches Polynom einer Matrix
eig(A), eigs Eigenwerte und Eigenvektoren einer Matrix (Teilmenge)
inv(A), pinv Inverse und Pseudoinverse einer Matrix
norm(x) Norm eines Vektors oder einer Matrix
expm(A), logm Matrixexponentialfunktion und -logarithmus
cross(A,B) Kreuzprodukt
dot(A,B) Skalarprodukt
kron(A,B) Kronecker-Tensorprodukt
null(A) Nullraum einer Matrix
orth(A) Orthonormalbasis des Bildraums einer Matrix
tril(A), triu Untere und obere Dreiecksmatrix einer Matrix
linsolve(A,B) Lineares Gleichungssystem der Form AX = B lösen
lsqminnorm(A,B) Ausgleichslösung (Kleinste-Quadrate-Methode) für lineare Gleichungen
svd(A) Singulärwertzerlegung
gsvd(A,B) Generalisierte Singulärwertzerlegung
rref(A) Reduzierte Zeilenstufenform einer Matrix

Symbolische Mathematik*

sym x, syms x y z Symbolische Variable deklarieren
eqn = y == 2*a + b Symbolische Gleichung definieren
solve(eqns,vars) Symbolischen Ausdruck nach einer Variablen lösen
subs(expr,var, val) Variable in einem Ausdruck substituieren
expand(expr) Symbolischen Ausdruck expandieren
assume(var, assumption) Annahme für eine Variable festlegen
assumptions(z) Annahmen für ein symbolisches Objekt anzeigen
fplot(expr), fcontour, fsurf, fmesh, fimplicit Funktionen für symbolische Objekte plotten
diff(expr,var,n) Symbolischen Ausdruck differenzieren
dsolve(deqn,cond) Differentialgleichung symbolisch lösen
int(expr,var,[a, b]) Symbolischen Ausdruck integrieren
taylor(fun,var,z0) Taylor-Entwicklung einer Funktion

* erfordert die Symbolic Math Toolbox