Methoden der Medizintechnik Übung zur Vorlesung 000000 000001 000010 000011 000100 000101 000110 000111 001000 001001 001010 001011 001100 001101 001110 001111 010000 010001 010010 010011 010100 010101 010110 010111 011000 011001 011010 011011 011100 011101 011110 011111 100000 100001 100010 100011 100100 100101 100110 100111 101000 101001 101010 101011 101100 101101 101110 101111 110000 110001 110010 110011 110100 110101 110110 110111 111000 111001 111010 111011 111100 111101 111110 111111 000000 000001 glasser@ovgu.de knueppel@ovgu.de Folge 3 – Basics II Funktionen mit Rückgabewerten
Inhalte und Ziele der Übung Wiederholung: Funktionen, For-Schleifen Funktionen mit Rückgabewert Wie Computer rechnen: Das Duale Zahlensystem Aufgabe 2 & 3: Funktionen mit Rückgabewert
Wiederholung (1/2): For-Schleifen Variable index zählt von 1 bis 5 x = 1:5; for index = 1:5 y(index) = -1 * x(index); end plot(x,y); Zugriff auf n.tes Element in Matrix y bzw. x
Wiederholung (2/2): Funktionen Datei „meineQuadratFunktion.m“ (Editor): function meineQuadratFunktion(x) y = x * x; disp(y); end „Parameter“ Ausführen der gespeicherten Funktion in der Konsole: meineQuadratFunktion(5) >> y = 25
2. Neu: Funktionen mit Rückgabewert Datei „funktionMitRueckgabe.m“ (Editor): function [rueckgabe] = funktionMitRueckgabe(x) rueckgabe = x * x; end „Parameter“ Ausführen der gespeicherten Funktion in der Konsole: disp(funktionMitRueckgabe(5)) >> 25
2. Wozu Funktionen mit Rückgabe? Komplexeres Beispiel. function [ausgabe] = meineInverse(eingabe) for index = eingabe ausgabe(index) = -1 * eingabe(index); end x = 1:5; plot(x,meineInverse(x));
3. Anwendung: Das Duale Zahlensystem Unser gewohntes Zahlensystem: Jede Stelle eine Zehnerpotenz: 7459 = 9 * 10^0 = 9 + 5 * 10^1 + 50 + 4 * 10^2 + 400 + 7 * 10^3 + 7000 Duales („binäres“) Zahlensystem: Jede Stelle eine 2er-Potenz: 1101 = 1 * 2^0 = 1 + 0 * 2^1 + 0 + 1 * 2^2 + 4 + 1 * 2^3 + 8 = 13
Modulo 10 „modulo“ 8 = 2 y = myDez2Bin(5) y >> y = 101 4. Übungsaufgaben Aufgabe 2. Schreibe eine Funktion myDez2Bin(n), die eine positive Ganzzahl in das binäre Zahlensystem umwandelt, also z.B. y = myDez2Bin(5) y >> y = 101 Aufgabe 3. Schreibe eine Funktion myAddBin(n,m), die zwei binäre Zahlen addiert. y = myAddBin(10,11) Zusatzaufgabe. Schreibe eine Funktion die eine Binärzahl in eine Dezimalzahl umwandelt. Modulo 10 „modulo“ 8 = 2