MATLAB Repetitorium - Programmstrukturen
Zur Navigation springen
Zur Suche springen
Autor: | Prof. Dr.-Ing. Schneider |
Termin: | 31.05.2024 |
Aufgabe 4.1 - Erzeugen und Lesen von mat-Dateien
- Schreiben Sie ein Skript, in welchem Sie eine Einheitsmatrix, eine Nullmatrix und ein String mit dem Inhalt „test“ erzeugen.
- Erstellen Sie in MATLAB® einen Ordner mit dem Namen: „Daten“ (Befehle:
mkdir()
). - Speichern Sie alle vorher erzeugten Variablen in eine mat-Datei im erzeugten Ordner (Befehle:
save()
) - Speichern Sie nur die Matrizen in einer neuen mat-Datei mit den Namen des vorher erzeugten Strings im erzeugten Ordner.
- Löschen Sie die an Teilaufgabe a) erzeugten Variablen aus dem Workspace und laden Sie die vorher erzeugte
„test.mat“
Datei aus dem Ordner (Befehle:load()
) - Nutzen Sie die Benutzeroberfläche (
uigetfile
), um Daten zu laden.
Nützliche Befehle: clear
, close
, clc, mkdir, save, load, uigetfile
Musterlösung 4.1 |
Aufgabe 4.2 - Erzeugen und Lesen von txt-Dateien
- Schreiben Sie ein Skript, in welchem Sie zunächst eine 5x5 Matrix erzeugen, welche zeilenweise aufsteigend die Werte von π bis 25π enthält.
- Schreiben Sie diese Matrix in eine Textdatei mit den Anforderungen (Befehl: dlmwrite()):
- Zahlen in einer Zeile sollen mit einem Tabstopp getrennt werden.
- Zeilen sollen mit Zeilenumbrüchen getrennt werden.
- Zahlen sollen auf 6 Stellen genau gespeichert werden
- Laden Sie den Inhalt der Textdatei in eine neue Matrix (Befehl: dlmread())
Nützliche Befehle: dlmwrite(), dlmread()
Musterlösung 4.2 |
Aufgabe 4.3 - Cell Arrays
- Erzeugen Sie Tabelle 1 als Cell-Array in MATLAB® (Befehle: cell(), num2cell()).
- Wandeln Sie das Cell-Array in eine Tabelle um (Befehle: cell2table()).
- Erzeugen Sie eine Textdatei und speichern Sie dort das erstellte Cell -Array (Befehle: fopen(), fprintf(), fclose()).
Tutorial: MATLAB®: Export Cell Array to Text File
Name | Alter | Beruf |
---|---|---|
Walter White | 50 | Lehrer |
Saul Goodman | 45 | Anwalt |
Skyler White | 47 | Einzelhandelskauffrau |
Jesse Pinkman | 26 | arbeitssuchend |
Nützliche Befehle: cell, num2cell, cell2table, fopen, fclose, fprintf
Musterlösung 4.3 |
Aufgabe 4.4 - Programmiergrundlagen - Schleifen und Bedingungen
- Schreiben Sie ein MATLAB®-Skript, das mit Hilfe einer
for
-Schleife die Summe der Zahlen von 1 bis 100000 berechnet (z. B.n=n+1
). - Schreiben Sie ein MATLAB®-Skript, das mit Hilfe einer
while
-Schleife die Summe die Zahlen von 1 bis 100000 berechnet. - Schreiben Sie ein MATLAB®-Skript, das
- Einen Vektor X mit 10000 Zufallszahlen zwischen 0 und 1 erzeugt.
- Mit Hilfe einer
for
-Schleife den Index des ersten Elementes in X berechnet, das > 0.9 ist (falls ein solches existiert) und diesen Index in der Variablen speichert. - Mit Hilfe einer while-Schleife den Index des ersten Elementes in X berechnet, das< 0.1 ist (falls ein solches existiert) und diesen Index in der Variablen speichert.
- Mit Hilfe von „ logical indexing" das erste Element findet, das echt zwischen 0.5 und 0.55 liegt (falls ein solches existiert) und diesen Index in der Variablen speichert.
Nützliche Befehle: for
, if
, while
, break
Musterlösung 4.4 |
Aufgabe 4.5 - Programmiergrundlagen - Funktionen
- Recherchieren Sie den Begriff „MATLAB function" und informieren Sie sich, was man darunter versteht.
- Schreiben Sie das MATLAB®-Skript aus Aufgabe 4.4.3 zu einer MATLAB®-Function mit dem Namen
analyse
um, die- als Eingabeargument die Zahl n bekommt und dann
- einen Vektor mit n Zufallszahlen zwischen 0 und 1 erzeugt
- Anschließend soll die Funktion genau die Werte und wie in Aufgabe 4.4.3 berechnen und diese als Rückgabewerte zurückliefern.
- Machen Sie sich anhand der Funktion
analyse
mit dem Setzen von „Breakpoints" und dem MATLAB®-Debugger vertraut.
- Schreiben Sie ein kurzes Matlab Skript, mit dem Sie die Funktion
analyse
aufrufen. Springen Sie dabei mit einem Breakpoint in die Funktion.
Nützliche Befehle: function
Musterlösung 4.5.1 - Funktion |
Musterlösung 4.5.4 - Startskript |
Aufgabe 4.6 - Programmiergrundlagen - Systematische Programmierung
Erzeugen Sie sich ein Framework für zukünftige Programmierarbeiten mit folgenden Ablauf:
- Header mit: Programmname, Autor, Änderungsdatum, Erstelldatum, Beschreibung, Input, Output
- Konsole löschen, Workspace bereinigen, Fenster schließen
- Initialisierung von Variablen etc.
- Simulationsschleife/Algorithmus
- Plots/Ausgabe etc.
Arbeiten Sie dabei mit Ausgaben vor und nach jedem Abschnitt. Bsp.: „Initialisation successful“.
Nützliche Befehle: disp
, fprintf
Musterlösung 4.6 |
Projekt - Programmiergrundlagen - Funktionen
- Schreiben Sie die Funktion
LeseSpannung
, welche normalverteilte Spannungen (Mittelwert: 14,4 V, Standardabweichung: 4 V) simuliert. - Nutzen Sie das Startskript
startLeseSpannung
, um über eine Schleife 50 Messwerte zu simulieren. - Zeigen Sie die Messwerte als rote Punkte zyklisch an.
- Werten Sie den Quelltext mit Header, Kommentaren und Hilfe auf.
→ Termine 1
→ MATLAB® Befehlsübersicht
→ zurück zum Hauptartikel: MATLAB Repetitorium