MATLAB Repetitorium - Daten und Dateizugriff: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
(Die Seite wurde neu angelegt: „Kategorie:MATLAB {| class="wikitable" |- | '''Autor:''' || Prof. Dr.-Ing. Schneider |- | '''Termin:''' || 10.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<sup>®</sup> einen Ordner mit dem Namen: „Daten“ (Befehle: <code>mkdir()</code>). # Spe…“) |
Keine Bearbeitungszusammenfassung |
||
Zeile 4: | Zeile 4: | ||
| '''Autor:''' || [[Benutzer:Ulrich_Schneider| Prof. Dr.-Ing. Schneider]] | | '''Autor:''' || [[Benutzer:Ulrich_Schneider| Prof. Dr.-Ing. Schneider]] | ||
|- | |- | ||
| '''Termin:''' || | | '''Termin:''' || 17.05.2024 | ||
|} | |} | ||
== Aufgabe 4.1 - Erzeugen und Lesen von mat-Dateien == | == Aufgabe 4.1 - Erzeugen und Lesen von mat-Dateien == | ||
Zeile 141: | Zeile 141: | ||
</source> | </source> | ||
|} | |} | ||
---- | |||
→ Termine [[MATLAB_Repetitorium_-_Einführung|1]] <br> | |||
→ [[MATLAB-Befehle| MATLAB<sup>®</sup> Befehlsübersicht]]<br> | |||
→ zurück zum Hauptartikel: [[MATLAB_Repetitorium|MATLAB Repetitorium]] |
Aktuelle Version vom 21. Mai 2024, 07:16 Uhr
Autor: | Prof. Dr.-Ing. Schneider |
Termin: | 17.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 |
%% Musterlösung Aufgabe 4.1 - Erzeugen und Lesen von mat-Dateien
clear all; close all; clc;
%4.1.1)
A = eye(10);
B = zeros(20);
name = 'test';
%4.1.2)
foldername = 'Daten';
mkdir(foldername);
%4.1.3)
filename = 'c)';
save([foldername '\' filename]);
%4.1.4)
filename = name;
save([foldername '\' filename],'A','B');
%4.1.5)
clear A B name
load([foldername '\' filename]);
% 4.1.6
[file,path] = uigetfile({'*.mat'});
selectedfile = fullfile(path,file);
load(selectedfile);
|
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 |
%% Musterlösung 4.2 - Erzeugen und Lesen von txt-Dateien
clear all;
close all;
clc;
A = ones(5,5);
B = 1:25;
for i=1:25
A(i) = B(i)*pi;
end
A = A';
filename = 'TextDatei.txt';
dlmwrite(filename,A,'delimiter','\t','precision',6,'newline','pc');
C = dlmread(filename)
|
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 |
%% Musterlösung Aufgabe 4.3 - Cell Arrays
clear all;
close all;
clc;
%4.3.1)
Header = {'Name','Alter','Beruf'};
Names = {'Walter White';'Saul Goodman';'Skyler White';'Jesse Pinkman'};
Alter = [50; 45; 47; 26];
Beruf = {'Lehrer';'Anwalt';'Einzelhandelskauffrau';'Arbeitslos'};
cellarray = cell(5,3);
cellarray(1,:) = Header;
cellarray(2:5,1) = Names;
cellarray(2:5,2) = num2cell(Alter);
cellarray(2:5,3) = Beruf;
%4.3.2)
table = cell2table(cellarray);
%4.3.3)
filename = 'Teil_3_CellArray.txt';
fileID = fopen(filename,'w');
formatSpecHeader = '%s %s %s\r\n';
formatSpec = '%s %d %s\r\n';
[nrows,ncols] = size(cellarray);
for row = 1:nrows
if row==1
fprintf(fileID,formatSpecHeader,cellarray{row,:});
else
fprintf(fileID,formatSpec,cellarray{row,:});
end
end
fclose(fileID);
|
→ Termine 1
→ MATLAB® Befehlsübersicht
→ zurück zum Hauptartikel: MATLAB Repetitorium