Modellierung und Simulation - Wiederholung 1-6
| Autor: | Prof. Dr.-Ing. Schneider |
| Termin: | 11.04.2025 |
Aufgabe 7.1 - Funktionen
Schreiben Sie die Funktion Celsius im m-File „Celsius.m“, die eine übergebene Fahrenheit-Temperatur in den zugehörigen Celsius-Wert umrechnet und diesen zurückgibt:
function c = Celsius(fahr)
Zur Umrechnung von Grad Fahrenheit in Grad Celsius dient die Formel:
c = (5.0/9.0) * (fahr − 32)
Testen Sie Ihre Funktion mit mehreren Temperaturen. Schreiben Sie eine weitere Funktion Fahrenheit, die eine übergebene Celsius-Temperatur in den Fahrenheit-Wert umrechnet:
function f = Fahrenheit(c)
Rufen Sie die beiden Funktionen auch hintereinander auf, also beispielsweise
>> f = Fahrenheit( Celsius( fahr ) )
| Musterlösung 7.1 |
% Aufgabe 7.1.1: Umrechung Fahrenheit nach Celsius
% c = Celsius( fahr )
function c = Celsius( fahr )
c = (5.0/9.0) * ( fahr - 32 );
end
% Aufgabe 7.1.2: Umrechung Celsius nach Fahrenheit
% f = Fahrenheit(c)
function f = Fahrenheit( c )
f = (9.0/5.0) * c + 32;
end
|
Aufgabe 7.2 - Funktionen
Erstellen Sie die Funktion Pythagoras im m-File Pythagoras.m, die aus den zwei
übergebenen Argumenten a und b die Zahl c nach dem Satz von Pythagoras berechnet,
also . Vor der Zuweisung des Rückgabewerts müssen Sie natürlich
noch die Wurzel aus ziehen:
function c = Pythagoras(a, b)
Testen Sie Ihre Funktion mit mehreren Zahlenpaaren.
| Musterlösung 7.2 |
%% Musterlösung Aufgabe 7.2 - Ein- und Ausgaben
function c = Pythagoras( a, b )
c_2 = a^2 + b^2;
c = sqrt( c_2 );
end);
|
Aufgabe 7.3 - Ein- und Ausgabe
Schreiben Sie die Funktion function u = UmfangInput(prompt).Die Daten für den Radius sollen über input von der Tastatur abgefragt werden. Die neue
Funktion mit dem Namen UmfangInput muss in dem neuen m-File UmfangInput.m abgespeichert werden.
Als Eingabe-Aufforderung für den Radius dient der an die Funktion übergebene Text, der im Parameter prompt abgelegt ist. Nach der Berechnung des Umfangs werden der Radius und der Umfang mithilfe der Funktion fprintf ausgegeben.
| Musterlösung 7.3 |
%% Musterlösung Aufgabe 7.3 - Ein- und Ausgaben
function u = UmfangInput( prompt )
r = input( prompt ); % Radius von Tastatur einlesen
u = 2 * pi * r; % u enthält berechneten Umfang
fprintf( 'Der Umfang zum Radius %g ist: %g \n', r,u );
end
|
Aufgabe 7.4 - Ein- und Ausgabe
Erweitern Sie die Funktion UmfangInput, damit sie außer dem Umfang auch noch die Kreisfläche berechnet. Die beiden Ergebnisse sollen sowohl mit fprintf ausgege- ben als auch von der Funktion zurückgegeben werden. Experimentieren Sie mit unterschiedlichen Formatanweisungen bei der Ausgabe mit fprintf, beispielsweise durch eine Variation der Zahl der Nachkommastellen.
| Musterlösung 7.4 |
function [umf, F] = KreisInput()
% Aufgabe 7.4: berechnet Kreisumfang und -fläche
% [umf, F] = KreisInput()
% Radius wird von der Tastatur eingelesen
% Einlesen des Radius von der Tastatur
r = input( 'Bitte Radius eingeben: ' );
% Berechnung des Umfangs aus dem Eingabewert und Rückgabe
umf = 2 * pi * r;
F = pi * r * r;
% Ausgabe des Ergebnisses auf dem Bildschirm
fprintf( 'Der Umfang zum Radius %g ist: %g \n', [r, umf] );
fprintf( 'Die Fläche zum Radius %g ist: %g \n', [r, F] );
end
|
Aufgabe 7.4 - Ein- und Ausgabe
Erweitern Sie die Funktion UmfangInput, damit sie außer dem Umfang auch noch die Kreisfläche berechnet. Die beiden Ergebnisse sollen sowohl mit fprintf ausgege- ben als auch von der Funktion zurückgegeben werden. Experimentieren Sie mit unterschiedlichen Formatanweisungen bei der Ausgabe mit fprintf, beispielsweise durch eine Variation der Zahl der Nachkommastellen.
| Musterlösung 7.4 |
function [umf, F] = KreisInput()
% Aufgabe 7.4: berechnet Kreisumfang und -fläche
% [umf, F] = KreisInput()
% Radius wird von der Tastatur eingelesen
% Einlesen des Radius von der Tastatur
r = input( 'Bitte Radius eingeben: ' );
% Berechnung des Umfangs aus dem Eingabewert und Rückgabe
umf = 2 * pi * r;
F = pi * r * r;
% Ausgabe des Ergebnisses auf dem Bildschirm
fprintf( 'Der Umfang zum Radius %g ist: %g \n', [r, umf] );
fprintf( 'Die Fläche zum Radius %g ist: %g \n', [r, F] );
end
|
→ MATLAB® Befehlsübersicht
→ zurück zum Hauptartikel: BSE Modellierung und Simulation - SoSe25