MATLAB im Informatikstudium: Matrizen & Vektoren

Total
0
Shares
Ein Bild einer Lupe und eines Mathematikbuches.
Foto von Ian Panelo auf Pexels

MATLAB ist eine Software zur Lösung von mathematischen Problemen. Die Anwendung gehört dem Unternehmen MathWorks. Die Software ist vor allem für die Berechnung von numerischen Problemen hilfreich. Dabei sind alle Zahlen grundsätzlich Vektoren. Die Langform des Namens ist MATrix LABoratory. Die Software wird oft in Hochschulen eingesetzt.

Inhaltsverzeichnis Hide
  1. Vektoren

 

Wie schwer so ein Informatikstudium ist habe ich ja schon im Artikel Ist das Informatikstudium schwer? beschrieben. Eine Schwierigkeit ist, dass viele angehende Informatikstudenten die Grundkenntnisse fehlen, welche im Studium vorrausgesetzt werden. Zum Beispiel in Fächern, welche viel mit Mathematik zu tun haben, wird oft die Software MATLAB eingesetzt.

In diesem Artikel zeige ich dir kurz und knapp die Grundlagen von MATLAB. Dieser Artikel wird nicht besonders lange, damit du dir wirklich schnell und einfach einen Überblick über MATLAB beschaffen kannst.

Vektoren

In MATLAB sind alle Zahlen gleichzeitig Vektoren. Dies bedeutet, dass eine einzelne Zahl wie 5 in Wirklichkeit ein 1×1 großer Vektor ist. Für Programmierer ist es wahrscheinlich gebräuchlicher die Vektoren als “Arrays” zu bezeichnen. Mit einer einfachen Variablenzuweisung von einer Zahl zu einer Variable erstellst du einen 1×1-Array:

x = 5
% Ist äquivalent zu:
x = [5]Code language: Matlab (matlab)

Einen Zeilenvektor kannst du ähnlich einfach erstellen:

x = [5 4 3 2 1]
% Ist äquivalent zu:
x = [5,4,3,2,1]
% Ist äquivalent zu:
x = [5, 4, 3, 2, 1]

% Erzeugt die Ausgabe:
% x =  5     4     3     2     1Code language: Matlab (matlab)

Bei einem Spaltenvektor werden die Elemente mit einem Strichpunkt getrennt:

x = [5;4;3;2;1]
% Ist äquivalent zu:
x = [5; 4; 3; 2; 1]
% Erzeugt die Ausgabe:
%{
x =
     5
     4
     3
     2
     1
%}Code language: Matlab (matlab)

Um einen Zeilen- und Spaltenvektor zu kombinieren, kannst du einfach beide Schreibweisen verbinden:

x = [4 3; 2 1]
% Erzeugt die Ausgabe:
%{
x =
     4     3
     2     1
%}Code language: Matlab (matlab)

Als Informatikstudent bist du es sicher gewohnt bestimmte Funktionen zu verschachteln. Auch in Matlab ist dies ganz einfach:

x = [sqrt(4) sqrt(25); 2 5]
% Erzeugt die Ausgabe:
%{
x =
     2     5
     2     5
%}Code language: Matlab (matlab)

In der Mathematik und der Informatik braucht man oft Vektoren, welche bestimmte Eigenschaften haben. Hierfür hält Matlab einige Tricks bereit.
Ein sehr langen Vektor erstellst du mit dem : Operator. Dieser Operator ist in diesem Kontext als “bis” zu übersetzen. Du möchtest alle Zahlen von 1 bis 5? Kein Problem:

x = 1:5
% Erzeugt die Ausgabe (Leerzeilen entfernt):
%{
x =
     1     2     3     4     5
%}Code language: Matlab (matlab)

Allerdings ist der Abstand zwischen den Zahlen hier immer gleich 1. Wenn du andere Abstände möchtest, musst du dies Matlab mitteilen. Mit der Syntax <Anfang>:<Abstand>:<Ende> kannst du Matlab den Abstand übergeben:

x = 0:5:20
% Erzeugt die Ausgabe (Leerzeilen entfernt):
%{
x =
     0     5    10    15    20
%}Code language: Matlab (matlab)

Trotzdem wird es Fälle geben, in denen du nicht weißt, welchen Abstand deine Elemente haben sollen. Auch das ist kein Problem. Die Funktion linspace() hilft hier. Allerdings ist die Syntax etwas anders als die 0:5:20 Syntax: linspace(<Anfang>,<Ende>,<Anzahl der Elemente>). Hier ein Beispiel:

x = linspace(0,20,5)
% Erzeugt die Ausgabe (Leerzeilen entfernt):
%{
x =
     0     5    10    15    20
%}Code language: Matlab (matlab)

Auch Zufallszahlen können generiert werden. Aber Vorsicht: Dies sind meiner Meinung nach keinerlei sichere Zufallszahlen. Nicht für Passwörter oder Kryptografische Anwendungen nutzen. Außerdem kann man einen Array mit Nullen füllen.

x = rand(2)
% Erzeugt die Ausgabe (Leerzeilen entfernt):
%{
x =
    0.8147    0.1270
    0.9058    0.9134
%}


x = zeros(3,2)
% Erzeugt die Ausgabe (Leerzeilen entfernt):
%{
x =
     0     0
     0     0
     0     0
%}Code language: Matlab (matlab)

Die Frage, welche sich nun stellt, ist, wie man denn eigentlich auf einzelne Elemente eines Vektors zugreift. Auf Zahlen in einem Vektor kann man in Matlab mithilfe einfacher Klammern zugreifen. Mit dem Keyword “end” springst du jeweils zum Ende einer Reihe oder einer Zeile.

x = rand(2)
a = x(2, 1)
b = x(end, 1)
c = x(2, end)
d = x(2, end-1)

% Erzeugt die Ausgabe (Leerzeilen entfernt):
%{
x =
    0.6324    0.2785
    0.0975    0.5469

a = 0.0975
b = 0.0975
c = 0.5469
d = 0.9649
%}


Code language: Matlab (matlab)

Mit dem : Operator kannst du gleich eine ganze Reihe oder Spalte auf einmal selektieren. Gleichzeitig wird der Operator auch als “bis” Operator genutzt.

x = rand(4)
a = x(1, :)
b = x(:, 1)
c = x(:, 2:3) %Alle Zeilen in der 2ten bis 3ten Spalte

% Erzeugt die Ausgabe (Leerzeilen entfernt):
%{

x =
    0.8909    0.1493    0.8143    0.1966
    0.9593    0.2575    0.2435    0.2511
    0.5472    0.8407    0.9293    0.6160
    0.1386    0.2543    0.3500    0.4733

a =
    0.8909    0.1493    0.8143    0.1966

b =
    0.8909
    0.9593
    0.5472
    0.1386

c =
    0.1493    0.8143
    0.2575    0.2435
    0.8407    0.9293
    0.2543    0.3500
%}<br />
Code language: Matlab (matlab)

MATLAB Graph, Plot, Vektoren zeichnen

Einen einfachen Vektor x plottest du in Matlab mit “plot(x)”. Dabei nimmt MATLAB deine Werte aus x und zeichnet diese auf der y-Achse ein. Die X-Achse wird dann durch die Anzahl der Elemente in x bestimmt.

hold off % Ignoriere diesen Befehl fürs erste
x = rand(1, 10)
plot(x)Code language: Matlab (matlab)

Du kannst zwei Vektoren gegeneinander plotten. Dabei wird jedem Wert des einen Vektors (x-Wert) ein zweiter Wert des anderen Vektors als y-Wert zugewiesen. Dann wird dieser geplottet. Dabei kannst du durch den dritten Parameter auch die Farbe und Form des Graphs festlegen. Zum Beispiel (“r”) für eine rote Linie.

Extra-Tipp: Wenn du zwei Graphen übereinander zeichnen möchtest, kannst du einfach die plot()-Funktion zweimal nutzen. Wichtig ist aber, dass du vor dem zweiten plot()-Befehl das Kommando “hold on;” schreibst. Sonst stellt MATLAB den Vektor in zwei unterschiedlichen Bildern dar.

a = [1 2 2.5 3 4; 1.5 2 3 4 5]
x = a(1, :)
y = a(2, :)
plot(x, y, "r")
hold on;
plot(x, y, "b*")
%{
Erstellt einen Graph mit den 
Koordinaten 
(a(1, 1), a(2, 1)), 
...,
(a(1, 5), a(2, 5))

Also hier:
(1, 1.5), ..., (4, 5)
%}

hold off; % Beendet hold onCode language: Matlab (matlab)

 

Findest du diese Art von Artikeln gut? Kurze Zusammenfassungen von Grundlagen, welche dir im Informatikstudium helfen. Wenn du zu einem bestimmten Thema eine kurze Zusammenfassung haben möchtest, dann schreib deinen Vorschlag gerne als Kommentar!

 

 

Artikel-Titlebild von Ian Panelo von Pexels

Wie hilfreich war dieser Beitrag?

Klicke auf die Sterne um zu bewerten!

Wenn dir der Artikel gefallen hat:
Was hältst du von diesem Thema? Der Informatikstudent ist ein kleiner Blog und für mich ein Hobbyprojekt. Du kannst mich unterstützen, in dem du diesen Beitrag teilst, auf deiner Website verlinkst oder einen Kommentar schreibst. Für dich ist es nur ein kurzer Aufwand, aber mir zeigt es, dass dir der Blog gefällt. Das motiviert mich, mehr Artikel zu schreiben. Schau dich auch gerne nach weiteren Artikeln auf dem Blog um. Vielleicht hilft dir ja noch etwas weiter?

- Daniel
Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert


Was dir auch gefallen könnte