Informatik 1 Programmieren in MATLAB Georg Richter

Ähnliche Dokumente
Praktikum Ingenieurinformatik. Termin 2a. Schleifen und Verzweigungen in C und mit MATLAB

Übung zu Einführung in die Informatik # 11

4. Gemischte Schaltungen

WiMa-Praktikum 1. Woche 8

Logarithmische Skalen

Abgabe: (vor 12 Uhr)

Parallele und funktionale Programmierung Wintersemester 2016/ Übung Abgabe bis , 16:00 Uhr

Prof. W. Hillen, Medizinische Informatik FH - AC (Jülich), Phys. Technik / Bio.Med. Technik. EDV - Praktikum (4)

Kontrollstrukturen. Verzweigungen Einfache Mehrfache Wiederholungen Eine Sequenz durchlaufen Wiederhole bis Solange. Tue

DHBW Karlsruhe, Angewandte Informatik Programmieren in JAVA W. Geiger, T. Schlachter, C. Schmitt, W.

Praktikum Ingenieurinformatik. Termin 4. Funktionen, numerische Integration

Methode der kleinsten Quadrate

Zufallszahlen Mathematik zum Nachbilden von Zufälligkeit SommerUni 2013 Bergische Universität Wuppertal Autor: Prof. Dr.

Elektrische Grundlagen der Informationstechnik. Laborprotokoll: Nichtlineare Widerstände

Grundlagen der Theoretischen Informatik: Übung 10

Ingenieurinformatik II Numerik für Ingenieure Teil 2

Die Zahl ist: (z 2, z 1, z 0 ) (z ) : 7 = 0 Rest z 2

Struktogramme. (6.) Ermitteln Sie den Wert von a und b aus dem Struktogramm: Struktogramme S. 1/3

Struktogramme II. Struktogramme S. 1/5

Wissenschaftliches Rechnen

Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2017/18. Vorbereitende Aufgaben

Numerische Verfahren und Grundlagen der Analysis

Übungen mit dem Applet Zentraler Grenzwertsatz

2. Hausübung Algorithmen und Datenstrukturen

Theoretische Grundlagen der Informatik

Elektrotechnik Protokoll - Nichtlineare Widerstände

3.3 Laufzeit von Programmen

Daraus ergibt sich: Eine Steigerung der Lokal-Magnitude um 1 entspricht einer Verzehnfachung des Ausschlags (denn 10 + M

KISSsys Anwendung: Biegekritische Drehzahlen, Kennlinienerstellung

Das Problem des Handlungsreisenden

Auf- und Entladung eines Kondensators

Wachstumsprozesse. Natürliches Wachstum Größenbeschränktes Wachstum Logistisches Wachstum Differenzialgleichungen

Übungen zu gewöhnlichen Differentialgleichungen Lösungen zu Übung 23

5. Anwendungsaufgaben

a) In einer Reihenschaltung gilt: R g = R 1 + R 2 + R 3 = 11, 01 MΩ Der Gesamtstrom ist dann nach dem Ohm schen Gesetz (U g = R g I g ): I g = Ug

Kontrollstrukturen und Logik

Strukturierte Programmentwicklung

Parallelschaltung von Widerständen

MATLAB-Tutorium WS18 Nathalie Marion Frieß

Das zyklische Wachstum wird mit Hilfe trigonometrischer Funktionen - meist der Sinusfunktion. f(x) = a sin(bx + c) + d.

Übung zur Numerik linearer und nichtlinearer Parameterschätzprobleme A. Franke-Börner, M. Helm

Programmieren in MATLAB Mehr als nur ein Taschenrechner

Klausur Algorithmentheorie

Vom Leichtesten zum Schwersten Sortieralgorithmen

Klausur Algorithmentheorie

Analoge Schnittstellen

Berechnen Sie die Körpergröße eines Mannes, dessen Oberschenkelknochen eine Länge von 50 cm aufweist!

4. Kombinatorik *) In der Kombinatorik werden drei wichtige Symbole benötigt: o n! o (n) k o

Einfache Bedingte Ausführung

6 Schaltwerke und endliche Automaten

Zentralabitur 2007 Physik Schülermaterial Aufgabe II LK Bearbeitungszeit: 300 min

a) Geben Sie eine Formel an, mit deren Hilfe man ermitteln kann, wie viel Wasser der Teich nach x regenlosen Tagen enthält!

10 Zeit in Milliarden Jahren

Aufnahmeprüfung 2014 LÖSUNGEN Mathematik Serie 5 (60 Min.)

Arbeiten mit Funktionen

Zeitreihenanalyse Das Holt-Winters-Verfahren

Übungsklausur Lineare Algebra

Bernd-Blindow-Schulen Friedrichshafen / IKA 9/ Klausur Programmiertechnik-Praxis (1. Sem.)

3.3 Absenkungsverlauf

Grundlegende Programmstrukturen sind Sequenzen, Schleifen und Entscheidungen.

Theoretische Grundlagen der Informatik

5. Elementare Befehle und Struktogramme

Primzahlen und Programmieren

Übungsserie, Operationsverstärker 3 Verstärkerschaltungen

Wiederholungen Wachstumsfunktionen IGS List

15. Elementare Graphalgorithmen

Hochschule München, FK 03 FA WS 2010/11. Ingenieurinformatik

1 Elektrotechnik. 1.1 Schaltungsbeispiele mit idealen Spannungs- und Stromquellen zur Vereinfachung oder Komplexitätserhöhung von Aufgaben

Ordnen Sie die folgenden Funktionen nach ihrer asymptotischer Komplexität in aufsteigender Reihenfolge: i=1 4i + n = 4 n. i=1 i + 3n = 4 ( n(n+1)

Imperatives Problemlösen in Java

Ziele sind das Arbeiten mit Funktionen (Modularisierung, Parameterübergabe), sowie - Reihentyp (Array)

Konzepte der Informatik

TGI-Übung Dirk Achenbach

6 Bestimmung linearer Funktionen

Ordnen Sie die folgenden Funktionen nach ihrer asymptotischer Komplexität in aufsteigender Reihenfolge: i=1 4i + n = 4 n. i=1 i + 3n = 4 ( n(n+1)

3: Primzahlen. 111 S. Lucks Diskr Strukt. (WS 18/19) 3: Primzahlen

int i=1; //Integerzahl i anlegen und mit 1 initialisieren float wert; //Floatzahl deklarieren scanf( %f,&wert); //Wert über Tastatur eingeben

Übung 04 Mehrkörper Keplerproblem

Übungen mit dem Applet Wahrscheinlichkeitsnetz

2. Übung: Berechnung der Ströme und Spannungen in linearen Zweipolnetzwerken

1. Die rekursive Datenstruktur Liste

Schaltungen mit mehreren Widerständen

4. Funktionen und Relationen

Schritt 1: Bedeutung rationale bzw. irrationale Zahl klären

Transkript:

Informatik Programmieren in MATLAB Georg Richter Aufgabe 8: Bierschaumzerfall (zum Auf- und Erwärmen) Für manch einen (selbstverständlich nicht für jeden) gilt an heißen Tagen eine maßvoll gefüllte Hopfenkaltschale als ein nicht zu unterschätzender Beitrag zur Steigerung der Lebensqualität. Der langsame Zerfallsprozess der einst stattlichen Schaumkrone dieses gesunden Getränks kennzeichnet nicht nur fortschreitende Konsumbereitschaft, sondern lässt sich sogar (im großen und ganzen) berechnen, da er mit dem radioaktiven Zerfall eine interessante Gemeinsamkeit hat: beide laufen nach derselben Gesetzmäßigkeit ab (womit die Gemeinsamkeiten aber auch schon erschöpft sein dürften). Das den Zerfallsprozess beschreibende Gesetz hat folgende Gestalt: ln t _ ende = t _ halb ( h _ ende) ln( ln( 2) ) h _ 0 ln ist dabei der natürliche Logarithmus, d.h. der Logarithmus zur Basis e. Zur Erinnerung: Die benötigte Logarithmus-Funktion heißt in MATLAB log. Weiterhin ist t_halb: Halbwertszeit, d.h. die Zeit, in der die Hälfte der Schaumkrone zerfallen ist [in s] h_0: die Anfangshöhe der Krone [in cm] h_ende: die Höhe, wenn nur noch eine Lage Bläschen übrig ist (also kurz vor dem endgültigen Aus): Meßwert 0,002 m = 0,2cm t_ende: die Zeit des Zerfalls vom Beginn mit Schaumkrone der Höhe h_0 bis Höhe h_ende In selbstlosen Freilandversuchen wurden im Dienste der Wissenschaft in Abhängigkeit von der Biersorte für sparsame 0,4-Liter-Gläser folgende Halbwertszeiten empirisch ermittelt: Weizenbier: 60 s Pils 75 s Dunkelbier 90 s Weitere Sorten konnten leider nicht berücksichtigt werden.

Schreiben Sie ein Programm, daß in Abhängigkeit von der gewählten Biersorte und Anfangshöhe der Schaumkrone als Ergebnis die Zerfallszeit t_ende ausgibt. Programmorganisation: Bevor die eigentliche Berechnung stattfindet, ist viel Verwaltungsarbeit zu erledigen, um das Programm einigermaßen komfortabel zu gestalten. Zunächst wird der Benutzer gefragt, welche Biersorte er wünscht. Als Auswahl stehen die drei Sorten zur Verfügung:. Weizen 2. Pils 3. Dunkel 0: er mag gar kein Bier das Programm versucht s dann gar nicht erst weiter und bricht ab. Sichern Sie bei der Auswahl so ab, dass erlaubte Eingabewerte wirklich nur die Zahlen 0,, 2 oder 3 sind. Bei falscher Eingabe also um Wiederholung bitten oder bei Eingabe 0 beenden. Sofern die Sorte gewählt wurde (diese also insbesondere von Null verschieden ist), erkundigt sich das Programm als nächstes nach der Anfangshöhe der Schaumkrone in Zentimetern. Dann ermitteln Sie (endlich) in Abhängigkeit der gewählten Sorte die dazugehörige Halbwertszeit und berechnen die Zerfallszeit. Diese geben Sie dann mit einem netten Antwortsatz aus. Zu guter Letzt fragt das Programm den Anwender auf erneuten Durchlauf. Wenn gewünscht, startet es erneut, wenn nein, wird es wie im Fall der Auswahl Sorte 0 beendet. Variation zur Aufgabenstellung (optional): Wenn in der Vorlesung bereits Function-Files besprochen worden sein sollten, lagern Sie die (der Übung wegen) die eigentliche Berechnung der Zerfallszeit in eine Funktion aus: function t = zerfall (sorte, hoehe) 2

Aufgabe 9 Approximation eines Widerstandes. Es ist ein MATLAB-Programm zu entwickeln, daß folgendes Problem löst: Ein beliebiger Widerstand im Bereich von 0.5 Ohm bis Megaohm soll durch folgende Schaltung aus 3 Normwiderständen (R, R, R ) hergestellt werden: 2 3 Es stehen folgende Normwiderstände der Reihe E2 zur Verfügung:.2,.5,.8, 2.2, 2.7, 3.3, 3.9, 4.7, 5.6, 6.8, 8.2, 0 Ohm, usw. bis MOhm. Ihr Programm fragt den Eingeber nach dem Wunschwiderstand (in Ohm), der durch die obige Schaltung möglichst genau mittels der Normwiderstände ermittelt werden soll. Danach ermittelt es die optimale Zusammensetzung der drei Normwiderstände; optimal bedeutet, daß der Gesamtwiderstand der drei Normwiderstände möglichst dicht am Wunschwiderstand liegt. Möglichst dicht kann bedeuten, daß er etwas größer als der Wunschwiderstand ist oder etwas kleiner jedoch der Abstand dazu eben minimal ist. Diese optimale Kombination gibt das Programm aus mit der zusätzlichen Information, wie groß der Gesamtwiderstand der drei bestimmten Normwiderstände ist und wie viel die prozentuale Abweichung zum Wunschwiderstand beträgt (also Verhältnis ermittelter Gesamtwiderstand zu Wunschwiderstand). Dann fragt anschließend, ob noch ein weiterer Durchlauf gewünscht wird. Wenn nein, wird es beendet. Eine Primitivlösung ist, einfach drei Schleifen zu schreiben, die alle möglichen Kombinationen durchgeht. Diese sollen Sie hier realisieren (und damit Schleifen üben). Wenn Ihnen die langsame Lösung zu langsam ist es gibt eine Variante. Siehe nächste Aufgabe. 3

Aufgabe 0 (for freaks only) noch mal die Schaltung aus Aufgabe 9 Sie werden sicherlich bei Lösen der Aufgabe 9 bemerkt haben, dass die Durchlaufzeit eines Programmablaufs recht lange dauert. Daher ist eine effizientere Lösung sicher angebracht. Diese können Sie jetzt implementieren. Eine solche Lösung besteht darin, daß man das Problem zunächst auf ein analoges Teilproblem zerlegt, dieses löst und mit der ermittelten Lösung des Teilproblems zum Ausgangsproblem zurückkehrt. Eingegeben ist also der Wunschwiderstand R W ; man gibt dann einen geeigneten Wert für R vor und betrachtet R 2 und R 3 als einen kompletten Widerstand R23, d.h. im Grunde die Schaltung: : Wenn R vorgegeben ist, läßt sich mittels + 23 R R23 R W = der (exakte) Gesamtwiderstand R bestimmen. Danach betrachtet man statt des Ausgangsproblems die Teilschaltung: Welche Kombination von R 2 und R 3 ist die optimale, um möglichst dicht an R23 heranzukommen? Dies ist vergleichsweise einfach, da in Reihe geschaltete Widerstände sich addieren. Hat man eine solche Kombination von R und R 2 3 gefunden, berechnet man den Gesamtwiderstand und vergleicht diesen mit dem ursprünglichen Wunschwiderstand R W. Dann betrachtet man den nächsten Normwiderstand für R und wiederholt das Verfahren. R durchläuft also alle 4

Normwiderstände von einem geeigneten Startwert bis zum Maximalwert MOhm (was übrigens hier eine willkürliche Festlegung ist. Es gibt größere Normwiderstände. Wer Lust hat, kann gerne die Liste erweitern...). Als geeigneten Startwert für R kann man den Wunschwiderstand Rw wählen. Hier ist es empfehlenswert, vor der eigentlichen Programmierarbeit ein Struktogramm zu erstellen man geht sonst sehr schnell in die Irre. 5