Cheat Sheets

MATLAB für Python-Benutzer

Die MATLAB-Sprache ist in erster Linie für mathematisch anspruchsvolle wissenschaftliche Berechnungen konzipiert. MATLAB kombiniert eine Desktop-Umgebung, die auf iterative Analysen ausgelegt ist, mit einer Programmiersprache, die Matrix- und Array-Mathematik direkt abbildet. Das Verständnis der zugrunde liegenden Philosophie und des API-Designs unterstützt den Einstieg in MATLAB.

Python mit MATLAB erweitern

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

Python-Syntax MATLAB-Syntax Zweck Beispiele aus MATLAB
# %

Kommentar

% hello
print Do not terminate with ;

Ausgabe drucken

x
/ ...

Mit der nächsten Zeile fortfahren

x = 1+...2;
os !

Betriebssystembefehl

! echo hi
+ - * / + - * /

Mathematische Operatoren

x = 1+2
** ^

Exponent

x = y^2
* / ** .* ./ .^

Elementweise Operatoren

x = [1 2].* [3 4]
not, and, or ~ & |

Logische Operatoren NOT, AND, OR

if x<2 & x>2
del clear

Variable aus dem Speicher löschen

clear x y
clear clc

Befehlsfenster löschen

clc
MATLAB-Syntax Zweck Beispiel
( )

Indizieren (Copy-on-Write)

x(1,1)
[ ]

Array erstellen

x = [1 2 3]

Arrays verknüpfen

z = [x ; y]
{ }

Cell-Arrays erstellen

x = {42; "hello world"}

Inhalte aus einem Container extrahieren

x{1,1}
.

Auf Klasseneigenschaft oder -methode zugreifen

obj.Data

Auf Tabellen- oder Strukturfeld referenzieren

t.FieldName
  • Das erste Element hat den Index 1.
  • Die Indizierung ist links- und rechtsinklusive.
  • Zu den Indizierungsoptionen zählen N-D-Indexierung (Zeile, Spalte), lineare Indizierung (Elementnummer) sowie logische Indizierung (bedingter Ausdruck).
Funktionen erstellen

Funktionen können innerhalb einer Funktionsdatei deklariert werden. Eingabeargumente werden in Klammern angegeben.

function z = foo(x,y)
   ...
end

Mehrere Ausgabewerte werden in eckigen Klammern erfasst.

function [a,b] = foo(x,y)
    ...
end

Aufruf von Funktionen mit Eingabeargumenten und Name-Wert-Paaren

  y = foo(x,y,"Name",Value)

Ähnliche Datentypen:

Python MATLAB
float double, single
complex complex single, complex double
int (u)int8, (u)int16, (u)int32, (u)int64
float(nan) NaN
float(inf) inf
str str, char
bool logical
dict struct
list, tuple cell
pandas.dataframe table

MATLAB speichert standardmäßig alle numerischen Werte als Gleitkommazahlen mit doppelter Genauigkeit. Python speichert einige Zahlen als Ganzzahlen und andere als Gleitkommazahlen. In MATLAB gilt bei x = 4 und y = 4.0, dass x immer gleich y ist.

Anweisung Beispiel

for

for i = 1:10
   ...
end

if

if x<
   ...
   elseif x == 2    
   else
   ...
end

while

while x<3
   ...
end

switch-case

switch switch_arg
   ...
   case case_arg
   ...
end

try-catch

try
   ...
   catch
   ...
end
Eine Klasse definieren Eine Klasse verwenden
classdef MyClass
   properties
      MyProp
   end
   methods
      function obj = MyClass(val)
      end
      function y = MyMethod(obj,x)
      end
   end
end
  • Die Klassendefinition unter demselben Namen wie die Klasse speichern

    MyClass.m
  • Ein Objekt der Klasse erstellen

    a = MyClass
  • Auf die Eigenschaften zugreifen

    a.MyProp
  • Methoden aufrufen, um Operationen auszuführen

    b = MyMethod(a,val)
  • Für die Übergabe per Referenz eine „Handle“-Klasse erstellen

    classdef myclass < handle
       ...
    end