MATLAB Repetitorium - Programmstrukturen: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Keine Bearbeitungszusammenfassung |
|||
Zeile 17: | Zeile 17: | ||
{| role="presentation" class="wikitable mw-collapsible mw-collapsed" | {| role="presentation" class="wikitable mw-collapsible mw-collapsed" | ||
| <strong>Musterlösung 1 </strong> | | <strong>Musterlösung 4.1 </strong> | ||
|- | |- | ||
| <source line lang="matlab" style="font-size:medium">%% Musterlösung Aufgabe 4.1 - Erzeugen und Lesen von mat-Dateien | | <source line lang="matlab" style="font-size:medium">%% Musterlösung Aufgabe 4.1 - Erzeugen und Lesen von mat-Dateien | ||
Zeile 47: | Zeile 47: | ||
selectedfile = fullfile(path,file); | selectedfile = fullfile(path,file); | ||
load(selectedfile); | load(selectedfile); | ||
</source> | |||
|} | |||
== 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() | |||
{| role="presentation" class="wikitable mw-collapsible mw-collapsed" | |||
| <strong>Musterlösung 4.2 </strong> | |||
|- | |||
| <source line lang="matlab" style="font-size:medium">%% 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) | |||
</source> | </source> | ||
|} | |} |
Version vom 10. Mai 2024, 07:16 Uhr
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 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)
|