MATLAB Repetitorium - Programmstrukturen: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Keine Bearbeitungszusammenfassung |
|||
(27 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 4: | Zeile 4: | ||
| '''Autor:''' || [[Benutzer:Ulrich_Schneider| Prof. Dr.-Ing. Schneider]] | | '''Autor:''' || [[Benutzer:Ulrich_Schneider| Prof. Dr.-Ing. Schneider]] | ||
|- | |- | ||
| '''Termin:''' || | | '''Termin:''' || 31.05.2024 | ||
|} | |} | ||
== Aufgabe 4.1 - Erzeugen und Lesen von mat-Dateien == | == 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. | # Schreiben Sie ein Skript, in welchem Sie eine Einheitsmatrix, eine Nullmatrix und ein String mit dem Inhalt „test“ erzeugen. | ||
# Erstellen Sie in | # Erstellen Sie in MATLAB<sup>®</sup> einen Ordner mit dem Namen: „Daten“ (Befehle: <code>mkdir()</code>). | ||
# Speichern Sie alle vorher erzeugten Variablen in eine mat-Datei im erzeugten Ordner (Befehle: save()) | # Speichern Sie alle vorher erzeugten Variablen in eine mat-Datei im erzeugten Ordner (Befehle: <code>save()</code>) | ||
# Speichern Sie nur die Matrizen in einer neuen mat-Datei mit den Namen des vorher erzeugten Strings im erzeugten Ordner. | # 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()) | # Löschen Sie die an Teilaufgabe a) erzeugten Variablen aus dem Workspace und laden Sie die vorher erzeugte <code>„test.mat“</code> Datei aus dem Ordner (Befehle: <code>load()</code>) | ||
# Nutzen Sie die Benutzeroberfläche (uigetfile), um Daten zu laden. | # Nutzen Sie die Benutzeroberfläche (<code>uigetfile</code>), um Daten zu laden. | ||
'''Nützliche Befehle:''' [https://de.mathworks.com/help/matlab/ref/clear.html <code>clear</code>], close, clc, mkdir, save, load, uigetfile | '''Nützliche Befehle:''' [https://de.mathworks.com/help/matlab/ref/clear.html <code>clear</code>], [https://de.mathworks.com/help/matlab/ref/close.html <code>close</code>], [https://de.mathworks.com/help/matlab/ref/clc.html clc], [https://de.mathworks.com/help/matlab/ref/mkdir.html mkdir], [https://de.mathworks.com/help/matlab/ref/save.html save], [https://de.mathworks.com/help/matlab/ref/load.html load], [https://de.mathworks.com/help/matlab/ref/uigetfile.html uigetfile] | ||
Zeile 22: | Zeile 22: | ||
clear all; close all; clc; | clear all; close all; clc; | ||
4.1.1) | %4.1.1) | ||
A = eye(10); | A = eye(10); | ||
B = zeros(20); | B = zeros(20); | ||
Zeile 49: | Zeile 49: | ||
</source> | </source> | ||
|} | |} | ||
== Aufgabe 4.2 - Erzeugen und Lesen von txt-Dateien == | == 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 ein Skript, in welchem Sie zunächst eine 5x5 Matrix erzeugen, welche zeilenweise aufsteigend die Werte von π bis 25π enthält. | ||
Zeile 100: | Zeile 101: | ||
'''Nützliche Befehle:''' cell, num2cell, cell2table, fopen, fclose, fprintf | '''Nützliche Befehle:''' cell, num2cell, cell2table, fopen, fclose, fprintf | ||
{| role="presentation" class="wikitable mw-collapsible mw-collapsed" | {| role="presentation" class="wikitable mw-collapsible mw-collapsed" | ||
| <strong>Musterlösung 4. | | <strong>Musterlösung 4.3 </strong> | ||
|- | |- | ||
| <source line lang="matlab" style="font-size:medium">%% Musterlösung Aufgabe 4.3 - Cell Arrays | | <source line lang="matlab" style="font-size:medium">%% Musterlösung Aufgabe 4.3 - Cell Arrays | ||
Zeile 140: | Zeile 141: | ||
</source> | </source> | ||
|} | |} | ||
== Aufgabe 4.4 - Programmiergrundlagen == | |||
== Aufgabe 4.4 - Programmiergrundlagen - Schleifen und Bedingungen == | |||
# Schreiben Sie ein MATLAB<sup>®</sup>-Skript, das mit Hilfe einer <code>for</code> -Schleife die Summe der Zahlen von 1 bis 100000 berechnet (z. B. <code>n=n+1</code>). | |||
# Schreiben Sie ein MATLAB<sup>®</sup>-Skript, das mit Hilfe einer <code>while</code>-Schleife die Summe die Zahlen von 1 bis 100000 berechnet. | |||
# Schreiben Sie ein MATLAB<sup>®</sup>-Skript, das | |||
## Einen Vektor X mit 10000 Zufallszahlen zwischen 0 und 1 erzeugt. | |||
## Mit Hilfe einer <code>for</code>-Schleife den Index des ersten Elementes in X berechnet, das > 0.9 ist (falls ein solches existiert) und diesen Index in der Variablen <math>x_1</math> 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 <math>x_2</math> 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 <math>x_3</math> speichert. | |||
'''Nützliche Befehle:''' [https://de.mathworks.com/help/matlab/ref/for.html <code>for</code>], [https://de.mathworks.com/help/matlab/ref/if.html <code>if</code>], [https://de.mathworks.com/help/matlab/ref/while.html <code>while</code>], [https://de.mathworks.com/help/matlab/ref/break.html <code>break</code>] | |||
{| role="presentation" class="wikitable mw-collapsible mw-collapsed" | |||
| <strong>Musterlösung 4.4 </strong> | |||
|- | |||
| <source line lang="matlab" style="font-size:medium">%% Aufgabe 4.4 - Schleifen und Bedingungens | |||
clear all | |||
%(a) | |||
Summe1 = 0; | |||
for i=0:1:100000 | |||
Summe1 = Summe1+i; | |||
end | |||
%(b) | |||
Summe2 = 0; | |||
i = 0; | |||
while i<=100000 | |||
Summe2 = Summe2+i; | |||
i = i+1; | |||
end | |||
clear all | |||
%(c) | |||
VektorX = rand(1,10000); | |||
%Element finden, welches >0.9 ist | |||
for i=1:1:10000 | |||
if(VektorX(i)>0.9) | |||
x1 = i; | |||
break; | |||
end | |||
end | |||
%Element finden, welches <0.1 ist | |||
i=1; | |||
while i<=10000 | |||
if(VektorX(i)<0.1) | |||
x2 = i; | |||
break; | |||
end | |||
i = i+1; | |||
end | |||
%Element finden, welches zwischen 0.5 und 0.55 liegt | |||
%% Möglichkeit 1: Schleife | |||
for i=1:1:10000 | |||
if(VektorX(i)>=0.50 && VektorX(i)<=0.55) | |||
x3 = i; | |||
break; | |||
end | |||
end | |||
%% Möglichkeit 2: logical indexing | |||
Logic_Vek = VektorX >= 0.50 & VektorX <= 0.55; | |||
x3_new = find(Logic_Vek,1); | |||
</source> | |||
|} | |||
== Aufgabe 4.5 - Programmiergrundlagen - Funktionen == | |||
# Recherchieren Sie den Begriff [https://www.mathworks.com/help/matlab/ref/function.html „MATLAB function"] und informieren Sie sich, was man darunter versteht. | |||
# Schreiben Sie das MATLAB<sup>®</sup>-Skript aus Aufgabe 4.4.3 zu einer MATLAB<sup>®</sup>-Function mit dem Namen <code>analyse</code> 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 <math>x_1, x_2</math> und <math>x_3</math> wie in Aufgabe 4.4.3 berechnen und diese als Rückgabewerte zurückliefern. | |||
## Machen Sie sich anhand der Funktion <code>analyse</code> mit dem Setzen von „Breakpoints" und dem MATLAB<sup>®</sup>-Debugger vertraut. | |||
# Schreiben Sie ein kurzes Matlab Skript, mit dem Sie die Funktion <code>analyse</code> aufrufen. Springen Sie dabei mit einem Breakpoint in die Funktion. | |||
'''Nützliche Befehle:''' [https://de.mathworks.com/help/matlab/ref/function.html <code>function</code>] | |||
{| role="presentation" class="wikitable mw-collapsible mw-collapsed" | |||
| <strong>Musterlösung 4.5.1 - Funktion </strong> | |||
|- | |||
| <source line lang="matlab" style="font-size:medium">%% Aufgabe 4.5 - Funktionen | |||
function[x1 x2 x3] = analyse(n) | |||
VektorX = rand(1,n); | |||
%Element finden, welches >0.9 ist | |||
for i=1:1:10000 | |||
if(VektorX(i)>0.9) | |||
x1 = i; | |||
break; | |||
end | |||
end | |||
%Element finden, welches <0.1 ist | |||
i=1; | |||
while i<=10000 | |||
if(VektorX(i)<0.1) | |||
x2 = i; | |||
break; | |||
end | |||
i = i+1; | |||
end | |||
%Element finden, welches zwischen 0.5 und 0.55 liegt | |||
Logic_Vek = VektorX >= 0.50 & VektorX <= 0.55; | |||
x3 = find(Logic_Vek); | |||
if ~isempty(x3) | |||
x3 = x3(1); | |||
else | |||
x3 = 0; | |||
end | |||
end | |||
</source> | |||
|} | |||
{| role="presentation" class="wikitable mw-collapsible mw-collapsed" | |||
| <strong>Musterlösung 4.5.4 - Startskript </strong> | |||
|- | |||
| <source line lang="matlab" style="font-size:medium">%% Skript testAnalyse ruft die Funktion auf. | |||
n = 1000; | |||
%dbstop in analyse | |||
[x1 x2 x3] = analyse(n) | |||
</source> | |||
|} | |||
== 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:''' [https://de.mathworks.com/help/matlab/ref/disp.html <code>disp</code>], fprintf | |||
{| role="presentation" class="wikitable mw-collapsible mw-collapsed" | |||
| <strong>Musterlösung 4.6 </strong> | |||
|- | |||
| <source line lang="matlab" style="font-size:medium">%% Aufgabe 4.6 - Systematische Programmierung | |||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | |||
% % | |||
% Funktion : Framework % | |||
% % | |||
% % | |||
% Eingabe : / % | |||
% % | |||
% % | |||
% Ausgabe : / % | |||
% % | |||
% % | |||
% Autor : Erika Musterfrau % | |||
% % | |||
% Implementation : MATLAB R2016b % | |||
% % | |||
% Bemerkung : % | |||
% % | |||
% Änderungsdatum : 09.03.2017 % | |||
% % | |||
% Erstelldatum : 09.03.2017 % | |||
% % | |||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | |||
% Matlab initialisiern | |||
clear all; | |||
close all; | |||
clc; | |||
%% Initialisierung von Variablen/Konstanten | |||
disp('Starte Initialisierung'); | |||
%Hier kommt die Initialisierung hin | |||
disp('Initialisation erfolgreich'); | |||
fprintf('\n'); | |||
%% Simulationsschleife/Algorithmus | |||
disp('Programmstart'); | |||
%Hier kommen die Berechnungen hin | |||
disp('Berechnung beendet'); | |||
fprintf('\n'); | |||
%% Plots/Ausgabe | |||
figure(1); | |||
%Hier kommen die Ausgabe hin | |||
%% Fenster schließen | |||
close 1 | |||
</source> | |||
|} | |||
== Projekt - Programmiergrundlagen - Funktionen == | |||
# Schreiben Sie die Funktion <code>LeseSpannung</code>, welche normalverteilte Spannungen (Mittelwert: 14,4 V, Standardabweichung: 4 V) simuliert. | |||
# Nutzen Sie das Startskript <code>startLeseSpannung</code>, 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 [[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 5. Juli 2024, 09:42 Uhr
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 |
%% 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);
|
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.4 - Schleifen und Bedingungens
clear all
%(a)
Summe1 = 0;
for i=0:1:100000
Summe1 = Summe1+i;
end
%(b)
Summe2 = 0;
i = 0;
while i<=100000
Summe2 = Summe2+i;
i = i+1;
end
clear all
%(c)
VektorX = rand(1,10000);
%Element finden, welches >0.9 ist
for i=1:1:10000
if(VektorX(i)>0.9)
x1 = i;
break;
end
end
%Element finden, welches <0.1 ist
i=1;
while i<=10000
if(VektorX(i)<0.1)
x2 = i;
break;
end
i = i+1;
end
%Element finden, welches zwischen 0.5 und 0.55 liegt
%% Möglichkeit 1: Schleife
for i=1:1:10000
if(VektorX(i)>=0.50 && VektorX(i)<=0.55)
x3 = i;
break;
end
end
%% Möglichkeit 2: logical indexing
Logic_Vek = VektorX >= 0.50 & VektorX <= 0.55;
x3_new = find(Logic_Vek,1);
|
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 |
%% Aufgabe 4.5 - Funktionen
function[x1 x2 x3] = analyse(n)
VektorX = rand(1,n);
%Element finden, welches >0.9 ist
for i=1:1:10000
if(VektorX(i)>0.9)
x1 = i;
break;
end
end
%Element finden, welches <0.1 ist
i=1;
while i<=10000
if(VektorX(i)<0.1)
x2 = i;
break;
end
i = i+1;
end
%Element finden, welches zwischen 0.5 und 0.55 liegt
Logic_Vek = VektorX >= 0.50 & VektorX <= 0.55;
x3 = find(Logic_Vek);
if ~isempty(x3)
x3 = x3(1);
else
x3 = 0;
end
end
|
Musterlösung 4.5.4 - Startskript |
%% Skript testAnalyse ruft die Funktion auf.
n = 1000;
%dbstop in analyse
[x1 x2 x3] = analyse(n)
|
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 |
%% Aufgabe 4.6 - Systematische Programmierung
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %
% Funktion : Framework %
% %
% %
% Eingabe : / %
% %
% %
% Ausgabe : / %
% %
% %
% Autor : Erika Musterfrau %
% %
% Implementation : MATLAB R2016b %
% %
% Bemerkung : %
% %
% Änderungsdatum : 09.03.2017 %
% %
% Erstelldatum : 09.03.2017 %
% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Matlab initialisiern
clear all;
close all;
clc;
%% Initialisierung von Variablen/Konstanten
disp('Starte Initialisierung');
%Hier kommt die Initialisierung hin
disp('Initialisation erfolgreich');
fprintf('\n');
%% Simulationsschleife/Algorithmus
disp('Programmstart');
%Hier kommen die Berechnungen hin
disp('Berechnung beendet');
fprintf('\n');
%% Plots/Ausgabe
figure(1);
%Hier kommen die Ausgabe hin
%% Fenster schließen
close 1
|
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